diff options
-rw-r--r-- | package-lock.json | 82 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | src/main.js | 5 | ||||
-rw-r--r-- | src/mainFilesSidebar.js | 6 | ||||
-rw-r--r-- | src/mainPublicShareAuthSidebar.js | 5 | ||||
-rw-r--r-- | src/mainPublicShareSidebar.js | 5 | ||||
-rw-r--r-- | src/mainRecording.js | 5 |
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), }) |