feat: edit menu speed-dial UX
This commit is contained in:
parent
4f8a28f617
commit
c7d6473401
@ -273,6 +273,23 @@ export default {
|
|||||||
this.searchIsShown = false
|
this.searchIsShown = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted () {
|
||||||
|
this.$root.$on('pageEdit', () => {
|
||||||
|
this.pageEdit()
|
||||||
|
})
|
||||||
|
this.$root.$on('pageHistory', () => {
|
||||||
|
this.pageHistory()
|
||||||
|
})
|
||||||
|
this.$root.$on('pageSource', () => {
|
||||||
|
this.pageSource()
|
||||||
|
})
|
||||||
|
this.$root.$on('pageMove', () => {
|
||||||
|
this.pageMove()
|
||||||
|
})
|
||||||
|
this.$root.$on('pageDelete', () => {
|
||||||
|
this.pageDelete()
|
||||||
|
})
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
searchFocus () {
|
searchFocus () {
|
||||||
this.searchIsFocused = true
|
this.searchIsFocused = true
|
||||||
|
@ -134,19 +134,86 @@
|
|||||||
|
|
||||||
v-flex.page-col-content(xs12, lg9, xl10)
|
v-flex.page-col-content(xs12, lg9, xl10)
|
||||||
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl', v-if='isAuthenticated')
|
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl', v-if='isAuthenticated')
|
||||||
template(v-slot:activator='{ on }')
|
template(v-slot:activator='{ on: onEditActivator }')
|
||||||
v-btn.btn-animate-edit(
|
v-speed-dial(
|
||||||
fab
|
v-model='pageEditFab'
|
||||||
|
direction='top'
|
||||||
|
open-on-hover
|
||||||
|
transition='scale-transition'
|
||||||
bottom
|
bottom
|
||||||
:right='!$vuetify.rtl'
|
:right='!$vuetify.rtl'
|
||||||
:left='$vuetify.rtl'
|
:left='$vuetify.rtl'
|
||||||
color='primary'
|
|
||||||
fixed
|
fixed
|
||||||
dark
|
dark
|
||||||
:href='"/e/" + locale + "/" + path'
|
)
|
||||||
v-on='on'
|
template(v-slot:activator)
|
||||||
|
v-btn.btn-animate-edit(
|
||||||
|
fab
|
||||||
|
color='primary'
|
||||||
|
v-model='pageEditFab'
|
||||||
|
@click='pageEdit'
|
||||||
|
v-on='onEditActivator'
|
||||||
)
|
)
|
||||||
v-icon mdi-pencil
|
v-icon mdi-pencil
|
||||||
|
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
|
||||||
|
template(v-slot:activator='{ on }')
|
||||||
|
v-btn(
|
||||||
|
fab
|
||||||
|
small
|
||||||
|
color='white'
|
||||||
|
light
|
||||||
|
v-on='on'
|
||||||
|
@click='pageHistory'
|
||||||
|
)
|
||||||
|
v-icon(size='20') mdi-history
|
||||||
|
span History
|
||||||
|
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
|
||||||
|
template(v-slot:activator='{ on }')
|
||||||
|
v-btn(
|
||||||
|
fab
|
||||||
|
small
|
||||||
|
color='white'
|
||||||
|
light
|
||||||
|
v-on='on'
|
||||||
|
@click='pageSource'
|
||||||
|
)
|
||||||
|
v-icon(size='20') mdi-code-tags
|
||||||
|
span View Source
|
||||||
|
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
|
||||||
|
template(v-slot:activator='{ on }')
|
||||||
|
v-btn(
|
||||||
|
fab
|
||||||
|
small
|
||||||
|
color='white'
|
||||||
|
light
|
||||||
|
v-on='on'
|
||||||
|
@click='pageMove'
|
||||||
|
)
|
||||||
|
v-icon(size='20') mdi-content-save-move-outline
|
||||||
|
span Move / Rename
|
||||||
|
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
|
||||||
|
template(v-slot:activator='{ on }')
|
||||||
|
v-btn(
|
||||||
|
fab
|
||||||
|
dark
|
||||||
|
small
|
||||||
|
color='red'
|
||||||
|
v-on='on'
|
||||||
|
@click='pageDelete'
|
||||||
|
)
|
||||||
|
v-icon(size='20') mdi-trash-can-outline
|
||||||
|
span Delete
|
||||||
|
v-tooltip(:right='$vuetify.rtl', :left='!$vuetify.rtl')
|
||||||
|
template(v-slot:activator='{ on }')
|
||||||
|
v-btn.mb-4(
|
||||||
|
fab
|
||||||
|
color='teal'
|
||||||
|
dark
|
||||||
|
v-on='on'
|
||||||
|
@click='pageHistory'
|
||||||
|
)
|
||||||
|
v-icon mdi-plus
|
||||||
|
span New Page
|
||||||
span {{$t('common:page.editPage')}}
|
span {{$t('common:page.editPage')}}
|
||||||
.contents(ref='container')
|
.contents(ref='container')
|
||||||
slot(name='contents')
|
slot(name='contents')
|
||||||
@ -251,6 +318,7 @@ export default {
|
|||||||
navShown: false,
|
navShown: false,
|
||||||
navExpanded: false,
|
navExpanded: false,
|
||||||
upBtnShown: false,
|
upBtnShown: false,
|
||||||
|
pageEditFab: false,
|
||||||
scrollOpts: {
|
scrollOpts: {
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
offset: 0,
|
offset: 0,
|
||||||
@ -343,6 +411,21 @@ export default {
|
|||||||
},
|
},
|
||||||
print () {
|
print () {
|
||||||
window.print()
|
window.print()
|
||||||
|
},
|
||||||
|
pageEdit () {
|
||||||
|
this.$root.$emit('pageEdit')
|
||||||
|
},
|
||||||
|
pageHistory () {
|
||||||
|
this.$root.$emit('pageHistory')
|
||||||
|
},
|
||||||
|
pageSource () {
|
||||||
|
this.$root.$emit('pageSource')
|
||||||
|
},
|
||||||
|
pageMove () {
|
||||||
|
this.$root.$emit('pageMove')
|
||||||
|
},
|
||||||
|
pageDelete () {
|
||||||
|
this.$root.$emit('pageDelete')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user