wikijs-fork/client/js/pages/all.js
2017-04-23 15:54:35 -04:00

49 lines
1.3 KiB
JavaScript

'use strict'
import $ from 'jquery'
import Vue from 'vue'
import _ from 'lodash'
const rootUrl = '/'
module.exports = (alerts, socket) => {
if ($('#page-type-all').length) {
let vueAllPages = new Vue({ // eslint-disable-line no-unused-vars
el: '#page-type-all',
data: {
tree: []
},
methods: {
fetch: function (basePath) {
let self = this
$('#notifload').addClass('active')
Vue.nextTick(() => {
socket.emit('treeFetch', { basePath }, (data) => {
if (self.tree.length > 0) {
let curTree = _.last(self.tree)
curTree.hasChildren = true
_.find(curTree.pages, { _id: basePath }).isActive = true
}
self.tree.push({
hasChildren: false,
pages: data
})
$('#notifload').removeClass('active')
})
})
},
goto: function (entryPath) {
window.location.assign(rootUrl + entryPath)
}
},
mounted: function () {
let basePath = window.location.pathname.slice(0, -4)
if (basePath.length > 1) {
basePath = basePath.slice(1)
}
this.fetch(basePath)
}
})
}
}