feat: Customized folder order

pull/7619/head
Ruslan Semak 8 months ago
parent 598d017198
commit 19dc8241d5

@ -17,16 +17,16 @@
@click='switchMode(`tree`)' @click='switchMode(`tree`)'
) )
v-icon(left) mdi-file-tree v-icon(left) mdi-file-tree
.body-2.text-none {{$t('common:sidebar.browse')}} .body-2.text-none {{'Темы'}}
v-btn.ml-3( //v-btn.ml-3(
v-else-if='currentMode === `browse`' // v-else-if='currentMode === `browse`'
depressed // depressed
:color='$vuetify.theme.dark ? `grey darken-4` : `blue darken-2`' // :color='$vuetify.theme.dark ? `grey darken-4` : `blue darken-2`'
style='flex: 1 1 100%;' // style='flex: 1 1 100%;'
@click='switchMode(`tree`)' // @click='switchMode(`tree`)'
) // )
v-icon(left) mdi-file-tree // v-icon(left) mdi-file-tree
.body-2.text-none {{'Обзор'}} // .body-2.text-none {{'Темы'}}
v-btn.ml-3( v-btn.ml-3(
v-else-if='currentMode === `tree`' v-else-if='currentMode === `tree`'
depressed depressed
@ -34,8 +34,8 @@
style='flex: 1 1 100%;' style='flex: 1 1 100%;'
@click='switchMode(`custom`)' @click='switchMode(`custom`)'
) )
v-icon(left) mdi-navigation v-icon(left) mdi-menu
.body-2.text-none {{$t('common:sidebar.mainMenu')}} .body-2.text-none {{'Меню'}}
v-divider v-divider
//-> Custom Navigation //-> Custom Navigation
v-list.py-2(v-if='currentMode === `custom`', dense, :class='color', :dark='dark') v-list.py-2(v-if='currentMode === `custom`', dense, :class='color', :dark='dark')
@ -67,10 +67,12 @@
@update:active='activeTreeItem' @update:active='activeTreeItem'
) )
template(v-slot:prepend="{ item, open }") template(v-slot:prepend="{ item, open }")
v-icon(v-if="!item.children && item.icon") mdi-{{ item.icon }} v-icon(v-if="open") mdi-folder-open
v-icon(v-else-if="!item.children && !item.icon") mdi-text-box v-icon(v-else) mdi-{{ item.icon }}
v-icon(v-else-if="open") mdi-folder-open //v-icon(v-if="!item.children && item.icon") mdi-{{ item.icon }}
v-icon(v-else) mdi-folder //v-icon(v-else-if="!item.children && !item.icon") mdi-text-box
//v-icon(v-else-if="open") mdi-folder-open
//v-icon(v-else) mdi-folder
template(v-slot:label="{ item }") template(v-slot:label="{ item }")
div(class='tree-item') div(class='tree-item')
a(v-if="!item.children" :href="'/'+item.locale+'/'+item.path") a(v-if="!item.children" :href="'/'+item.locale+'/'+item.path")

@ -13,12 +13,7 @@
"watch": "NODE_OPTIONS=--openssl-legacy-provider webpack --config dev/webpack/webpack.dev.js", "watch": "NODE_OPTIONS=--openssl-legacy-provider webpack --config dev/webpack/webpack.dev.js",
"test": "eslint --format codeframe --ext .js,.vue . && pug-lint server/views && jest", "test": "eslint --format codeframe --ext .js,.vue . && pug-lint server/views && jest",
"cypress:open": "cypress open", "cypress:open": "cypress open",
"postinstall": "patch-package", "postinstall": "patch-package"
"service:start": "docker compose up -d",
"service:stop": "docker compose stop",
"service:delete": "docker compose down -v",
"service:build": "npm run service:stop && docker compose up --build",
"service:recreate": "npm run service:delete && docker compose up --build --force-recreate"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

@ -285,6 +285,29 @@ module.exports = {
} }
}).orderBy([{ column: 'isFolder', order: 'desc' }, 'orderPriority']) }).orderBy([{ column: 'isFolder', order: 'desc' }, 'orderPriority'])
const customFolderOrder = [
'Аккаунты',
'Software',
'WebStorm',
'Intro',
'Git',
'JavaScript',
'TypeScript',
'Database',
'Backend-1',
'Backend-2',
'Job'
]
results.sort((a, b) => {
if (a.isFolder !== b.isFolder) {
return b.isFolder - a.isFolder
}
return customFolderOrder.indexOf(a.title) - customFolderOrder.indexOf(b.title)
})
return results.filter(r => { return results.filter(r => {
return WIKI.auth.checkAccess(context.req.user, ['read:pages'], { return WIKI.auth.checkAccess(context.req.user, ['read:pages'], {
path: r.path, path: r.path,

Loading…
Cancel
Save