|
|
|
@ -148,6 +148,7 @@ define(function(require) { |
|
|
|
* @param {Array<Selector>} selectors Array of selectors |
|
|
|
* @param {String} state Css rule state |
|
|
|
* @param {String} width For which device this style is oriented |
|
|
|
* @param {Object} opts Other options for the rule |
|
|
|
* @return {Model} |
|
|
|
* @example |
|
|
|
* var sm = editor.SelectorManager; |
|
|
|
@ -159,17 +160,18 @@ define(function(require) { |
|
|
|
* color: '#fff', |
|
|
|
* }); |
|
|
|
* */ |
|
|
|
add: function(selectors, state, width) { |
|
|
|
add: function(selectors, state, width, opts) { |
|
|
|
var s = state || ''; |
|
|
|
var w = width || ''; |
|
|
|
var opt = opts || {}; |
|
|
|
var rule = this.get(selectors, s, w); |
|
|
|
if(rule) |
|
|
|
return rule; |
|
|
|
else{ |
|
|
|
rule = new CssRule({ |
|
|
|
state: s, |
|
|
|
maxWidth: w, |
|
|
|
}); |
|
|
|
else { |
|
|
|
opt.state = s; |
|
|
|
opt.maxWidth = w; |
|
|
|
opt.selectors = ''; |
|
|
|
rule = new CssRule(opt); |
|
|
|
rule.get('selectors').add(selectors); |
|
|
|
rules.add(rule); |
|
|
|
return rule; |
|
|
|
@ -224,7 +226,8 @@ define(function(require) { |
|
|
|
var opt = opts || {}; |
|
|
|
var result = []; |
|
|
|
var d = data instanceof Array ? data : [data]; |
|
|
|
for(var i = 0, l = d.length; i < l; i++){ |
|
|
|
|
|
|
|
for (var i = 0, l = d.length; i < l; i++) { |
|
|
|
var rule = d[i] || {}; |
|
|
|
if(!rule.selectors) |
|
|
|
continue; |
|
|
|
@ -234,11 +237,13 @@ define(function(require) { |
|
|
|
var sl = rule.selectors; |
|
|
|
var sels = sl instanceof Array ? sl : [sl]; |
|
|
|
var newSels = []; |
|
|
|
for(var j = 0, le = sels.length; j < le; j++){ |
|
|
|
|
|
|
|
for (var j = 0, le = sels.length; j < le; j++) { |
|
|
|
var selec = sm.add(sels[j]); |
|
|
|
newSels.push(selec); |
|
|
|
} |
|
|
|
var model = this.add(newSels, rule.state, rule.maxWidth); |
|
|
|
|
|
|
|
var model = this.add(newSels, rule.state, rule.maxWidth, rule); |
|
|
|
if (opt.extend) { |
|
|
|
var newStyle = _.extend({}, model.get('style'), rule.style || {}); |
|
|
|
model.set('style', newStyle); |
|
|
|
@ -247,6 +252,7 @@ define(function(require) { |
|
|
|
} |
|
|
|
result.push(model); |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
}, |
|
|
|
|
|
|
|
|