0
みなさん、こんにちは、それは私がイメージで例えば選択されたディレクトリは、選択したディレクトリのサブフォルダを開いていない - 私は、選択したフォルダにツリーまでを開く必要がありjstree
のサブフォルダを開くことなく言うことですenter image description here
<script>
$(function() {
$('#tree')
.jstree({
'core' : {
'data' : {
'url' : '<?php echo URL::base(); ?>/tree?operation=get_node',
'data' : function (node) {
console.log(node.id);
return { 'id' : node.id.replace("\/","/") };
}
},
'check_callback' : function(o, n, p, i, m) {
if(m && m.dnd && m.pos !== 'i') { return false; }
if(o === "move_node" || o === "copy_node") {
if(this.get_node(n).parent === this.get_node(p).id) { return false; }
}
return true;
},
'force_text' : true,
'themes' : {
'responsive' : false,
'variant' : 'small',
'stripes' : true
}
},
'sort' : function(a, b) {
return this.get_type(a) === this.get_type(b) ? (this.get_text(a) > this.get_text(b) ? 1 : -1) : (this.get_type(a) >= this.get_type(b) ? 1 : -1);
},
'contextmenu' : {
'items' : function(node) {
var tmp = $.jstree.defaults.contextmenu.items();
delete tmp.create.action;
tmp.create.label = "New";
tmp.create.submenu = {
"create_folder" : {
"separator_after" : true,
"label" : "Folder",
"action" : function (data) {
var inst = $.jstree.reference(data.reference),
obj = inst.get_node(data.reference);
inst.create_node(obj, { type : "default" }, "last", function (new_node) {
setTimeout(function() { inst.edit(new_node); },0);
});
}
},
"create_file" : {
"label" : "File",
"action" : function (data) {
var inst = $.jstree.reference(data.reference),
obj = inst.get_node(data.reference);
inst.create_node(obj, { type : "file" }, "last", function (new_node) {
setTimeout(function() { inst.edit(new_node); },0);
});
}
}
};
if(this.get_type(node) === "file") {
delete tmp.create;
}
return tmp;
}
},
'types' : {
'default' : { 'icon' : 'folder' },
'file' : { 'valid_children' : [], 'icon' : 'file' }
},
'unique' : {
'duplicate' : function (name, counter) {
return name + ' ' + counter;
}
},
'plugins' : ['state','dnd','sort','types','contextmenu','unique']
})
/*********************************/
.on('open_node.jstree', function (e, data) {
console.log("sdfsfdsdfs");
})
/*********************************/
.on('delete_node.jstree', function (e, data) {
$.get('<?php echo URL::base(); ?>/tree?operation=delete_node', { 'id' : data.node.id })
.fail(function() {
data.instance.refresh();
});
})
.on('create_node.jstree', function (e, data) {
$.get('<?php echo URL::base(); ?>/tree?operation=create_node', { 'type' : data.node.type, 'id' : data.node.parent, 'text' : data.node.text })
.done(function (d) {
data.instance.set_id(data.node, d.id);
})
.fail(function() {
data.instance.refresh();
});
})
.on('rename_node.jstree', function (e, data) {
$.get('<?php echo URL::base(); ?>/tree?operation=rename_node', { 'id' : data.node.id, 'text' : data.text })
.done(function (d) {
data.instance.set_id(data.node, d.id);
})
.fail(function() {
data.instance.refresh();
});
})
.on('move_node.jstree', function (e, data) {
$.get('<?php echo URL::base(); ?>/tree?operation=move_node', { 'id' : data.node.id, 'parent' : data.parent })
.done(function (d) {
//data.instance.load_node(data.parent);
data.instance.refresh();
})
.fail(function() {
data.instance.refresh();
});
})
.on('copy_node.jstree', function (e, data) {
$.get('<?php echo URL::base(); ?>/tree?operation=copy_node', { 'id' : data.original.id, 'parent' : data.parent })
.done(function (d) {
//data.instance.load_node(data.parent);
data.instance.refresh();
})
.fail(function() {
data.instance.refresh();
});
})
});
</script>
ファイル "TEST3" をオープンにしたくありませんこれまでに試したコードを追加してください。 – Connum
私はjstree "のデフォルト機能を使用しています。" jstree({" - " .on( 'open_node.jstree'、function " - " .on( 'delete_node.jstree'、function " - " .on( 'copy_node.jstree' 、関数 "... – user3609955
再度:この質問に関連する部分に簡略化されたマークアップとスクリプトを提供してください。 – Connum