feat: move page
This commit is contained in:
		| @@ -24,6 +24,7 @@ | ||||
|             v-card-text.pt-0 | ||||
|               template(v-for='(pm, idx) in pmGroup.items') | ||||
|                 v-checkbox.pt-0( | ||||
|                   style='justify-content: space-between;' | ||||
|                   :key='pm.permission' | ||||
|                   :label='pm.permission' | ||||
|                   :hint='pm.hint' | ||||
| @@ -60,14 +61,14 @@ export default { | ||||
|             }, | ||||
|             { | ||||
|               permission: 'write:pages', | ||||
|               hint: 'Can create new pages, as specified in the Page Rules', | ||||
|               hint: 'Can create / edit pages, as specified in the Page Rules', | ||||
|               warning: false, | ||||
|               restrictedForSystem: false, | ||||
|               disabled: false | ||||
|             }, | ||||
|             { | ||||
|               permission: 'manage:pages', | ||||
|               hint: 'Can edit and move existing pages as specified in the Page Rules', | ||||
|               hint: 'Can move existing pages as specified in the Page Rules', | ||||
|               warning: false, | ||||
|               restrictedForSystem: false, | ||||
|               disabled: false | ||||
|   | ||||
| @@ -105,7 +105,7 @@ | ||||
|             v-icon(left) mdi-code-tags | ||||
|             span Source | ||||
|           v-divider.mx-2(vertical) | ||||
|           v-btn(color='primary', text, :href='`/h/` + page.locale + `/` + page.path') | ||||
|           v-btn(color='primary', text, :href='`/h/` + page.locale + `/` + page.path', disabled) | ||||
|             v-icon(left) mdi-history | ||||
|             span History | ||||
|           v-spacer | ||||
|   | ||||
| @@ -3,6 +3,12 @@ | ||||
|     v-toolbar(flat, color='primary', dark, dense) | ||||
|       .subtitle-1 {{ $t('admin:utilities.contentTitle') }} | ||||
|     v-card-text | ||||
|       .subtitle-1.pb-3.primary--text Rebuild Page Tree | ||||
|       .body-2 The virtual structure of your wiki is automatically inferred from all page paths. You can trigger a full rebuild of the tree if some virtual folders are missing or not valid anymore. | ||||
|       v-btn(outlined, color='primary', @click='rebuildTree', :disabled='loading').ml-0.mt-3 | ||||
|         v-icon(left) mdi-gesture-double-tap | ||||
|         span Proceed | ||||
|       v-divider.my-5 | ||||
|       .subtitle-1.pb-3.pl-0.primary--text Migrate all pages to target locale | ||||
|       .body-2 If you created content before selecting a different locale and activating the namespacing capabilities, you may want to transfer all content to the base locale. | ||||
|       .body-2.red--text: strong This operation is destructive and cannot be reversed! Make sure you have proper backups! | ||||
| @@ -35,6 +41,7 @@ | ||||
| <script> | ||||
| import _ from 'lodash' | ||||
| import utilityContentMigrateLocaleMutation from 'gql/admin/utilities/utilities-mutation-content-migratelocale.gql' | ||||
| import utilityContentRebuildTreeMutation from 'gql/admin/utilities/utilities-mutation-content-rebuildtree.gql' | ||||
|  | ||||
| /* global siteLangs, siteConfig */ | ||||
|  | ||||
| @@ -55,7 +62,32 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     async migrateToLocale() { | ||||
|     async rebuildTree () { | ||||
|       this.loading = true | ||||
|       this.$store.commit(`loadingStart`, 'admin-utilities-content-rebuildtree') | ||||
|  | ||||
|       try { | ||||
|         const respRaw = await this.$apollo.mutate({ | ||||
|           mutation: utilityContentRebuildTreeMutation | ||||
|         }) | ||||
|         const resp = _.get(respRaw, 'data.pages.rebuildTree.responseResult', {}) | ||||
|         if (resp.succeeded) { | ||||
|           this.$store.commit('showNotification', { | ||||
|             message: 'Page Tree rebuilt successfully.', | ||||
|             style: 'success', | ||||
|             icon: 'check' | ||||
|           }) | ||||
|         } else { | ||||
|           throw new Error(resp.message) | ||||
|         } | ||||
|       } catch (err) { | ||||
|         this.$store.commit('pushGraphError', err) | ||||
|       } | ||||
|  | ||||
|       this.$store.commit(`loadingStop`, 'admin-utilities-content-rebuildtree') | ||||
|       this.loading = false | ||||
|     }, | ||||
|     async migrateToLocale () { | ||||
|       this.loading = true | ||||
|       this.$store.commit(`loadingStart`, 'admin-utilities-content-migratelocale') | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user