Fancytree SelectMode 3 get all checked or unchecked items
I tried posting on stack over flow but haven't got any feedback. I have select mode 3 enabled, where if you check/uncheck a parent, all the child nodes get set to that same state. Problem is, if any node gets checked or unchecked from a parent, I still need to look at that node because I show or remove things in another div, based on what is checked or not. Here's how I'm doing it now, but I can't seem how to figure out to basically say, after any item has been checked or unchecked do this code.
Here's my fancy tree code
- if ($("entityTree") != null) {
- $(function () {
- // Create the tree inside the <div id="tree"> element.
- $("#entityTree").fancytree({
- source: { url: "/Home/GetTreeViewData", cache: true }
- , checkbox: true
- , icons: false
- , cache: true
- , lazyLoad: function (event, data) {
- var node = data.node;
- data.result = {
- url: "/Home/GetTreeViewData/" + node.key.replace(node.data.idPrefix, "")
- , data: { mode: "children", parent: node.key }
- , cache: true
- };
- }
- , renderNode: function (event, data) {
- // Optionally tweak data.node.span
- var node = data.node;
-
- var $span = $(node.span);
- if (node.key != "_statusNode") {
-
- $span.find("> span.fancytree-expander").css({
- borderLeft: node.data.customLeftBorder
- //borderLeft: "1px solid orange"
- });
- }
- }
- , selectMode: 3
- , select: function (event, data) {
- var node = data.node;
-
- if (node.isSelected()) {
-
- if (node.isUndefined()) {
-
- // Load and select all child nodes
- node.load().done(function () {
- node.visit(function (childNode) {
-
- childNode.setSelected(true);
- });
- });
- } else {
- // Select all child nodes
- node.visit(function (childNode) {
-
- childNode.setSelected(true);
- });
- }
-
- }
- else {
- //this only works when you click the specific node
- delMarker(node.key);
- }
-
- // Get a list of all selected nodes, and add markers
- var selKeys = $.map(data.tree.getSelectedNodes(), function (node) {
-
- if (node.data.treeItemType == "ent") {
-
- if (markers[node.key] == null) {
- addMarker(node.key, node.data.lat, node.data.lng, node.desc, node.data.image, node.title, node.data.childImage);
- }
- }
- });
- alert("selected");
- }
- , strings: {
- loading: "Grabbing places and events…",
- loadError: "Load error!"
- }
- })
- });
- }