diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index 994610f43..997c69f6a 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -1091,12 +1091,12 @@ const Component = Backbone.Model.extend(Styleable).extend( /** * This method checks, for each parsed component and style object * (are not Components/CSSRules yet), for duplicated id and fixes them - * + * This method is used in Components.js just after the parsing */ checkId(components, styles = [], list = {}) { const comps = isArray(components) ? components : [components]; comps.forEach(comp => { - const { attributes = {} } = comp; + const { attributes = {}, components } = comp; const { id } = attributes; // Check if we have collisions with current components @@ -1112,6 +1112,8 @@ const Component = Backbone.Model.extend(Styleable).extend( }); }); } + + components && Component.checkId(components, styles, list); }); } } diff --git a/test/specs/dom_components/model/Component.js b/test/specs/dom_components/model/Component.js index c92c57f94..1483ef842 100644 --- a/test/specs/dom_components/model/Component.js +++ b/test/specs/dom_components/model/Component.js @@ -557,8 +557,11 @@ module.exports = { dcomp = new DomComponents(); dcomp.init({ em }); const id = 'myid'; + const idB = 'myid2'; const block = ` -