jqwidgets-framework
Version:
jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.
143 lines (135 loc) • 6.68 kB
HTML
<html lang="en">
<head>
<meta name="keywords" content="jQuery Tree, Tree Widget, TreeView" />
<meta name="description" content="The jqxTree displays a hierarchical collection of items. You
can populate it from 'UL' or by using its 'source' property." />
<title id='Description'>jQuery Tree with Context Menu.</title>
<link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" />
<script type="text/javascript" src="../../../scripts/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../scripts/demos.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxpanel.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxtree.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxcheckbox.js"></script>
<script type="text/javascript" src="../../../jqwidgets/jqxmenu.js"></script>
<script type="text/javascript">
$(document).ready(function () {
// Create jqxTree
$('#jqxTree').jqxTree({ height: '400px', width: '300px' });
$('#jqxTree').css('visibility', 'visible');
var contextMenu = $("#jqxMenu").jqxMenu({ width: '120px', height: '56px', autoOpenPopup: false, mode: 'popup' });
var clickedItem = null;
var attachContextMenu = function () {
// open the context menu when the user presses the mouse right button.
$("#jqxTree li").on('mousedown', function (event) {
var target = $(event.target).parents('li:first')[0];
var rightClick = isRightClick(event);
if (rightClick && target != null) {
$("#jqxTree").jqxTree('selectItem', target);
var scrollTop = $(window).scrollTop();
var scrollLeft = $(window).scrollLeft();
contextMenu.jqxMenu('open', parseInt(event.clientX) + 5 + scrollLeft, parseInt(event.clientY) + 5 + scrollTop);
return false;
}
});
}
attachContextMenu();
$("#jqxMenu").on('itemclick', function (event) {
var item = $.trim($(event.args).text());
switch (item) {
case "Add Item":
var selectedItem = $('#jqxTree').jqxTree('selectedItem');
if (selectedItem != null) {
$('#jqxTree').jqxTree('addTo', { label: 'Item' }, selectedItem.element);
attachContextMenu();
}
break;
case "Remove Item":
var selectedItem = $('#jqxTree').jqxTree('selectedItem');
if (selectedItem != null) {
$('#jqxTree').jqxTree('removeItem', selectedItem.element);
attachContextMenu();
}
break;
}
});
// disable the default browser's context menu.
$(document).on('contextmenu', function (e) {
if ($(e.target).parents('.jqx-tree').length > 0) {
return false;
}
return true;
});
function isRightClick(event) {
var rightclick;
if (!event) var event = window.event;
if (event.which) rightclick = (event.which == 3);
else if (event.button) rightclick = (event.button == 2);
return rightclick;
}
});
</script>
</head>
<body class='default'>
<div id='jqxWidget'>
<div id='jqxTree' style='visibility: hidden; float: left; margin-left: 20px;'>
<ul>
<li id='home' item-selected='true'>Home</li>
<li item-expanded='true'>Solutions
<ul>
<li>Education</li>
<li>Financial services</li>
<li>Government</li>
<li>Manufacturing</li>
<li>Solutions
<ul>
<li>Consumer photo and video</li>
<li>Mobile</li>
<li>Rich Internet applications</li>
<li>Technical communication</li>
<li>Training and eLearning</li>
<li>Web conferencing</li>
</ul>
</li>
<li>All industries and solutions</li>
</ul>
</li>
<li>Products
<ul>
<li>PC products</li>
<li>Mobile products</li>
<li>All products</li>
</ul>
</li>
<li>Support
<ul>
<li>Support home</li>
<li>Customer Service</li>
<li>Knowledge base</li>
<li>Books</li>
<li>Training and certification</li>
<li>Support programs</li>
<li>Forums</li>
<li>Documentation</li>
<li>Updates</li>
</ul>
</li>
</ul>
</div>
<div id='jqxMenu'>
<ul>
<li>Add Item</li>
<li>Remove Item</li>
</ul>
</div>
</div>
<div style="position: absolute; bottom: 5px; right: 5px;">
<a href="https://www.jqwidgets.com/" alt="https://www.jqwidgets.com/"><img alt="https://www.jqwidgets.com/" title="https://www.jqwidgets.com/" src="https://www.jqwidgets.com/wp-content/design/i/logo-jqwidgets.png"/></a>
</div>
</body>
</html>