UNPKG

tfp

Version:

A Web UI framework for TaskBuilder

214 lines (176 loc) 6.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _controller = require("../controller.js"); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * 选项卡组件 * @param {[type]} dataModel [description] */ var Tab = /*#__PURE__*/function (_ContainerComponent) { (0, _inherits2["default"])(Tab, _ContainerComponent); var _super = _createSuper(Tab); function Tab(__tfp, dataModel, parent) { var _this; (0, _classCallCheck2["default"])(this, Tab); _this = _super.call(this, __tfp, "Tab", dataModel, parent); if (!_this.dataModel.components || _this.dataModel.components.length == 0) { _this.dataModel.components = [{ id: _this.id + "_page1", type: "TabPage", isAttached: true, title: "page1" }, { id: _this.id + "_page2", type: "TabPage", title: "page2", isAttached: true, styles: { display: "none" } }]; } return _this; } (0, _createClass2["default"])(Tab, [{ key: "pages", get: function get() { var pages = []; for (var i = 0; i < this.dataModel.components.length; i++) { var tabPageDM = this.dataModel.components[i]; pages.push({ id: tabPageDM.id, type: "TabPage", title: tabPageDM.title }); } return pages; }, set: function set(value) { var pages = []; if (value) pages = value; var tabPages = []; if (this.dataModel.pageIndex >= pages.length) this.dataModel.pageIndex = pages.length - 1; if (this.dataModel.pageIndex < 0) this.dataModel.pageIndex = 0; for (var i = 0; i < pages.length; i++) { var page = pages[i]; var cdm = null; if (page.id) { var tabPage = this._tfp.components[page.id]; cdm = tabPage.dataModel; cdm.title = page.title; if (cdm.styles && cdm.styles.display) delete cdm.styles["display"]; delete this._tfp.components[tabPage.id]; } else { cdm = { type: "TabPage", isAttached: true, title: page.title }; } if (i != this.dataModel.pageIndex) { if (cdm.styles) { cdm.styles.display = "none"; } else { cdm.styles = { display: "none" }; } } tabPages.push(cdm); } this.dataModel.components = tabPages; this._jqObj.remove(); this.render(); if (this.dataModel.components.length > 0) this.showTabPage(0); } }, { key: "pageIndex", get: function get() { return this.dataModel.pageIndex; }, set: function set(value) { this.dataModel.pageIndex = value; if (this._jqObj) this.showTabPage(value); } }, { key: "titleWidth", get: function get() { return this.dataModel.titleWidth; }, set: function set(value) { this.dataModel.titleWidth = value; if (this._jqObj) { this._jqObj.find(".tfp-tab-head").css("width", value); } } }, { key: "titleHeight", get: function get() { return this.dataModel.titleHeight; }, set: function set(value) { this.dataModel.titleHeight = value; if (this._jqObj) { this._jqObj.find(".tfp-tab-head").css("height", value); } } }, { key: "containerEl", get: function get() { return this._jqObj.find(".tfp-tab-pages").get(0); } }, { key: "hasAttachedChilds", get: function get() { return true; } }, { key: "showTabPage", value: function showTabPage(index) { this._jqObj.find(".tfp-tabpage").hide(); this._jqObj.find(".tfp-tab-title").removeClass("tfp-tab-title-selected"); this._jqObj.find(".tfp-tabpage").eq(index).show(); this._jqObj.find(".tfp-tab-title").eq(index).addClass("tfp-tab-title-selected"); if (!this._tfp.isDesigning) { this.dataModel.pageIndex = index; for (var i = 0; i < this.dataModel.components.length; i++) { var tabPageDM = this.dataModel.components[i]; if (i == index) { if (tabPageDM.styles) delete tabPageDM.styles["display"]; } else { if (!tabPageDM.styles) tabPageDM.styles = {}; tabPageDM.styles["display"] = "none"; } } } //this.exeEventHandler("onTabIndexChange"); if (this.dataModel.onTabIndexChange && !this._tfp.isDesigning) eval(this.dataModel.onTabIndexChange); //window.event.stopPropagation(); } }, { key: "initRuntime", value: function initRuntime() { var that = this; this._jqObj.children(".tfp-tab-head").children(".tfp-tab-title").each(function (index) { $(this).click(function () { that.showTabPage(index); }); }); } }, { key: "initDesigning", value: function initDesigning() { if (this._tfp.isDesigning) this.initRuntime(); } }]); return Tab; }(_controller.ContainerComponent); exports["default"] = Tab;