(function () { 'use strict'; var VueTreeItem = Vue.extend({ template: '
  • ' + `
    ` + //Opener '' + '' + //Main '' + '' + '' + '' + '' + '' + '' + '
    ' + //Other Entries '' + '
  • ', props: { node: { type: Object } }, methods: { nodeClass: function (node) { if (node.isOpen) { return node.openedIcon || node.icon; } else { return node.closedIcon || node.icon; } }, toggle: function (node) { if (node.hasOwnProperty('isOpen')) { node.isOpen = !node.isOpen; } else { Vue.set(node, 'isOpen', true); } }, btnClick: function (btn, node) { if (typeof btn.click === 'function') { btn.click(node); } }, getIndentation(node) { return node.getDepth ? (limitNumber(node.getDepth(), 0, (Interface.Panels.outliner.width-124) / 16) * 16) : 0; } }, watch: { 'node.isOpen': function (val) { if (!this.node.hasOwnProperty('_loading')) { Vue.set(this.node, '_loading', false); } if (val) { if (typeof this.node.onOpened === 'function') { this.node.onOpened(this.node); } } else { if (typeof this.node.onClosed === 'function') { this.node.onClosed(this.node); } } } } }); Vue.component('vue-tree-item', VueTreeItem); var VueTree = Vue.extend({ template: `
    `, props: { root: { type: Object } }, components: { 'tree-item': VueTreeItem } }); Vue.component('vue-tree', VueTree); })();