UNPKG

sunshine-layx

Version:

A magical window.

40 lines (30 loc) 1.36 kB
import App from "../core/App"; import UIControl from "../basic/interfaces/UIControl"; import UIWindowComponent from "../basic/models/UIWindowComponent"; import UIWindow from "./UIWindow"; import * as Types from "../../types"; import * as ElementHelper from "../utils/ElementHelper"; import * as Enums from "../basic/enums"; import * as TypeHelper from "../utils/TypeHelper"; export default class UIHtmlContent extends UIWindowComponent implements UIControl { constructor(app: App, window: UIWindow, public content: string | Element) { super(app, window); } present(): DocumentFragment { const fragment = ElementHelper.createFragment(); const htmlContentElement = ElementHelper.createElement("div"); ElementHelper.addClasses(htmlContentElement, this.app.prefix, Enums.ComponentType.HTML_CONTENT ); if (TypeHelper.isElement(this.content)) { const newElement = this.content.cloneNode(true); ElementHelper.addStyles(<HTMLElement>newElement, <Types.CSSStyleObject>{ display: 'inherit' }); htmlContentElement.appendChild(newElement); } else htmlContentElement.innerHTML = this.content; fragment.appendChild(htmlContentElement); return fragment; } }