Browse Source

Fix the bug of css rule duplicates

pull/36/head
Artur Arseniev 10 years ago
parent
commit
4ce6811b9c
  1. 1
      src/css_composer/main.js
  2. 4
      src/css_composer/model/CssRule.js
  3. 2
      src/dom_components/model/Components.js
  4. 11
      test/specs/css_composer/main.js

1
src/css_composer/main.js

@ -234,7 +234,6 @@ define(function(require) {
var newSels = [];
for(var j = 0, le = sels.length; j < le; j++){
var selec = sm.add(sels[j]);
console.log('Selector: ', selec.get('name'), selec.cid);
newSels.push(selec);
}
var model = this.add(newSels, rule.state, rule.width);

4
src/css_composer/model/CssRule.js

@ -46,10 +46,10 @@ define(['backbone', './Selectors'],
//var a2 = _.pluck(this.get('selectors').models, cId);
if(!(selectors instanceof Array) && !selectors.models)
selectors = [selectors];
var a1 = _.each((selectors.models || selectors), function(model) {
var a1 = _.map((selectors.models || selectors), function(model) {
return model.get('name');
});
var a2 = _.each(this.get('selectors').models, function(model) {
var a2 = _.map(this.get('selectors').models, function(model) {
return model.get('name');
});
var f = false;

2
src/dom_components/model/Components.js

@ -56,8 +56,6 @@ define([ 'backbone', 'require'],
var cssc = this.editor.get('CssComposer');
if(parsed.css && cssc){
var added = cssc.addCollection(parsed.css);
console.log(added);
//cssc.getAll().add(parsed.css);
}
}

11
test/specs/css_composer/main.js

@ -116,6 +116,15 @@ define([
rule3.should.deep.equal(rule2);
});
it("Do not create multiple rules with the same name selectors", function() {
var sel1 = new obj.Selectors([{name: 'test21'}, {name: 'test22'}]);
var rule1 = obj.add(sel1.models);
var sel2 = new obj.Selectors([{name: 'test22'}, {name: 'test21'}]);
var rule2 = obj.add(sel2.models);
rule2.should.deep.equal(rule1);
});
it("Don't duplicate rules", function() {
var sel = new obj.Selectors([]);
var s1 = sel.add({name: 'test1'});
@ -168,4 +177,4 @@ define([
e2e.run();
});
});
});

Loading…
Cancel
Save