UNPKG

qcobjects

Version:

QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.

59 lines (56 loc) 1.67 kB
import { ISourceCSS, TBody } from "types"; import { _basePath_ } from "./basePath"; import { _Cast } from "./Cast"; import { _domain_ } from "./domain"; import { _DOMCreateElement } from "./DOMCreateElement"; import { InheritClass } from "./InheritClass"; import { isBrowser } from "./platform"; import { Package } from "./Package"; export class SourceCSS extends InheritClass implements ISourceCSS { domain: string = _domain_; basePath: string = _basePath_; url = ""; data = {}; async = false; external = false; constructor(o: any) { super(o); this.body = _DOMCreateElement("link") as TBody; } fail(): void { throw new Error("Method not implemented."); } Cast(o: any): any { return _Cast(this, o); } set(name: string, value: any): void { this[name] = value; } get(name: string, _default?: any): any { return this[name] || _default; } done(): void { } rebuild(): void { const context = this; if (isBrowser) { window.document.getElementsByTagName("head")[0].appendChild( (function (s: any, url: string, context: any): any { s.type = "text/css"; s.rel = "stylesheet"; s.href = url; s.crossOrigin = "anonymous"; s.onreadystatechange = function () { if (this.readyState === "complete") { context.done.call(context); } }; s.onload = context.done; context.body = s; return s; }).call(this, _DOMCreateElement("link"), (this.external) ? (this.url) : (this.basePath + this.url), context)); } } } Package("com.qcobjects", [SourceCSS]);