Context:
Issue or Scenario:
When you select the top node or checkbox, it shows 1 item(s) selected. However, when you expand and deselect child nodes or checboxes, the single tag message will removed and blank field is present.
please find below code and attached gif file, these files will give you clear understanding on the issue with dropdowntree.
<!--BELOW IS THE CODE SAMPLE ON THIS BUG -->
<!DOCTYPE html>
<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/dropdowntree/remote-data-binding">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.mobile.min.css" />
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/kendo.all.min.js"></script>
</head>
<body>
<div id="example">
<div class="demo-section k-content">
<input id="dropdowntree" style="width: 100%;" />
</div>
<script>
var serviceRoot = "https://demos.telerik.com/kendo-ui/service";
homogeneous = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: serviceRoot + "/Employees",
dataType: "jsonp"
}
},
schema: {
model: {
id: "EmployeeId",
hasChildren: "HasEmployees"
}
}
});
$("#dropdowntree").kendoDropDownTree({
placeholder: "Select ...",
dataSource: homogeneous,
height: "auto",
checkboxes: { checkChildren: true },
dataTextField: "FullName",
clearButton: true,
checkAll: false,
autoClose: false,
tagMode: "single",
loadOnDemand: true
});
</script>
</div>
</body>
</html>
Please Implement Cleaner "Fully Loaded" Event Instead of Multiple onDataBound Checks as per recommended per this approach: https://docs.telerik.com/kendo-ui/knowledge-base/dropdowntree-fully-loaded
That works fine, but if I have multiple DropDownTree elements on the page, this is a lot of extraneous code. Could this not be encapsulated within the library with a true event?
Perhaps it could be something like "contentLoaded" or "treeeInitialized".
In my case I would then use it to fulfill a Promise or other actions.
It would be nice to have the functionality to dynamically switch tagNodes, this feature would help sort out the issue of expanding the dropdown if many selections have been made .i.e.
It should show like the image below instead
It would also be great to add the feature to auto-select the parent's children and their sub children if the parent is checked.
The workaround for these issues is available on this dojo
I use the below template to render nodes (so that root nodes do not have a checkbox), but when I click checkAll button the root node(s) content are also displayed as selected
You should provide an event to custom handle this behavior and ignore nodes unselectable
.Checkboxes(setting => setting
.CheckChildren(true)
.Template("# if (item.level() > 0) { #" +
"<input type='checkbox' #= item.checked ? 'checked' : '' #>" +
"# item.text = item.SymptomName #" +
"#}else{#" +
"# item.text = item.LocationName #" +
"#}#"
)
)
Keep up the awesome work !