From 75be5144a95488e557afabeca8ae50da8e15c60a Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 7 Aug 2021 19:56:26 +0200 Subject: [PATCH] Add __innerHTML method to Component --- src/dom_components/model/Component.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index 0c06bf6a9..fc1ce726f 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -1402,16 +1402,21 @@ export default class Component extends Model.extend(Styleable) { } } - const comps = model.get('components'); - const content = !comps.length ? model.get('content') : ''; const attrString = attrs.length ? ` ${attrs.join(' ')}` : ''; - let code = `<${tag}${attrString}${sTag ? '/' : ''}>${content}`; - comps.forEach(comp => (code += comp.toHTML(opts))); + const inner = model.__innerHTML(opts); + let code = `<${tag}${attrString}${sTag ? '/' : ''}>${inner}`; !sTag && (code += ``); return code; } + __innerHTML(opts = {}) { + const cmps = this.components(); + return !cmps.length + ? this.get('content') + : cmps.map(c => c.toHTML(opts)).join(''); + } + /** * Returns object of attributes for HTML * @return {Object}