Browse Source

Up wrapper toHTML

pull/5895/head
Artur Arseniev 2 years ago
parent
commit
07f113001e
  1. 11
      src/dom_components/model/ComponentWrapper.ts
  2. 3
      test/specs/dom_components/model/Component.ts

11
src/dom_components/model/ComponentWrapper.ts

@ -1,3 +1,4 @@
import { isUndefined } from 'underscore';
import { attrToString } from '../../utils/dom';
import Component from './Component';
import ComponentHead, { type as typeHead } from './ComponentHead';
@ -52,14 +53,14 @@ export default class ComponentWrapper extends Component {
}
toHTML(opts: ToHTMLOptions = {}) {
const { asDocument } = opts;
const { head, docEl } = this;
const { doctype = '' } = this.attributes;
const asDoc = !isUndefined(opts.asDocument) ? opts.asDocument : !!doctype;
const { head, docEl } = this;
const body = super.toHTML(opts);
const headStr = (asDocument && head?.toHTML(opts)) || '';
const docElAttr = (asDocument && attrToString(docEl?.getAttrToHTML())) || '';
const headStr = (asDoc && head?.toHTML(opts)) || '';
const docElAttr = (asDoc && attrToString(docEl?.getAttrToHTML())) || '';
const docElAttrStr = docElAttr ? ` ${docElAttr}` : '';
return asDocument ? `${doctype}<html${docElAttrStr}>${headStr}${body}</html>` : body;
return asDoc ? `${doctype}<html${docElAttrStr}>${headStr}${body}</html>` : body;
}
__postAdd() {

3
test/specs/dom_components/model/Component.ts

@ -703,7 +703,8 @@ describe('Components', () => {
const added = dcomp.addComponent(block) as Component;
const addComps = added.components();
// Let's check if everthing is working as expected
expect(Object.keys(dcomp.componentsById).length).toBe(3); // + 1 wrapper
// 2 test components + 1 wrapper + 1 head + 1 docEl
expect(Object.keys(dcomp.componentsById).length).toBe(5);
expect(added.getId()).toBe(id);
expect(addComps.at(0).getId()).toBe(idB);
const cc = em.get('CssComposer');

Loading…
Cancel
Save