UNPKG

elmer-ui-core

Version:

web app framework

103 lines (102 loc) 4.84 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeResize = exports.addResize = exports.ElmerUI = void 0; var elmer_common_1 = require("elmer-common"); var globalUtil_1 = require("../init/globalUtil"); var injectable_1 = require("../inject/injectable"); var Component_1 = require("./Component"); var ElmerDom_1 = require("./ElmerDom"); var ElmerRender_1 = require("./ElmerRender"); var ElmerResize_1 = require("./ElmerResize"); var ElmerUI = (function (_super) { __extends(ElmerUI, _super); function ElmerUI() { var _this = _super.call(this) || this; if (document && document.body && !_this.$.hasClass(document.body, "elmerTheme")) { _this.$.addClass(document.body, "elmerTheme"); } return _this; } ElmerUI.prototype.render = function (target, htmlCode, bindComponent, options) { if (this.isDOM(target)) { var ignorePropKeys = ["selector", "template", "model", "service", "i18n", "connect", "setData", "setState", "render", "$after", "$onPropsChanged", "$afterVirtualRender", "$afterDiff", "$beforeVirtualRender", "$beforeDiff", "$init", "$inject", "$before", "$resize", "$dispose"]; var handler = bindComponent || {}; var defaultProps = handler.props || {}; this.extend(handler, elmer_common_1.Common.prototype); this.extend(handler, Component_1.Component.prototype, true, ignorePropKeys); this.defineReadOnlyProperty(handler, "props", defaultProps); var render = new ElmerRender_1.ElmerRender({ component: handler, context: { renderStore: { options: options } }, htmlCode: htmlCode, uiRenderOptions: options, virtualId: "root", virtualTarget: target }); handler.dom = {}; handler["render"] = function () { return htmlCode; }; if (!globalUtil_1.getGlobalState("renderOptions")) { globalUtil_1.defineGlobalState("renderOptions", options || {}); } render.render(true); if (options && options.isRSV) { this.setValue(globalUtil_1.getGlobalState("renderOptions"), "rsvAttachDom", true); } typeof handler.$didMount === "function" && handler.$didMount(); return render; } else { console.error("render方法指定参数target不是一个有效的dom", target, htmlCode); } }; __decorate([ injectable_1.autowired(ElmerDom_1.ElmerDOM), __metadata("design:type", ElmerDom_1.ElmerDOM) ], ElmerUI.prototype, "$", void 0); return ElmerUI; }(elmer_common_1.Common)); exports.ElmerUI = ElmerUI; var addResize = function (id, callBack) { var sender = new ElmerResize_1.WindowResizeListen(); var liseners = sender.getEventListener(); liseners[id] = callBack; elmerData.resizeListeners = liseners; }; exports.addResize = addResize; var removeResize = function (id) { var sender = new ElmerResize_1.WindowResizeListen(); sender.remove(id); }; exports.removeResize = removeResize;