From 9bc724eb295680872af8e748cd60931292b8a8bf Mon Sep 17 00:00:00 2001 From: "mathieu.cottret" Date: Thu, 2 Jul 2020 15:04:43 +0200 Subject: [PATCH] Expose options parameter to `setStyle` & `setComponents`. Closes artf/grapesjs#2856 --- src/dom_components/index.js | 10 ++++++---- src/editor/index.js | 10 ++++++---- src/editor/model/Editor.js | 10 ++++++---- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/dom_components/index.js b/src/dom_components/index.js index 74d7b4091..d92581bfc 100644 --- a/src/dom_components/index.js +++ b/src/dom_components/index.js @@ -509,6 +509,7 @@ export default () => { * @param {string} [component.content=''] String inside component * @param {Object} [component.style={}] Style object * @param {Object} [component.attributes={}] Attribute object + * @param {Object} opt the options object to be used by the [Components.add]{@link getComponents} method * @return {Component|Array} Component/s added * @example * // Example of a new component with some extra property @@ -522,8 +523,8 @@ export default () => { * attributes: { title: 'here' } * }); */ - addComponent(component) { - return this.getComponents().add(component); + addComponent(component, opt = {}) { + return this.getComponents().add(component, opt); }, /** @@ -551,11 +552,12 @@ export default () => { /** * Set components * @param {Object|string} components HTML string or components model + * @param {Object} opt the options object to be used by the {@link addComponent} method * @return {this} * @private */ - setComponents(components) { - this.clear().addComponent(components); + setComponents(components, opt = {}) { + this.clear().addComponent(components, opt); }, /** diff --git a/src/editor/index.js b/src/editor/index.js index 6f99b55f7..edad5c85f 100644 --- a/src/editor/index.js +++ b/src/editor/index.js @@ -247,6 +247,7 @@ export default (config = {}) => { /** * Set components inside editor's canvas. This method overrides actual components * @param {Array|Object|string} components HTML string or components model + * @param {Object} opt the options object to be used by the [setComponents]{@link em#setComponents} method * @return {this} * @example * editor.setComponents('
New component
'); @@ -257,8 +258,8 @@ export default (config = {}) => { * content: 'New component' * }); */ - setComponents(components) { - em.setComponents(components); + setComponents(components, opt = {}) { + em.setComponents(components, opt); return this; }, @@ -294,6 +295,7 @@ export default (config = {}) => { /** * Set style inside editor's canvas. This method overrides actual style * @param {Array|Object|string} style CSS string or style model + * @param {Object} opt the options object to be used by the [setStyle]{@link em#setStyle} method * @return {this} * @example * editor.setStyle('.cls{color: red}'); @@ -303,8 +305,8 @@ export default (config = {}) => { * style: { color: 'red' } * }); */ - setStyle(style) { - em.setStyle(style); + setStyle(style, opt = {}) { + em.setStyle(style, opt); return this; }, diff --git a/src/editor/model/Editor.js b/src/editor/model/Editor.js index 03a0e22f4..980d928da 100644 --- a/src/editor/model/Editor.js +++ b/src/editor/model/Editor.js @@ -382,11 +382,12 @@ export default Backbone.Model.extend({ /** * Set components inside editor's canvas. This method overrides actual components * @param {Object|string} components HTML string or components model + * @param {Object} opt the options object to be used by the [setComponents]{@link setComponents} method * @return {this} * @private */ - setComponents(components) { - return this.get('DomComponents').setComponents(components); + setComponents(components, opt = {}) { + return this.get('DomComponents').setComponents(components, opt); }, /** @@ -407,13 +408,14 @@ export default Backbone.Model.extend({ /** * Set style inside editor's canvas. This method overrides actual style * @param {Object|string} style CSS string or style model + * @param {Object} opt the options object to be used by the [CssRules.add]{@link rules#add} method * @return {this} * @private */ - setStyle(style) { + setStyle(style, opt = {}) { var rules = this.get('CssComposer').getAll(); for (var i = 0, len = rules.length; i < len; i++) rules.pop(); - rules.add(style); + rules.add(style, opt); return this; },