| //.CommonJS | |
| var CSSOM = { | |
| CSSRule: require("./CSSRule").CSSRule | |
| }; | |
| ///CommonJS | |
| /** | |
| * @constructor | |
| * @see https://drafts.csswg.org/cssom/#the-cssgroupingrule-interface | |
| */ | |
| CSSOM.CSSGroupingRule = function CSSGroupingRule() { | |
| CSSOM.CSSRule.call(this); | |
| this.cssRules = []; | |
| }; | |
| CSSOM.CSSGroupingRule.prototype = new CSSOM.CSSRule(); | |
| CSSOM.CSSGroupingRule.prototype.constructor = CSSOM.CSSGroupingRule; | |
| /** | |
| * Used to insert a new CSS rule to a list of CSS rules. | |
| * | |
| * @example | |
| * cssGroupingRule.cssText | |
| * -> "body{margin:0;}" | |
| * cssGroupingRule.insertRule("img{border:none;}", 1) | |
| * -> 1 | |
| * cssGroupingRule.cssText | |
| * -> "body{margin:0;}img{border:none;}" | |
| * | |
| * @param {string} rule | |
| * @param {number} [index] | |
| * @see https://www.w3.org/TR/cssom-1/#dom-cssgroupingrule-insertrule | |
| * @return {number} The index within the grouping rule's collection of the newly inserted rule. | |
| */ | |
| CSSOM.CSSGroupingRule.prototype.insertRule = function insertRule(rule, index) { | |
| if (index < 0 || index > this.cssRules.length) { | |
| throw new RangeError("INDEX_SIZE_ERR"); | |
| } | |
| var cssRule = CSSOM.parse(rule).cssRules[0]; | |
| cssRule.parentRule = this; | |
| this.cssRules.splice(index, 0, cssRule); | |
| return index; | |
| }; | |
| /** | |
| * Used to delete a rule from the grouping rule. | |
| * | |
| * cssGroupingRule.cssText | |
| * -> "img{border:none;}body{margin:0;}" | |
| * cssGroupingRule.deleteRule(0) | |
| * cssGroupingRule.cssText | |
| * -> "body{margin:0;}" | |
| * | |
| * @param {number} index within the grouping rule's rule list of the rule to remove. | |
| * @see https://www.w3.org/TR/cssom-1/#dom-cssgroupingrule-deleterule | |
| */ | |
| CSSOM.CSSGroupingRule.prototype.deleteRule = function deleteRule(index) { | |
| if (index < 0 || index >= this.cssRules.length) { | |
| throw new RangeError("INDEX_SIZE_ERR"); | |
| } | |
| this.cssRules.splice(index, 1)[0].parentRule = null; | |
| }; | |
| //.CommonJS | |
| exports.CSSGroupingRule = CSSOM.CSSGroupingRule; | |
| ///CommonJS | |