Stickit refactoring for node group checkboxes
Change-Id: I97c8566fda7d22d19cf89628fc1d5cab593e8060
This commit is contained in:
parent
7c16388b3c
commit
c5e0945157
@ -8,7 +8,7 @@
|
|||||||
"lodash": "1.1.1",
|
"lodash": "1.1.1",
|
||||||
"autoNumeric": "http://github.com/BobKnothe/autoNumeric/zipball/1.9.12",
|
"autoNumeric": "http://github.com/BobKnothe/autoNumeric/zipball/1.9.12",
|
||||||
"jquery.timeout": "http://jquery-timeout.googlecode.com/files/jquery.timeout-1.1.0.js",
|
"jquery.timeout": "http://jquery-timeout.googlecode.com/files/jquery.timeout-1.1.0.js",
|
||||||
"backbone.stickit": "https://raw.github.com/NYTimes/backbone.stickit/7437202ec91863aa29a6ad31b0bd00c6b130f506/backbone.stickit.js",
|
"backbone.stickit": "https://raw.github.com/NYTimes/backbone.stickit/0.7.0/backbone.stickit.js",
|
||||||
"i18next": "1.7.1",
|
"i18next": "1.7.1",
|
||||||
"backbone-deep-model": "0.10.4",
|
"backbone-deep-model": "0.10.4",
|
||||||
"less": "1.5.1"
|
"less": "1.5.1"
|
||||||
|
@ -536,22 +536,21 @@ function(utils, models, commonViews, dialogViews, nodesManagementPanelTemplate,
|
|||||||
selectAllBindings: {
|
selectAllBindings: {
|
||||||
'input[name=select-nodes-common]': {
|
'input[name=select-nodes-common]': {
|
||||||
observe: 'checked',
|
observe: 'checked',
|
||||||
stickitChange: true,
|
onSet: 'selectNodes',
|
||||||
attributes: [{
|
attributes: [{
|
||||||
name: 'disabled',
|
name: 'disabled',
|
||||||
observe: 'disabled'
|
observe: 'disabled'
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectNodes: function(model, value, options) {
|
selectNodes: function(value) {
|
||||||
if (options.stickitChange) {
|
_.each(this.subViews, function(nodeGroup) {
|
||||||
_.each(this.subViews, function(nodeGroup) {
|
if (!nodeGroup.selectAllCheckbox.get('disabled')) {
|
||||||
if (!nodeGroup.selectAllCheckbox.get('disabled')) {
|
nodeGroup.selectAllCheckbox.set('checked', value);
|
||||||
nodeGroup.selectAllCheckbox.set('checked', value);
|
}
|
||||||
}
|
});
|
||||||
});
|
_.invoke(this.filteredNodes.where({disabled: false}), 'set', {checked: value});
|
||||||
_.invoke(this.filteredNodes.where({disabled: false}), 'set', {checked: value});
|
return value;
|
||||||
}
|
|
||||||
},
|
},
|
||||||
hideSummaryPanel: function(e) {
|
hideSummaryPanel: function(e) {
|
||||||
if (!(e && $(e.target).closest(this.$('.node-list-name')).length)) {
|
if (!(e && $(e.target).closest(this.$('.node-list-name')).length)) {
|
||||||
@ -611,7 +610,6 @@ function(utils, models, commonViews, dialogViews, nodesManagementPanelTemplate,
|
|||||||
checked: false,
|
checked: false,
|
||||||
disabled: false
|
disabled: false
|
||||||
});
|
});
|
||||||
this.selectAllCheckbox.on('change:checked', this.selectNodes, this);
|
|
||||||
},
|
},
|
||||||
renderNodeGroups: function(nodeGroups) {
|
renderNodeGroups: function(nodeGroups) {
|
||||||
this.$('.nodes').html('');
|
this.$('.nodes').html('');
|
||||||
@ -650,20 +648,19 @@ function(utils, models, commonViews, dialogViews, nodesManagementPanelTemplate,
|
|||||||
selectAllBindings: {
|
selectAllBindings: {
|
||||||
'input[name=select-node-group]': {
|
'input[name=select-node-group]': {
|
||||||
observe: 'checked',
|
observe: 'checked',
|
||||||
stickitChange: true,
|
onSet: 'selectNodes',
|
||||||
attributes: [{
|
attributes: [{
|
||||||
name: 'disabled',
|
name: 'disabled',
|
||||||
observe: 'disabled'
|
observe: 'disabled'
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectNodes: function(model, value, options) {
|
selectNodes: function(value) {
|
||||||
if (options.stickitChange) {
|
_.each(this.nodes.where({disabled: false}), function(node) {
|
||||||
_.each(this.nodes.where({disabled: false}), function(node) {
|
node.set('checked', value);
|
||||||
node.set('checked', value);
|
});
|
||||||
});
|
this.nodeList.calculateSelectAllCheckedState();
|
||||||
this.nodeList.calculateSelectAllCheckedState();
|
return value;
|
||||||
}
|
|
||||||
},
|
},
|
||||||
calculateSelectAllCheckedState: function() {
|
calculateSelectAllCheckedState: function() {
|
||||||
var availableNodes = this.nodes.filter(function(node) {return node.isSelectable();});
|
var availableNodes = this.nodes.filter(function(node) {return node.isSelectable();});
|
||||||
@ -680,7 +677,6 @@ function(utils, models, commonViews, dialogViews, nodesManagementPanelTemplate,
|
|||||||
checked: false,
|
checked: false,
|
||||||
disabled: false
|
disabled: false
|
||||||
});
|
});
|
||||||
this.selectAllCheckbox.on('change:checked', this.selectNodes, this);
|
|
||||||
this.selectAllCheckbox.on('change:disabled', this.nodeList.calculateSelectAllDisabledState, this.nodeList);
|
this.selectAllCheckbox.on('change:disabled', this.nodeList.calculateSelectAllDisabledState, this.nodeList);
|
||||||
this.nodes.on('change:checked', this.calculateSelectAllCheckedState, this);
|
this.nodes.on('change:checked', this.calculateSelectAllCheckedState, this);
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user