123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- '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)
- }
- })
- }
- }
|