From 0d6562cca4aec785327ec2a7669d678cf632878d Mon Sep 17 00:00:00 2001 From: NGPixel Date: Sun, 5 Jan 2020 17:40:28 -0500 Subject: [PATCH] feat: admin utilities - rerender all pages --- client/components/admin.vue | 4 +- .../admin/admin-utilities-content.vue | 116 ++++++++++++++++++ server/graph/resolvers/page.js | 17 +++ server/graph/schemas/page.graphql | 4 + 4 files changed, 139 insertions(+), 2 deletions(-) diff --git a/client/components/admin.vue b/client/components/admin.vue index b5ebcee3..dd8d1f52 100644 --- a/client/components/admin.vue +++ b/client/components/admin.vue @@ -86,8 +86,8 @@ v-list-item(to='/mail', color='primary', v-if='hasPermission(`manage:system`)') v-list-item-avatar(size='24'): v-icon mdi-email-multiple-outline v-list-item-title {{ $t('admin:mail.title') }} - v-list-item(to='/ssl', color='primary', v-if='hasPermission(`manage:system`)') - v-list-item-avatar(size='24'): v-icon mdi-cloud-lock-outline + v-list-item(to='/ssl', v-if='hasPermission(`manage:system`)', disabled) + v-list-item-avatar(size='24'): v-icon(color='grey lighten-2') mdi-cloud-lock-outline v-list-item-title {{ $t('admin:ssl.title') }} v-list-item(to='/system', color='primary', v-if='hasPermission(`manage:system`)') v-list-item-avatar(size='24'): v-icon mdi-tune diff --git a/client/components/admin/admin-utilities-content.vue b/client/components/admin/admin-utilities-content.vue index c99491ba..e5003fba 100644 --- a/client/components/admin/admin-utilities-content.vue +++ b/client/components/admin/admin-utilities-content.vue @@ -9,6 +9,35 @@ v-icon(left) mdi-gesture-double-tap span Proceed v-divider.my-5 + .subtitle-1.pb-3.primary--text Rerender All Pages + .body-2 All pages will be rendered again. Useful if internal links are broken or the rendering pipeline has changed. + v-btn(outlined, color='primary', @click='rerenderPages', :disabled='loading', :loading='isRerendering').ml-0.mt-3 + v-icon(left) mdi-gesture-double-tap + span Proceed + v-dialog( + v-model='isRerendering' + persistent + max-width='450' + ) + v-card(color='blue darken-2', dark) + v-card-text.pa-10.text-center + semipolar-spinner.animated.fadeIn( + :animation-duration='1500' + :size='65' + color='#FFF' + style='margin: 0 auto;' + ) + .mt-5.body-1.white--text Rendering all pages... + .caption(v-if='renderIndex > 0') Rendering {{renderCurrentPath}}... ({{renderIndex}}/{{renderTotal}}, {{renderProgress}}%) + .caption.mt-4 Do not leave this page. + v-progress-linear.mt-5( + color='white' + :value='renderProgress' + stream + rounded + :buffer-value='0' + ) + 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! @@ -40,15 +69,26 @@