|
|
|
@ -18,43 +18,47 @@
|
|
|
|
|
:width='2'
|
|
|
|
|
v-show='searchLoading'
|
|
|
|
|
)
|
|
|
|
|
.d-flex(style='min-height:400px;')
|
|
|
|
|
.d-flex
|
|
|
|
|
v-flex.grey(xs5, :class='darkMode ? `darken-4` : `lighten-3`')
|
|
|
|
|
v-toolbar(color='grey darken-3', dark, dense, flat)
|
|
|
|
|
.body-2 Virtual Folders
|
|
|
|
|
v-spacer
|
|
|
|
|
v-btn(icon, tile, href='https://docs.requarks.io/guide/pages#folders', target='_blank')
|
|
|
|
|
v-icon mdi-help-box
|
|
|
|
|
v-treeview(
|
|
|
|
|
:active.sync='currentNode'
|
|
|
|
|
:open.sync='openNodes'
|
|
|
|
|
:items='tree'
|
|
|
|
|
:load-children='fetchFolders'
|
|
|
|
|
dense
|
|
|
|
|
expand-icon='mdi-menu-down-outline'
|
|
|
|
|
item-id='path'
|
|
|
|
|
item-text='title'
|
|
|
|
|
activatable
|
|
|
|
|
hoverable
|
|
|
|
|
)
|
|
|
|
|
template(slot='prepend', slot-scope='{ item, open, leaf }')
|
|
|
|
|
v-icon mdi-{{ open ? 'folder-open' : 'folder' }}
|
|
|
|
|
div(style='height:400px;')
|
|
|
|
|
vue-scroll(:ops='scrollStyle')
|
|
|
|
|
v-treeview(
|
|
|
|
|
:active.sync='currentNode'
|
|
|
|
|
:open.sync='openNodes'
|
|
|
|
|
:items='tree'
|
|
|
|
|
:load-children='fetchFolders'
|
|
|
|
|
dense
|
|
|
|
|
expand-icon='mdi-menu-down-outline'
|
|
|
|
|
item-id='path'
|
|
|
|
|
item-text='title'
|
|
|
|
|
activatable
|
|
|
|
|
hoverable
|
|
|
|
|
)
|
|
|
|
|
template(slot='prepend', slot-scope='{ item, open, leaf }')
|
|
|
|
|
v-icon mdi-{{ open ? 'folder-open' : 'folder' }}
|
|
|
|
|
v-flex(xs7)
|
|
|
|
|
v-toolbar(color='blue darken-2', dark, dense, flat)
|
|
|
|
|
.body-2 Pages
|
|
|
|
|
v-spacer
|
|
|
|
|
v-btn(icon, tile, disabled): v-icon mdi-content-save-move-outline
|
|
|
|
|
v-btn(icon, tile, disabled): v-icon mdi-trash-can-outline
|
|
|
|
|
v-list.py-0(dense, v-if='currentPages.length > 0')
|
|
|
|
|
v-list-item-group(
|
|
|
|
|
v-model='currentPage'
|
|
|
|
|
color='primary'
|
|
|
|
|
)
|
|
|
|
|
template(v-for='(page, idx) of currentPages')
|
|
|
|
|
v-list-item(:key='page.id', :value='page.path')
|
|
|
|
|
v-list-item-icon: v-icon mdi-file-document-box
|
|
|
|
|
v-list-item-title {{page.title}}
|
|
|
|
|
v-divider(v-if='idx < pages.length - 1')
|
|
|
|
|
div(v-if='currentPages.length > 0', style='height:400px;')
|
|
|
|
|
vue-scroll(:ops='scrollStyle')
|
|
|
|
|
v-list.py-0(dense)
|
|
|
|
|
v-list-item-group(
|
|
|
|
|
v-model='currentPage'
|
|
|
|
|
color='primary'
|
|
|
|
|
)
|
|
|
|
|
template(v-for='(page, idx) of currentPages')
|
|
|
|
|
v-list-item(:key='page.id', :value='page.path')
|
|
|
|
|
v-list-item-icon: v-icon mdi-file-document-box
|
|
|
|
|
v-list-item-title {{page.title}}
|
|
|
|
|
v-divider(v-if='idx < pages.length - 1')
|
|
|
|
|
v-alert.animated.fadeIn(
|
|
|
|
|
v-else
|
|
|
|
|
text
|
|
|
|
@ -134,14 +138,34 @@ export default {
|
|
|
|
|
currentPage: null,
|
|
|
|
|
currentNode: [0],
|
|
|
|
|
openNodes: [0],
|
|
|
|
|
tree: [{
|
|
|
|
|
id: 0,
|
|
|
|
|
title: '/ (root',
|
|
|
|
|
children: []
|
|
|
|
|
}],
|
|
|
|
|
tree: [
|
|
|
|
|
{
|
|
|
|
|
id: 0,
|
|
|
|
|
title: '/ (root',
|
|
|
|
|
children: []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
pages: [],
|
|
|
|
|
all: [],
|
|
|
|
|
namespaces: siteLangs.length ? siteLangs.map(ns => ns.code) : [siteConfig.lang]
|
|
|
|
|
namespaces: siteLangs.length ? siteLangs.map(ns => ns.code) : [siteConfig.lang],
|
|
|
|
|
scrollStyle: {
|
|
|
|
|
vuescroll: {},
|
|
|
|
|
scrollPanel: {
|
|
|
|
|
initialScrollX: 0.01, // fix scrollbar not disappearing on load
|
|
|
|
|
scrollingX: false,
|
|
|
|
|
speed: 50
|
|
|
|
|
},
|
|
|
|
|
rail: {
|
|
|
|
|
gutterOfEnds: '2px'
|
|
|
|
|
},
|
|
|
|
|
bar: {
|
|
|
|
|
onlyShowBarOnScroll: false,
|
|
|
|
|
background: '#999',
|
|
|
|
|
hoverStyle: {
|
|
|
|
|
background: '#64B5F6'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|