tfp
Version:
A Web UI framework for TaskBuilder
214 lines (176 loc) • 6.5 kB
JavaScript
"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;