1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <template lang='pug'>
- v-container(fluid, grid-list-lg)
- v-layout(row, wrap)
- v-flex(xs12)
- .admin-header
- img(src='/_assets/svg/icon-maintenance.svg', alt='Utilities', style='width: 80px;')
- .admin-header-title
- .headline.primary--text {{$t('admin:utilities.title')}}
- .subtitle-1.grey--text {{$t('admin:utilities.subtitle')}}
- v-flex(lg3, xs12)
- v-card.animated.fadeInUp
- v-toolbar(flat, color='primary', dark, dense)
- .subtitle-1 {{$t('admin:utilities.tools')}}
- v-list(two-line, dense).py-0
- template(v-for='(tool, idx) in tools')
- v-list-item(:key='tool.key', @click='selectedTool = tool.key', :disabled='!tool.isAvailable')
- v-list-item-avatar
- v-icon(:color='!tool.isAvailable ? `grey lighten-1` : (selectedTool === tool.key ? `blue ` : `grey darken-1`)') {{ tool.icon }}
- v-list-item-content
- v-list-item-title.body-2(:class='!tool.isAvailable ? `grey--text` : (selectedTool === tool.key ? `primary--text` : ``)') {{ $t('admin:utilities.' + tool.i18nKey + 'Title') }}
- v-list-item-subtitle: .caption(:class='!tool.isAvailable ? `grey--text text--lighten-1` : (selectedTool === tool.key ? `blue--text ` : ``)') {{ $t('admin:utilities.' + tool.i18nKey + 'Subtitle') }}
- v-list-item-avatar(v-if='selectedTool === tool.key')
- v-icon.animated.fadeInLeft(color='primary', large) mdi-chevron-right
- v-divider(v-if='idx < tools.length - 1')
- v-flex.animated.fadeInUp.wait-p2s(xs12, lg9)
- transition(name='admin-router')
- component(:is='selectedTool')
- </template>
- <script>
- export default {
- components: {
- UtilityAuth: () => import(/* webpackChunkName: "admin" */ './admin-utilities-auth.vue'),
- UtilityContent: () => import(/* webpackChunkName: "admin" */ './admin-utilities-content.vue'),
- UtilityCache: () => import(/* webpackChunkName: "admin" */ './admin-utilities-cache.vue'),
- UtilityExport: () => import(/* webpackChunkName: "admin" */ './admin-utilities-export.vue'),
- UtilityImportv1: () => import(/* webpackChunkName: "admin" */ './admin-utilities-importv1.vue'),
- UtilityTelemetry: () => import(/* webpackChunkName: "admin" */ './admin-utilities-telemetry.vue')
- },
- data() {
- return {
- selectedTool: 'UtilityAuth',
- tools: [
- {
- key: 'UtilityAuth',
- icon: 'mdi-lock-open-outline',
- i18nKey: 'auth',
- isAvailable: true
- },
- {
- key: 'UtilityContent',
- icon: 'mdi-content-duplicate',
- i18nKey: 'content',
- isAvailable: true
- },
- {
- key: 'UtilityExport',
- icon: 'mdi-database-export',
- i18nKey: 'export',
- isAvailable: true
- },
- {
- key: 'UtilityCache',
- icon: 'mdi-database-refresh',
- i18nKey: 'cache',
- isAvailable: true
- },
- // {
- // key: 'UtilityGraphEndpoint',
- // icon: 'mdi-graphql',
- // i18nKey: 'graphEndpoint',
- // isAvailable: false
- // },
- {
- key: 'UtilityImportv1',
- icon: 'mdi-database-import',
- i18nKey: 'importv1',
- isAvailable: true
- },
- {
- key: 'UtilityTelemetry',
- icon: 'mdi-math-compass',
- i18nKey: 'telemetry',
- isAvailable: true
- }
- ]
- }
- }
- }
- </script>
- <style lang='scss'>
- </style>
|