Drag-and-drop - events

drag-and-drop - events
logs
with logs:
</> Source
<!DOCTYPE html>
<html>
<head>
	<title>Drag-and-drop - events</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
	<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
	<link rel="stylesheet" type="text/css" href="../../../codebase/fonts/font_roboto/roboto.css"/>
	<link rel="stylesheet" type="text/css" href="../../../codebase/dhtmlx.css"/>
	<script src="../../../codebase/dhtmlx.js"></script>
	<style>
		div.sample_info_here {
			position: relative;
			width: auto;
			margin: 20px;
			font-family: Roboto, Arial, Helvetica;
			font-size: 14px;
			color: #404040;
		}
		div.sample_info_here div.sample_info_title {
			line-height: 18px;
			font-size: 15px;
			color: #3b5e7c;
		}
		div#tree_here {
			position: relative;
			border: 1px solid #dfdfdf;
			box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 1px 3px rgba(0,0,0,0.09);
			width: 350px;
			height: 400px;
			margin-left: 20px;
			margin-bottom: 20px;
		}
		div.controls {
			position: relative;
			width: auto;
			margin: 0px 20px 20px 20px;
			font-family: Roboto, Arial, Helvetica;
			font-size: 14px;
			color: #404040;
		}
		div.controls input {
			font-family: Roboto, Arial, Helvetica;
			font-size: 14px;
			color: #404040;
		}
		div#logs_here {
			position: relative;
			height: 170px;
			width: auto;
			margin: 20px;
			border: 1px solid #dfdfdf;
			padding: 4px;
			font-size: 12px;
			font-family: Roboto, Arial, Helvetica;
			font-size: 14px;
			color: #404040;
			overflow: auto;
		}
	</style>
	<script>
		var myTreeView, logIndex = 0;
		function doOnLoad() {
			myTreeView = new dhtmlXTreeView({
				parent: "tree_here",
				dnd: true,
				json: "../common/treeview_dnd.json"
			});
			myTreeView.attachEvent("onBeforeDrag", function(id){
				writeLog("onBeforeDrag event, id: "+id+" ("+myTreeView.getItemText(id)+"), allow");
				return true;
			});
			myTreeView.attachEvent("onDragOver", function(id, pId, index){
				var text = (pId==null?"root item":myTreeView.getItemText(pId));
				writeLog("onDragOver event, parentId: "+(pId||"null")+" ("+text+"), index: "+index+", allow");
				return true;
			});
			myTreeView.attachEvent("onBeforeDrop", function(id, pId, index){
				var text = (pId==null?"root item":myTreeView.getItemText(pId));
				writeLog("onBeforeDrop event, parentId: "+(pId||"null")+" ("+text+"), index: "+index+", allow");
				return true;
			});
			myTreeView.attachEvent("onDrop", function(id, pId, index){
				var text = (pId==null?"root item":myTreeView.getItemText(pId));
				writeLog("onDrop event, parentId: "+(pId||"null")+" ("+text+"), index: "+index);
			});
		}
		function writeLog(text) {
			document.getElementById("logs_here").innerHTML += "<br>"+"["+(++logIndex)+"] "+text;
			document.getElementById("logs_here").scrollTop = document.getElementById("logs_here").scrollHeight;
		}
		function clearLog() {
			document.getElementById("logs_here").innerHTML = "<u>logs</u>";
		}
	</script>
</head>
<body onload="doOnLoad()">
	<div class="sample_info_here">
		<div class="sample_info_title">drag-and-drop - events</div>
	</div>
	<div id="tree_here"></div>
	<div id="logs_here"><u>logs</u></div>
	<div class="controls">
		with logs: <input type="button" value="clear" onclick="clearLog();">
	</div>
</body>
</html>

Documentation

Check documentation to learn how to use the components and easily implement them in your applications.