<?php include(mvc::$cfg['PATH_TPL'].'public/header.php');?>
<?php include(mvc::$cfg['PATH_TPL'].'subject/common.php');?>
<link rel="stylesheet" href="dist/themes/default/style.min.css" />
<link href="<?php echo mvc::$cfg['URL_STATIC'];?>css/plugins/jsTree/style.min.css" rel="stylesheet">
<div class="list_pager" style="margin:10px">
	<div class="row">
		<div class="col-md-3">
			<div>
				<button type="button" class="btn btn-success btn-sm" onClick="tree_create();"><i class="glyphicon glyphicon-asterisk"></i> 创建</button>
				<button type="button" class="btn btn-warning btn-sm" onClick="tree_rename();"><i class="glyphicon glyphicon-pencil"></i> 重命名</button>
				<button type="button" class="btn btn-danger btn-sm" onClick="tree_delete();"><i class="glyphicon glyphicon-remove"></i> 删除</button>
				<input type="text" value="" style="display:none;box-shadow:inset 0 0 4px #eee; width:120px; margin:0; padding:6px 12px; border-radius:4px; border:1px solid silver; font-size:1.1em;" id="tree_query" placeholder="Search" />
			</div>
			<div id="jstree_subject"></div>
		</div>
		<div class="col-md-9">
		</div>
	</div>
</div>
<script src="<?php echo mvc::$cfg['URL_STATIC'];?>js/plugins/jsTree/jstree.js"></script>
<script type="text/javascript">
/*创建节点*/
function tree_create() {
	var ref = $('#jstree_subject').jstree(true),
		sel = ref.get_selected();
	if(!sel.length) { return false; }
	var parent = sel[0];
		console.log(parent);
	if(sel){
		$.getJSON(urls.createNode+'?parentId='+parent,function(res){
			if(res.code == 0){
				sel = ref.create_node(parent, {"id":res.data,"types":"file"});
				ref.edit(sel);
			}else{
				qgui.box.error(res.msg);
			}
		});
	}
};
function tree_rename() {
	var ref = $('#jstree_subject').jstree(true),
		sel = ref.get_selected();
	if(!sel.length) { return false; }
	sel = sel[0];
	ref.edit(sel);
};
function tree_delete() {
	var ref = $('#jstree_subject').jstree(true),
		sel = ref.get_selected();
	if(!sel.length) {return false; }
	sel = sel[0];
	node = ref.get_node(sel);
	if(node && sel!='0'){
		qgui.box.delete(node.text,function(value){
			if(value=='yes'){
				$.getJSON(urls.deleteNode+'?id='+sel,function(res){
					if(res.code != 0){
						qgui.box.error(res.msg);
					}else{
						ref.delete_node(sel);
					}
				});
			}
		});
	}
};
$(document).ready(function () {
	var to = false;
	$('#tree_query').keyup(function () {
		if(to) { clearTimeout(to); }
		to = setTimeout(function () {
			var v = $('#tree_query').val();
			$('#jstree_subject').jstree(true).search(v);
		}, 500);
	});
	$('#jstree_subject').jstree({ 
		'core' : {
			"animation" : 0,
			"check_callback" : true,
			'force_text' : true,
			"themes" : { "stripes" : true },
			'data' : {
				'url' : HOST+'subject/getNode',
				'dataType':'json',
				'data' : function (node) {
					return { 'id' : node.id };
				}
			},
		},
		"types" : {
			"root" : {
				"icon" : "<?php echo mvc::$cfg['URL_STATIC'];?>css/plugins/jsTree/tree_icon.png",
			},
			"default" : {
				"icon" : "glyphicon glyphicon-file",
			},
			"folder" : {
				"icon" : "",
			},
			"file" : {
				"icon" : "glyphicon glyphicon-file",
			},
		},
		"plugins" : ["types", "state", "dnd", "search" ], //contextmenu:右键菜单, dnd:移动
		"search": {
			'show_only_matches': false,
			'ajax': {
				'url': urls.searchNode,
				'dataType': 'json',
				'type': 'GET',
				'data': function(str) {
					return { "str" : str };
				}
			}
		}
	})
	.on('rename_node.jstree', function (e, data) {
		if(data.text != data.old ){
			$.getJSON(urls.renameNode+'?id='+data.node.id+'&text='+data.node.text,function(res){
				if(res.code != 0){
					qgui.box.error(res.msg);
				}
			});
		}
	})
	.on('move_node.jstree', function (e, data) {
		$.getJSON(urls.moveNode+'?id='+data.node.id+'&parent='+data.parent+'&old_parent='+data.old_parent
					+'&position='+data.position+'&old_position='+data.old_position,
			function(res){
				if(res.code != 0){
					qgui.box.error(res.msg);
					$('#jstree_subject').jstree(true).refresh();
				}
			}
		);
	})
	.on('changed.jstree', function (e, data) {
		console.log(data);
	});

});

/**方法************************/
</script>
<?php include(mvc::$cfg['PATH_TPL'].'public/footer.php')?>