From 830b6577ee25a6955bd4e275f216e1cadeff168c Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Thu, 10 May 2012 13:20:19 -0700 Subject: CSS Panel - Rule List refactor Improved adding, updating, and sorting of rules in rule list. --- .../rule-list-container.js | 33 ++++++++++++---------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'js/panels/css-panel/rule-list-container.reel/rule-list-container.js') diff --git a/js/panels/css-panel/rule-list-container.reel/rule-list-container.js b/js/panels/css-panel/rule-list-container.reel/rule-list-container.js index 5371ec9a..d9aae867 100644 --- a/js/panels/css-panel/rule-list-container.reel/rule-list-container.js +++ b/js/panels/css-panel/rule-list-container.reel/rule-list-container.js @@ -11,8 +11,8 @@ exports.RuleListContainer = Montage.create(Component, { _instanceToAdd : { value: null }, _appendElement : { value: null }, _lastDisplayedList : { value: null }, - _displayedList : { value: null }, + _displayedList : { value: null }, displayedList : { get: function() { return this._displayedList; @@ -74,22 +74,21 @@ exports.RuleListContainer = Montage.create(Component, { add : { value: function(selection) { var stylesController = this.application.ninja.stylesController, - listInstance = Montage.create(this.ruleListComponent), + instance = Montage.create(this.ruleListComponent), container = document.createElement('div'), rules, ruleListLog; rules = this.getRulesForSelection(selection); - this._instanceToAdd = listInstance; - listInstance.rules = rules; + this._instanceToAdd = instance; + instance.rules = rules; ruleListLog = { selection: selection, - component : listInstance + component : instance }; this.ruleLists.push(ruleListLog); - this._appendElement = container; this.needsDraw = true; @@ -120,17 +119,21 @@ exports.RuleListContainer = Montage.create(Component, { update : { value: function() { - var stylesController = this.application.ninja.stylesController, - rules = this.getRulesForSelection(this.displayedList.selection), - newRules; + this.displayedList.component.rules = this.getRulesForSelection(this.displayedList.selection); + - newRules = rules.filter(function(rule) { - return rule.type !== 'inline' && this.displayedList.component.rules.indexOf(rule) === -1; - }, this); + ///// Update the currently displayed list + //this.displayedList.component.update(); - newRules.forEach(function(rule) { - this.displayedList.component.addRule(rule); - },this); + ///// Find the new rules which need to be added to the rule-list +// newRules = rules.filter(function(rule) { +// return rule.type !== 'inline' && this.displayedList.component.rules.indexOf(rule) === -1; +// }, this); +// +// ///// Add the new rules +// newRules.forEach(function(rule) { +// this.displayedList.component.addRule(rule); +// },this); } }, -- cgit v1.2.3