Server IP : 23.254.227.96 / Your IP : 216.73.216.7 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/local/cwpsrv/var/services/users/viralblo/viralde/viral/cwp_theme/original/js/ |
Upload File : |
(function () { 'use strict'; var VueTreeItem = Vue.extend({ template: '<li :class="{parent_li: node.isParent}" >' + '<i v-if="node.isParent" v-on:click="toggle(node)"class="fa icon-open-state" :class=\'{"fa-plus": !node.isOpen, "fa-minus": node.isOpen}\'></i>' + '<span @dragover.prevent @drop="draga(node)" @dragenter="dragEnter" @dragLeave="dragLeave">' + '<i v-if="showIcon(node)" :class="nodeClass(node)"></i> <a class="ml5" href="javascript:" v-on:click="listFil(node)">{{node.name}}</a></span>' + '<ul v-show="node.isOpen">' + '<li v-show="node.showLoading && node._loading"><i class="fa fa-spinner fa-pulse"></i></li>' + '<vue-tree-item v-for="item in node.children" :node="item"></vue-tree-item>' + '</ul>' + '</li>', props: { node: { type: Object } }, methods: { showIcon: function (node) { return node.icon || node.openedIcon || node.closedIcon; }, nodeClass: function (node) { if (node.isOpen) { return node.openedIcon || node.icon; } else { return node.closedIcon || node.icon; } }, toggle: function (node) { vm.listSub(node); if (node.hasOwnProperty('isOpen')) { node.isOpen = !node.isOpen; } else { Vue.set(node, 'isOpen', true); } }, dragEnter(ev){ vm.dragEnter(ev); }, dragLeave(ev){ vm.dragLeave(ev); }, draga:function(node){ vm.dragado(node.id,'directory'); }, listFil: function(node){ vm.listFiles(node.id); Vue.set(node, 'isOpen', true); vm.listSub(node,1); } }, 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: '<div class="vue-tree"><ul>' + '<tree-item :node.sync="option.root"></tree-item>' + '</ul></div>', props: { option: { type: Object } }, components: { 'tree-item': VueTreeItem } }); Vue.component('vue-tree', VueTree); })();