var $tree = $('#tic-package-left-col-tree');
var defaultFilters = [];
+ let rootNodes = [];
let repos = [];
let packages = [];
let pkgInfo = null;
return new Promise(function (resolve, reject) {
function _onRendered(event, nodes) {
packages = _.values(nodes);
+ var rootNodeCheck = (rootNodes.length == 0);
_.forEach(nodes, function(node, key) {
// add a reference variable for treeview
var pkg = _findFromNode(node);
pkg.view.push(node);
}
}
+ node.state.disabled = false;
+ node.state.expanded = false;
+ node.state.checked = false;
+ node.state.selected = false;
+
+ if (rootNodeCheck && node.level == 1) {
+ if (node.text == 'Advanced (individual packages)')
+ node['expandcondition'] = 'all';
+ rootNodes.push(key);
+ }
});
_setDefaultPackage(rawData.installpackages);
_updateSummary();
$('#tic-package-toolbar-source').click().click();
$tree.treeview('collapseAll', { silent: true });
+ _expandReserved();
resolve();
}
$tree.treeview({
data: rawData.view,
- showIcon: false,
+ showIcon: true,
showCheckbox: true,
+ checkboxFirst: true,
onRendered: _onRendered,
onNodeSelected: _nodeSelected,
onNodeUnselected: _onNodeUnselected,
function _filterCategory() {
_filter([]);
_collapseAll();
+ _expandReserved();
}
$("input:radio[name='category']").on('change',_filterCategory);
$('#tic-package-left-col-tree-toolbar-expand-all').on('click', _expandAll);
}
+ function _expandReserved()
+ {
+ // Search for root nodes, expand if the category is for it.
+ var category = $("input:radio[name='category']:checked").attr('data-category');
+
+ _.forEach(rootNodes, function(idx) {
+ if (packages[idx].expandcondition == category) {
+ var node = packages[idx];
+
+ // FIXME: 'state.expanded = true' is not reflected in the node.
+ //$tree.treeview('expandNode', [node, { silent: false }]);
+ var $expand = node.$el.find('.expand-icon.glyphicon-plus')[0];
+ if ($expand) {
+ $expand.click();
+ }
+ }
+ });
+ }
+
+
function _initContextMenu() {
function _uncheckAllBtnHandler() {
// INFO: bug for state.checked = false in treeview objects