Hi there,
I have some issue with the behaviour of the selection with selectionAppearance checkbox.
If I have a tree with multiple nodes (only some are enabled).
When clicking a enabled checkbox, the state switches. Clicking a disabled checkbox has no effect (as wished).
The problem is that even with the API I cannot deselect an disabled treenode.
Also I cannot enable a disabled Treenode through the API.
This is reproducable with the latest nightly SmartClient_v110p_2016-06-05_Pro and all current browsers.
There should be a possibility do select/deselect a disabled treenode.
A workaround would be to first store the enable-state in a variable, then do the activation etc, and then set the enable-state back to the treenode, but this should do the framework itself.
Code for reproduction:
Best regards
I have some issue with the behaviour of the selection with selectionAppearance checkbox.
If I have a tree with multiple nodes (only some are enabled).
When clicking a enabled checkbox, the state switches. Clicking a disabled checkbox has no effect (as wished).
The problem is that even with the API I cannot deselect an disabled treenode.
Also I cannot enable a disabled Treenode through the API.
This is reproducable with the latest nightly SmartClient_v110p_2016-06-05_Pro and all current browsers.
There should be a possibility do select/deselect a disabled treenode.
A workaround would be to first store the enable-state in a variable, then do the activation etc, and then set the enable-state back to the treenode, but this should do the framework itself.
Code for reproduction:
Code:
isc.TreeGrid.create({ "ID" : "theMainTree", "width" : "100%", "height" : "100%", "canEdit" : true, "showPartialSelection" : true, "selectionProperty" : "isSelected", "selectionAppearance" : "checkbox", "canGroupBy" : false, "canSort" : false, "showSelectedStyle" : false, "fields" : [{ "name" : "titleField", "title" : "title", "type" : "text" } ], data : isc.Tree.create({ "modelType" : "children", "openProperty" : "isOpen", "root" : { "title" : "Root", "id" : "3", "children" : [{ "title" : "", "isFolder" : false, "isOpen" : false, "id" : "1", "isSelected" : true, enabled : true, "titleField" : "enabled and checked" }, { "title" : "", "isFolder" : false, "isOpen" : false, "id" : "2", "isSelected" : false, enabled : false, "titleField" : "disabled" }, { "title" : "", "isFolder" : false, "isOpen" : false, "id" : "3", enabled : true, "isSelected" : false, "titleField" : "enabled" }, { "title" : "", "isFolder" : false, "isOpen" : false, "id" : "4", "isSelected" : true, enabled : false, "titleField" : "disabled and checked" } ] } }) }); isc.Button.create({ left : 20, top : 150, "action" : function () { var selectedRecords = []; var selectedIds = [1, 2, 3, 4]; for (i = 0; i < selectedIds.length; i++) { selectedRecords.push(theMainTree.data.find("id", selectedIds[i])); } theMainTree.deselectAllRecords(); theMainTree.selectRecords(selectedRecords); }, width : 200, "title" : 'select all' }); isc.Button.create({ left : 20, top : 170, "action" : function () { theMainTree.deselectAllRecords(); }, width : 200, "title" : 'deselect all' }); isc.Button.create({ left : 20, top : 190, "action" : function () { var selectedIds = [1, 2, 3, 4]; for (i = 0; i < selectedIds.length; i++) { record = theMainTree.data.find("id", selectedIds[i]); record.enabled = !record.enabled; } theMainTree.data.dataChanged(); }, width : 200, "title" : 'switch disable' });
Comment