mirror of
https://github.com/nextcloud/server.git
synced 2026-06-08 00:02:54 -04:00
Merge pull request #49216 from nextcloud/backport/49209/stable30
[stable30] fix(app-store): Add back legacy store API used for update and removal
This commit is contained in:
commit
e517e7d5fa
8 changed files with 36 additions and 28 deletions
|
|
@ -140,10 +140,12 @@
|
|||
|
||||
<script>
|
||||
import { subscribe, unsubscribe } from '@nextcloud/event-bus'
|
||||
import AppItem from './AppList/AppItem.vue'
|
||||
import pLimit from 'p-limit'
|
||||
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
|
||||
import AppItem from './AppList/AppItem.vue'
|
||||
import AppManagement from '../mixins/AppManagement'
|
||||
import { useAppApiStore } from '../store/app-api-store'
|
||||
import { useAppsStore } from '../store/apps-store'
|
||||
|
||||
export default {
|
||||
name: 'AppList',
|
||||
|
|
@ -152,6 +154,8 @@ export default {
|
|||
NcButton,
|
||||
},
|
||||
|
||||
mixins: [AppManagement],
|
||||
|
||||
props: {
|
||||
category: {
|
||||
type: String,
|
||||
|
|
@ -161,8 +165,11 @@ export default {
|
|||
|
||||
setup() {
|
||||
const appApiStore = useAppApiStore()
|
||||
const store = useAppsStore()
|
||||
|
||||
return {
|
||||
appApiStore,
|
||||
store,
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,10 @@
|
|||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import VTooltip from 'v-tooltip'
|
||||
import Vuex from 'vuex'
|
||||
import VTooltipPlugin from 'v-tooltip'
|
||||
import { sync } from 'vuex-router-sync'
|
||||
import { translate as t, translatePlural as n } from '@nextcloud/l10n'
|
||||
import { t, n } from '@nextcloud/l10n'
|
||||
|
||||
import SettingsApp from './views/SettingsApp.vue'
|
||||
import router from './router/index.ts'
|
||||
|
|
@ -14,11 +15,6 @@ import { useStore } from './store/index.js'
|
|||
import { getCSPNonce } from '@nextcloud/auth'
|
||||
import { PiniaVuePlugin, createPinia } from 'pinia'
|
||||
|
||||
Vue.use(VTooltip, { defaultHtml: false })
|
||||
|
||||
const store = useStore()
|
||||
sync(store, router)
|
||||
|
||||
// CSP config for webpack dynamic chunk loading
|
||||
// eslint-disable-next-line camelcase
|
||||
__webpack_nonce__ = getCSPNonce()
|
||||
|
|
@ -26,9 +22,16 @@ __webpack_nonce__ = getCSPNonce()
|
|||
// bind to window
|
||||
Vue.prototype.t = t
|
||||
Vue.prototype.n = n
|
||||
Vue.use(PiniaVuePlugin)
|
||||
|
||||
// Setup Vue plugins
|
||||
Vue.use(PiniaVuePlugin)
|
||||
Vue.use(VTooltipPlugin, { defaultHtml: false })
|
||||
Vue.use(Vuex)
|
||||
|
||||
// Setup stores
|
||||
const pinia = createPinia()
|
||||
const store = useStore()
|
||||
sync(store, router)
|
||||
|
||||
export default new Vue({
|
||||
router,
|
||||
|
|
|
|||
|
|
@ -210,15 +210,16 @@ export default {
|
|||
.catch((error) => { showError(error) })
|
||||
}
|
||||
},
|
||||
remove(appId, removeData = false) {
|
||||
if (this.app?.app_api) {
|
||||
this.appApiStore.uninstallApp(appId, removeData)
|
||||
.then(() => { rebuildNavigation() })
|
||||
.catch((error) => { showError(error) })
|
||||
} else {
|
||||
this.$store.dispatch('appApiApps/uninstallApp', { appId, removeData })
|
||||
.then((response) => { rebuildNavigation() })
|
||||
.catch((error) => { showError(error) })
|
||||
async remove(appId, removeData = false) {
|
||||
try {
|
||||
if (this.app?.app_api) {
|
||||
await this.appApiStore.uninstallApp(appId, removeData)
|
||||
} else {
|
||||
await this.$store.dispatch('uninstallApp', { appId, removeData })
|
||||
}
|
||||
await rebuildNavigation()
|
||||
} catch (error) {
|
||||
showError(error)
|
||||
}
|
||||
},
|
||||
install(appId) {
|
||||
|
|
|
|||
|
|
@ -3,16 +3,13 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex, { Store } from 'vuex'
|
||||
import { Store } from 'vuex'
|
||||
import users from './users.js'
|
||||
import apps from './apps.js'
|
||||
import settings from './users-settings.js'
|
||||
import oc from './oc.js'
|
||||
import { showError } from '@nextcloud/dialogs'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
const debug = process.env.NODE_ENV !== 'production'
|
||||
|
||||
const mutations = {
|
||||
|
|
|
|||
4
dist/settings-apps-view-4529.js
vendored
4
dist/settings-apps-view-4529.js
vendored
File diff suppressed because one or more lines are too long
2
dist/settings-apps-view-4529.js.map
vendored
2
dist/settings-apps-view-4529.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue