You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.3 KiB
62 lines
1.3 KiB
//.CommonJS |
|
var CSSOM = {}; |
|
///CommonJS |
|
|
|
|
|
/** |
|
* @constructor |
|
* @see https://developer.mozilla.org/en/CSS/@-moz-document |
|
*/ |
|
CSSOM.MatcherList = function MatcherList(){ |
|
this.length = 0; |
|
}; |
|
|
|
CSSOM.MatcherList.prototype = { |
|
|
|
constructor: CSSOM.MatcherList, |
|
|
|
/** |
|
* @return {string} |
|
*/ |
|
get matcherText() { |
|
return Array.prototype.join.call(this, ", "); |
|
}, |
|
|
|
/** |
|
* @param {string} value |
|
*/ |
|
set matcherText(value) { |
|
// just a temporary solution, actually it may be wrong by just split the value with ',', because a url can include ','. |
|
var values = value.split(","); |
|
var length = this.length = values.length; |
|
for (var i=0; i<length; i++) { |
|
this[i] = values[i].trim(); |
|
} |
|
}, |
|
|
|
/** |
|
* @param {string} matcher |
|
*/ |
|
appendMatcher: function(matcher) { |
|
if (Array.prototype.indexOf.call(this, matcher) === -1) { |
|
this[this.length] = matcher; |
|
this.length++; |
|
} |
|
}, |
|
|
|
/** |
|
* @param {string} matcher |
|
*/ |
|
deleteMatcher: function(matcher) { |
|
var index = Array.prototype.indexOf.call(this, matcher); |
|
if (index !== -1) { |
|
Array.prototype.splice.call(this, index, 1); |
|
} |
|
} |
|
|
|
}; |
|
|
|
|
|
//.CommonJS |
|
exports.MatcherList = CSSOM.MatcherList; |
|
///CommonJS
|
|
|