feat: admin utilities + telemetry UI, criterias-item component

This commit is contained in:
NGPixel 2018-04-01 02:06:55 -04:00
parent 38347bc88d
commit a88f8e6b9c
3 changed files with 102 additions and 13 deletions

View File

@ -30,15 +30,6 @@
v-toolbar-title
.subheading Site Branding
v-card-text ---
v-card.mt-3
v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title
.subheading Maintenance Mode
v-card-text
.body-1 Maintenance mode restrict access to the site to administrators only, regarless of current permissions.
v-btn.mt-3(color='orange darken-2', dark)
icon-home-alert.mr-2(fillColor='#FFFFFF')
| Turn On Maintenance Mode
</template>

View File

@ -1,15 +1,104 @@
<template lang='pug'>
v-container(fluid, fill-height)
v-layout(row wrap)
v-flex(xs12)
v-card(flat)
v-card(color='grey lighten-5')
.pa-3.pt-4
.headline.primary--text Utilities
.subheading.grey--text Maintenance and troubleshooting tools
v-tabs(v-model='tab', color='grey lighten-4', fixed-tabs, slider-color='primary', show-arrows)
v-tab(key='tools') Tools
v-tab(key='telemetry') Telemetry
v-tab(key='telemetry') Support
v-tab-item(key='tools', :transition='false', :reverse-transition='false')
v-container.grey.lighten-5(fluid, grid-list-lg)
v-layout(row, wrap)
v-flex(xs12, sm6)
v-card
v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title
.subheading Authentication
v-subheader Flush User Sessions
v-card-text.pt-0
.body-1 This will cause all users to be logged out. You will need to log back in after the operation.
v-btn(depressed).ml-0
v-icon(left, color='grey') build
span Proceed
v-subheader Reset Guest User
v-card-text.pt-0
.body-1 This will reset the guest user to its default parameters and permissions.
v-btn(depressed).ml-0
v-icon(left, color='grey') build
span Proceed
v-flex(xs12, sm6)
v-card
v-toolbar(color='primary', dark, dense, flat)
v-toolbar-title
.subheading Maintenance Mode
v-card-text
.body-1 Maintenance mode restrict access to the site to administrators only, regarless of current permissions.
v-btn.mt-3(color='orange darken-2', dark)
icon-home-alert.mr-2(fillColor='#FFFFFF')
| Turn On Maintenance Mode
v-tab-item(key='telemetry', :transition='false', :reverse-transition='false')
v-card.pa-3
v-form
v-subheader What is telemetry?
.body-1.pl-3 Telemetry allows the developers of Wiki.js to improve the software by collecting basic anonymized data about its usage and the host info. #[br] This is entirely optional and #[strong absolutely no] private data (such as content or personal data) is collected.
.body-1.pt-3.pl-3 For maximum privacy, a random client ID is generated every time Wiki.js is started. This ID is used to group requests together while keeping complete anonymity.
v-divider
v-subheader What is collected?
.body-1.pl-3 When telemetry is enabled, only the following data is transmitted:
v-list(dense)
v-list-tile
v-list-tile-avatar: v-icon info_outline
v-list-tile-content: v-list-tile-title.caption Version of Wiki.js installed
v-list-tile
v-list-tile-avatar: v-icon info_outline
v-list-tile-content: v-list-tile-title.caption Basic OS information (version, CPU cores, RAM available)
v-list-tile
v-list-tile-avatar: v-icon info_outline
v-list-tile-content: v-list-tile-title.caption Crash debug data
v-list-tile
v-list-tile-avatar: v-icon info_outline
v-list-tile-content: v-list-tile-title.caption Setup analytics (step reached)
.body-2.pl-3
v-divider
v-subheader Settings
.pl-3
v-switch(
v-model='telemetry',
label='Enable Telemetry',
:value='true',
color='primary',
hint='Allow Wiki.js to transmit telemetry data.',
persistent-hint
)
.subheading.mt-3.grey--text.text--darken-1 Client ID
.body-1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
v-divider
v-card-actions
v-btn(color='primary')
v-icon(left) chevron_right
| Save Changes
v-spacer
v-btn(outline, color='grey')
v-icon(left) autorenew
span Reset Client ID
</template>
<script>
export default {
data() {
return {}
return {
tab: '0',
telemetry: true
}
},
methods: {
resetClientID() {
}
}
}
</script>

View File

@ -21,12 +21,18 @@
v-select(v-if='item.type === "country"', solo, :items='countries', v-model='item.value', placeholder='Countries...', multiple, item-text='name', item-value='code')
v-text-field(v-else-if='item.type === "path"', solo, v-model='item.value', label='Path (e.g. /section)')
v-text-field(v-else-if='item.type === "date"', solo, @click.native.stop='dateActivator = true', v-model='item.value', label='YYYY-MM-DD', readonly)
v-text-field(v-else-if='item.type === "time"', solo, @click.native.stop='timeActivator = true', v-model='item.value', label='HH:MM', readonly)
v-select(v-else-if='item.type === "group"', solo, :items='groups', v-model='item.value', placeholder='Group...', item-text='name', item-value='id')
v-text-field.blue-grey.lighten-4(v-else, solo, disabled)
v-dialog(lazy, v-model='dateActivator', width='290px', ref='dateDialog')
v-date-picker(v-model='item.value', scrollable, color='primary')
v-btn(flat, color='primary' @click='$refs.dateDialog.save(date)', block) ok
v-dialog(lazy, v-model='timeActivator', width='300px', ref='timeDialog')
v-time-picker(v-model='item.value', scrollable, color='primary')
v-btn(flat, color='primary' @click='$refs.timeDialog.save(time)', block) ok
v-btn(icon, @click='remove'): v-icon(color='blue-grey') clear
</template>
@ -60,7 +66,10 @@ export default {
},
dateActivator: false,
dateDialog: false,
timeActivator: false,
timeDialog: false,
countries: [],
groups: [],
criteriaTypes: [
{ text: 'Path', value: 'path', icon: 'space_bar', color: 'blue', description: 'Match the path of the document being viewed.' },
{ text: 'Date', value: 'date', icon: 'date_range', color: 'blue', description: 'Match the current calendar day.' },