Demo - TreeView Disabled Nodes
by Joel Parks
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.latest/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.nav.min.js"></script>
<div class="container">
<h1>
Disabled Nodes</h1>
<p>
You can disable nodes using the <b>TreeNode</b>'s <b>isDisabled</b>
property.</p>
<p>
Disabled nodes cannot be selected using the mouse or keyboard.</p>
<button id="btnDisableNode" class="btn btn-default">
Disable Selected Node
</button>
<button id="btnEnableAllNodes" class="btn btn-default">
Enable All Nodes
</button>
<div id="theTree"></div>
</div>
CSS
/* icon shown next to new items */
.new-icon {
margin-left: 12px;
transform: rotate(-30deg);
}
/* default trees on this sample */
.wj-treeview {
display:block;
height: 350px;
font-size: 120%;
margin-top: 8px;
margin-bottom: 8px;
padding: 6px;
background: #f0f0f0;
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}
body {
margin-bottom: 24pt;
}
JavaScript
onload = function() {
// create the tree
var tree = new wijmo.nav.TreeView('#theTree', {
itemsSource: getData(),
displayMemberPath: 'header',
childItemsPath: 'items',
showCheckboxes: true
});
document.getElementById('btnDisableNode').addEventListener('click', function(e) {
var nd = tree.selectedNode;
if (nd) {
nd.isDisabled = true;
}
});
document.getElementById('btnEnableAllNodes').addEventListener('click', function(e) {
for (var nd = tree.getFirstNode(); nd; nd = nd.next()) {
nd.isDisabled = false;
}
});
// get the tree data
function getData() {
return [
{ header: 'Electronics', items: [
{ header: 'Trimmers/Shavers' },
{ header: 'Tablets' },
{ header: 'Phones', items: [
{ header: 'Apple' },
{ header: 'Motorola', newItem: true },
{ header: 'Nokia' },
{ header: 'Samsung' }]
},
{ header: 'Speakers', newItem: true },
{ header: 'Monitors' }]
},
{ header: 'Toys', items: [
{ header: 'Shopkins' },
{ header: 'Train Sets' },
{ header: 'Science Kit', newItem: true },
{ header: 'Play-Doh' },
{ header: 'Crayola' } ]
},
{ header: 'Home', items: [
{ header: 'Coffee Maker' },
{ header: 'Breadmaker', newItem: true },
{ header: 'Solar Panel', newItem: true },
{ header: 'Work Table' },
{ header: 'Propane Grill' }]
}
];
}
}