feat: admin create user + markdown help fix
This commit is contained in:
@@ -1,66 +1,66 @@
|
||||
<template lang="pug">
|
||||
v-card.wiki-form
|
||||
v-card
|
||||
v-card-text(v-if='group.id === 1')
|
||||
v-alert.radius-7(
|
||||
:class='$vuetify.theme.dark ? "grey darken-4" : "orange lighten-5"'
|
||||
color='orange darken-2'
|
||||
outline
|
||||
:value='true'
|
||||
icon='lock_outline'
|
||||
outlined
|
||||
icon='mdi-lock-outline'
|
||||
) This group has access to everything.
|
||||
template(v-else)
|
||||
v-card-title(:class='$vuetify.theme.dark ? `grey darken-3-d5` : `grey lighten-5`')
|
||||
v-alert.radius-7(
|
||||
:class='$vuetify.theme.dark ? `grey darken-3-d3` : `white`'
|
||||
:value='true'
|
||||
v-card-title(:class='$vuetify.theme.dark ? `grey darken-3-d5` : ``')
|
||||
v-alert.radius-7.caption(
|
||||
:class='$vuetify.theme.dark ? `grey darken-3-d3` : `grey lighten-4`'
|
||||
color='grey'
|
||||
outline
|
||||
icon='info'
|
||||
outlined
|
||||
icon='mdi-information'
|
||||
) You must enable global content permissions (under Permissions tab) for page rules to have any effect.
|
||||
v-spacer
|
||||
v-btn(depressed, color='primary', @click='addRule')
|
||||
v-icon(left) add
|
||||
v-btn.mx-2(depressed, color='primary', @click='addRule')
|
||||
v-icon(left) mdi-plus
|
||||
| Add Rule
|
||||
v-menu(
|
||||
right
|
||||
offset-y
|
||||
nudge-left='115'
|
||||
)
|
||||
v-btn.is-icon(slot='activator', flat, outline, color='primary')
|
||||
v-icon more_horiz
|
||||
template(v-slot:activator='{ on }')
|
||||
v-btn.is-icon(v-on='on', outlined, color='primary')
|
||||
v-icon mdi-dots-horizontal
|
||||
v-list(dense)
|
||||
v-list-item(@click='comingSoon')
|
||||
v-list-item-avatar
|
||||
v-icon keyboard_capslock
|
||||
v-icon mdi-application-import
|
||||
v-list-item-title Load Preset
|
||||
v-divider
|
||||
v-list-item(@click='comingSoon')
|
||||
v-list-item-avatar
|
||||
v-icon publish
|
||||
v-icon mdi-application-export
|
||||
v-list-item-title Save As Preset
|
||||
v-divider
|
||||
v-list-item(@click='comingSoon')
|
||||
v-list-item-avatar
|
||||
v-icon cloud_upload
|
||||
v-icon mdi-cloud-upload
|
||||
v-list-item-title Import Rules
|
||||
v-divider
|
||||
v-list-item(@click='comingSoon')
|
||||
v-list-item-avatar
|
||||
v-icon cloud_download
|
||||
v-icon mdi-cloud-download
|
||||
v-list-item-title Export Rules
|
||||
v-card-text(:class='$vuetify.theme.dark ? `grey darken-4-l5` : `white`')
|
||||
.rules
|
||||
.caption(v-if='group.pageRules.length === 0')
|
||||
em(:class='$vuetify.theme.dark ? `grey--text` : `blue-grey--text`') This group has no page rules yet.
|
||||
.rule(v-for='rule of group.pageRules', :key='rule.id')
|
||||
v-btn.ma-0.rule-deny-btn(
|
||||
v-btn.ma-0.radius-4.rule-deny-btn(
|
||||
solo
|
||||
:color='rule.deny ? "red" : "green"'
|
||||
dark
|
||||
@click='rule.deny = !rule.deny'
|
||||
height='48'
|
||||
)
|
||||
v-icon(v-if='rule.deny') block
|
||||
v-icon(v-else) check_circle
|
||||
v-icon(v-if='rule.deny') mdi-cancel
|
||||
v-icon(v-else) mdi-check-circle
|
||||
//- Roles
|
||||
v-select.ml-1(
|
||||
solo
|
||||
@@ -83,7 +83,7 @@
|
||||
template(slot='item', slot-scope='props')
|
||||
v-list-item-action(style='min-width: 30px;')
|
||||
v-checkbox(
|
||||
v-model='props.tile.props.value'
|
||||
v-model='props.attrs.inputValue'
|
||||
hide-details
|
||||
color='primary'
|
||||
)
|
||||
@@ -103,7 +103,7 @@
|
||||
dense
|
||||
)
|
||||
template(slot='selection', slot-scope='{ item, index }')
|
||||
.body-1 {{item.text}}
|
||||
.body-2 {{item.text}}
|
||||
template(slot='item', slot-scope='data')
|
||||
v-list-item-avatar
|
||||
v-avatar.white--text.radius-4(color='blue', size='30', tile) {{ data.item.icon }}
|
||||
@@ -133,18 +133,18 @@
|
||||
color='primary'
|
||||
readonly
|
||||
)
|
||||
v-icon.mr-2(:color='rule.deny ? `red` : `green`') public
|
||||
v-icon.mr-2(:color='rule.deny ? `red` : `green`') mdi-earth
|
||||
v-list-item-content
|
||||
v-list-item-title.body-2 Any Locale
|
||||
v-divider(slot='prepend-item')
|
||||
template(slot='item', slot-scope='props')
|
||||
v-list-item-action(style='min-width: 30px;')
|
||||
v-checkbox(
|
||||
v-model='props.tile.props.value'
|
||||
v-model='props.attrs.inputValue'
|
||||
hide-details
|
||||
color='primary'
|
||||
)
|
||||
v-icon.mr-2(:color='rule.deny ? `red` : `green`') language
|
||||
v-icon.mr-2(:color='rule.deny ? `red` : `green`') mdi-web
|
||||
v-list-item-content
|
||||
v-list-item-title.body-2 {{props.item.text}}
|
||||
v-chip.mr-2.grey--text(label, small, :color='$vuetify.theme.dark ? `grey darken-4` : `grey lighten-4`').caption {{props.item.value.toUpperCase()}}
|
||||
@@ -161,15 +161,15 @@
|
||||
:color='$vuetify.theme.dark ? `grey` : `blue-grey`'
|
||||
)
|
||||
|
||||
v-btn(icon, @click='removeRule(rule.id)')
|
||||
v-icon(:color='$vuetify.theme.dark ? `grey` : `blue-grey`') clear
|
||||
v-btn.ml-2.mt-1(icon, @click='removeRule(rule.id)', small)
|
||||
v-icon(:color='$vuetify.theme.dark ? `grey` : `blue-grey`') mdi-close
|
||||
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 Rules Order
|
||||
.body-1.pl-3 Rules are applied in order of path specificity. A more precise path will always override a less defined path.
|
||||
.body-1.pl-4 For example, #[span.teal--text /geography/countries] will override #[span.teal--text /geography].
|
||||
.body-1.pl-3.pt-2 When 2 rules have the same specificity, the priority is given from lowest to highest as follows:
|
||||
.body-1.pl-3.pt-1
|
||||
.overline.py-3 Rules Order
|
||||
.body-2.pl-3 Rules are applied in order of path specificity. A more precise path will always override a less defined path.
|
||||
.body-2.pl-5 For example, #[span.teal--text /geography/countries] will override #[span.teal--text /geography].
|
||||
.body-2.pl-3.pt-2 When 2 rules have the same specificity, the priority is given from lowest to highest as follows:
|
||||
.body-2.pl-3.pt-1
|
||||
ul
|
||||
li
|
||||
strong Path Starts With...
|
||||
@@ -181,9 +181,9 @@
|
||||
li
|
||||
strong Path Is Exactly...
|
||||
em.caption.pl-1 (highest)
|
||||
.body-1.pl-3.pt-2 When 2 rules have the same path specificity AND the same match type, #[strong.red--text DENY] will always override an #[strong.green--text ALLOW] rule.
|
||||
.body-2.pl-3.pt-2 When 2 rules have the same path specificity AND the same match type, #[strong.red--text DENY] will always override an #[strong.green--text ALLOW] rule.
|
||||
v-divider.mt-3
|
||||
v-subheader.pl-0 Regular Expressions
|
||||
.overline.py-3 Regular Expressions
|
||||
span Expressions that are deemed unsafe or could result in exponential time processing will be rejected upon saving.
|
||||
|
||||
</template>
|
||||
@@ -202,18 +202,18 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
roles: [
|
||||
{ text: 'Read Pages', value: 'read:pages', icon: 'insert_drive_file' },
|
||||
{ text: 'Create Pages', value: 'write:pages', icon: 'insert_drive_file' },
|
||||
{ text: 'Edit + Move Pages', value: 'manage:pages', icon: 'insert_drive_file' },
|
||||
{ text: 'Delete Pages', value: 'delete:pages', icon: 'insert_drive_file' },
|
||||
{ text: 'View Pages Source', value: 'read:source', icon: 'code' },
|
||||
{ text: 'View Pages History', value: 'read:history', icon: 'restore' },
|
||||
{ text: 'Read / Use Assets', value: 'read:assets', icon: 'camera' },
|
||||
{ text: 'Upload Assets', value: 'write:assets', icon: 'camera' },
|
||||
{ text: 'Edit + Delete Assets', value: 'manage:assets', icon: 'camera' },
|
||||
{ text: 'Read Comments', value: 'read:comments', icon: 'insert_comment' },
|
||||
{ text: 'Create Comments', value: 'write:comments', icon: 'insert_comment' },
|
||||
{ text: 'Edit + Delete Comments', value: 'manage:comments', icon: 'insert_comment' }
|
||||
{ text: 'Read Pages', value: 'read:pages', icon: 'mdi-file-document-box-search-outline' },
|
||||
{ text: 'Create Pages', value: 'write:pages', icon: 'mdi-file-document-box-plus-outline' },
|
||||
{ text: 'Edit + Move Pages', value: 'manage:pages', icon: 'mdi-file-document-edit-outline' },
|
||||
{ text: 'Delete Pages', value: 'delete:pages', icon: 'mdi-file-document-box-remove-outline' },
|
||||
{ text: 'View Pages Source', value: 'read:source', icon: 'mdi-code-tags' },
|
||||
{ text: 'View Pages History', value: 'read:history', icon: 'mdi-history' },
|
||||
{ text: 'Read / Use Assets', value: 'read:assets', icon: 'mdi-image-search-outline' },
|
||||
{ text: 'Upload Assets', value: 'write:assets', icon: 'mdi-image-plus' },
|
||||
{ text: 'Edit + Delete Assets', value: 'manage:assets', icon: 'mdi-image-size-select-large' },
|
||||
{ text: 'Read Comments', value: 'read:comments', icon: 'mdi-comment-search-outline' },
|
||||
{ text: 'Create Comments', value: 'write:comments', icon: 'mdi-comment-plus-outline' },
|
||||
{ text: 'Edit + Delete Comments', value: 'manage:comments', icon: 'mdi-comment-remove-outline' }
|
||||
],
|
||||
matches: [
|
||||
{ text: 'Path Starts With...', value: 'START', icon: '/...' },
|
||||
@@ -252,6 +252,9 @@ export default {
|
||||
message: `Coming soon...`,
|
||||
icon: 'directions_boat'
|
||||
})
|
||||
},
|
||||
dude (stuff) {
|
||||
console.info(stuff)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -264,7 +267,7 @@ export default {
|
||||
padding: 1rem;
|
||||
position: relative;
|
||||
|
||||
@at-root .theme--dark & {
|
||||
@at-root .v-application.theme--dark & {
|
||||
background-color: mc('grey', '800');
|
||||
}
|
||||
}
|
||||
@@ -282,7 +285,7 @@ export default {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
@at-root .theme--dark & {
|
||||
@at-root .v-application.theme--dark & {
|
||||
background-color: mc('grey', '700');
|
||||
}
|
||||
|
||||
@@ -306,7 +309,7 @@ export default {
|
||||
left: -2rem;
|
||||
top: -1.3rem;
|
||||
|
||||
@at-root .theme--dark & {
|
||||
@at-root .v-application.theme--dark & {
|
||||
background-color: mc('grey', '800');
|
||||
color: mc('grey', '600');
|
||||
}
|
||||
@@ -316,12 +319,5 @@ export default {
|
||||
.input-group + * {
|
||||
margin-left: .5rem;
|
||||
}
|
||||
|
||||
&-deny-btn {
|
||||
height: 48px;
|
||||
border-radius: 2px 0 0 2px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user