summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package-lock.json82
-rw-r--r--package.json1
-rw-r--r--src/main.js5
-rw-r--r--src/mainFilesSidebar.js6
-rw-r--r--src/mainPublicShareAuthSidebar.js5
-rw-r--r--src/mainPublicShareSidebar.js5
-rw-r--r--src/mainRecording.js5
7 files changed, 107 insertions, 2 deletions
diff --git a/package-lock.json b/package-lock.json
index 9558e528a..d2200a814 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -37,6 +37,7 @@
"lodash": "^4.17.21",
"mockconsole": "0.0.1",
"nextcloud-vue-collections": "^0.11.1",
+ "pinia": "^2.1.4",
"ua-parser-js": "^1.0.35",
"util": "^0.12.5",
"vue": "^2.7.14",
@@ -4246,6 +4247,11 @@
"url": "https://opencollective.com/postcss/"
}
},
+ "node_modules/@vue/devtools-api": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
+ "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
+ },
"node_modules/@vue/eslint-config-typescript": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.2.tgz",
@@ -13908,6 +13914,56 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pinia": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.4.tgz",
+ "integrity": "sha512-vYlnDu+Y/FXxv1ABo1vhjC+IbqvzUdiUC3sfDRrRyY2CQSrqqaa+iiHmqtARFxJVqWQMCJfXx1PBvFs9aJVLXQ==",
+ "dependencies": {
+ "@vue/devtools-api": "^6.5.0",
+ "vue-demi": ">=0.14.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.4.0",
+ "typescript": ">=4.4.4",
+ "vue": "^2.6.14 || ^3.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ },
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pinia/node_modules/vue-demi": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
+ "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
"node_modules/pirates": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
@@ -16499,7 +16555,7 @@
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
- "dev": true,
+ "devOptional": true,
"peer": true,
"bin": {
"tsc": "bin/tsc",
@@ -21170,6 +21226,11 @@
}
}
},
+ "@vue/devtools-api": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
+ "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
+ },
"@vue/eslint-config-typescript": {
"version": "11.0.2",
"resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.2.tgz",
@@ -28388,6 +28449,23 @@
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
+ "pinia": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.4.tgz",
+ "integrity": "sha512-vYlnDu+Y/FXxv1ABo1vhjC+IbqvzUdiUC3sfDRrRyY2CQSrqqaa+iiHmqtARFxJVqWQMCJfXx1PBvFs9aJVLXQ==",
+ "requires": {
+ "@vue/devtools-api": "^6.5.0",
+ "vue-demi": ">=0.14.5"
+ },
+ "dependencies": {
+ "vue-demi": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
+ "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
+ "requires": {}
+ }
+ }
+ },
"pirates": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz",
@@ -30359,7 +30437,7 @@
"version": "4.9.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
- "dev": true,
+ "devOptional": true,
"peer": true
},
"ua-parser-js": {
diff --git a/package.json b/package.json
index 4def10f04..6ceaa865c 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,7 @@
"lodash": "^4.17.21",
"mockconsole": "0.0.1",
"nextcloud-vue-collections": "^0.11.1",
+ "pinia": "^2.1.4",
"ua-parser-js": "^1.0.35",
"util": "^0.12.5",
"vue": "^2.7.14",
diff --git a/src/main.js b/src/main.js
index 99ffb8d1b..3ddbe4961 100644
--- a/src/main.js
+++ b/src/main.js
@@ -24,6 +24,7 @@
*
*/
+import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
import vOutsideEvents from 'vue-outside-events'
@@ -70,18 +71,22 @@ Vue.prototype.n = translatePlural
Vue.prototype.OC = OC
Vue.prototype.OCA = OCA
+Vue.use(PiniaVuePlugin)
Vue.use(Vuex)
Vue.use(VueRouter)
Vue.use(VueObserveVisibility)
Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] })
Vue.use(vOutsideEvents)
+const pinia = createPinia()
+
TooltipOptions.container = '#content-vue'
store.dispatch('setMainContainerSelector', '#content-vue')
const instance = new Vue({
el: '#content',
store,
+ pinia,
router,
propsData: {
fileInfo: null,
diff --git a/src/mainFilesSidebar.js b/src/mainFilesSidebar.js
index fef66ddbb..b2676ed52 100644
--- a/src/mainFilesSidebar.js
+++ b/src/mainFilesSidebar.js
@@ -24,6 +24,7 @@
*
*/
+import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
import vOutsideEvents from 'vue-outside-events'
@@ -64,20 +65,25 @@ Vue.prototype.n = translatePlural
Vue.prototype.OC = OC
Vue.prototype.OCA = OCA
+Vue.use(PiniaVuePlugin)
Vue.use(Vuex)
Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] })
Vue.use(vOutsideEvents)
Vue.use(VueObserveVisibility)
+const pinia = createPinia()
+
store.dispatch('setMainContainerSelector', '.talkChatTab')
const newCallView = () => new Vue({
store,
+ pinia,
render: h => h(FilesSidebarCallViewApp),
})
const newTab = () => new Vue({
store,
+ pinia,
id: 'talk-chat-tab',
render: h => h(FilesSidebarTabApp),
})
diff --git a/src/mainPublicShareAuthSidebar.js b/src/mainPublicShareAuthSidebar.js
index f33ee28e0..d4e6ee74d 100644
--- a/src/mainPublicShareAuthSidebar.js
+++ b/src/mainPublicShareAuthSidebar.js
@@ -18,6 +18,7 @@
*
*/
+import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
import vOutsideEvents from 'vue-outside-events'
@@ -58,11 +59,13 @@ Vue.prototype.n = translatePlural
Vue.prototype.OC = OC
Vue.prototype.OCA = OCA
+Vue.use(PiniaVuePlugin)
Vue.use(Vuex)
Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] })
Vue.use(vOutsideEvents)
Vue.use(VueObserveVisibility)
+const pinia = createPinia()
store.dispatch('setMainContainerSelector', '#talk-sidebar')
/**
@@ -127,6 +130,7 @@ function getShareToken() {
const requestPasswordVm = new Vue({
store,
+ pinia,
id: 'talk-video-verification',
propsData: {
shareToken: getShareToken(),
@@ -137,6 +141,7 @@ requestPasswordVm.$mount('#request-password')
const talkSidebarVm = new Vue({
store,
+ pinia,
...PublicShareAuthSidebar,
})
talkSidebarVm.$mount(document.querySelector('#talk-sidebar'))
diff --git a/src/mainPublicShareSidebar.js b/src/mainPublicShareSidebar.js
index 6db0c16e9..572f8767a 100644
--- a/src/mainPublicShareSidebar.js
+++ b/src/mainPublicShareSidebar.js
@@ -18,6 +18,7 @@
*
*/
+import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
import vOutsideEvents from 'vue-outside-events'
@@ -58,11 +59,14 @@ Vue.prototype.n = translatePlural
Vue.prototype.OC = OC
Vue.prototype.OCA = OCA
+Vue.use(PiniaVuePlugin)
Vue.use(Vuex)
Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] })
Vue.use(vOutsideEvents)
Vue.use(VueObserveVisibility)
+const pinia = createPinia()
+
store.dispatch('setMainContainerSelector', '#talk-sidebar')
/**
@@ -132,6 +136,7 @@ function getShareToken() {
const talkSidebarVm = new Vue({
store,
+ pinia,
id: 'talk-chat-tab',
propsData: {
shareToken: getShareToken(),
diff --git a/src/mainRecording.js b/src/mainRecording.js
index 5a323a917..d274177c2 100644
--- a/src/mainRecording.js
+++ b/src/mainRecording.js
@@ -25,6 +25,7 @@
*
*/
+import { createPinia, PiniaVuePlugin } from 'pinia'
import Vue from 'vue'
import VueObserveVisibility from 'vue-observe-visibility'
import vOutsideEvents from 'vue-outside-events'
@@ -72,12 +73,15 @@ Vue.prototype.n = translatePlural
Vue.prototype.OC = OC
Vue.prototype.OCA = OCA
+Vue.use(PiniaVuePlugin)
Vue.use(Vuex)
Vue.use(VueRouter)
Vue.use(VueObserveVisibility)
Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] })
Vue.use(vOutsideEvents)
+const pinia = createPinia()
+
TooltipOptions.container = '#call-container'
store.dispatch('setMainContainerSelector', '#call-container')
@@ -90,6 +94,7 @@ if (!window.OCA.Talk) {
const instance = new Vue({
el: '#content',
store,
+ pinia,
router,
render: h => h(Recording),
})