|
|
@ -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: { |
|
|
|