import { PanelDetailModel } from './panel-detail'; /** * 分页部件模型 * * @export * @class PanelTabPanelModel * @extends {PanelDetailModel} */ export class PanelTabPanelModel extends PanelDetailModel { /** * 被激活分页 * * @type {string} * @memberof PanelTabPanelModel */ public activiedPage: string = ''; /** * 选中激活状态 * * @type {string} * @memberof PanelTabPanelModel */ public clickActiviePage: string = ''; /** * 分页子成员 * * @type {string[]} * @memberof PanelTabPanelModel */ public details: string[] = []; /** * Creates an instance of PanelTabPanelModel. * PanelTabPanelModel 实例 * * @param {*} [opts={}] * @memberof PanelTabPanelModel */ constructor(opts: any = {}) { super(opts); this.details = opts.details; } /** * 设置激活分页 * * @memberof PanelTabPanelModel */ public setActiviePage(): void { if (!this.panel) { return; } const detailsModel: any = this.panel.layoutModelDetails; // const index = this.tabPages.findIndex((tabpage: any) => Object.is(tabpage.name, this.clickActiviePage) && Object.is(tabpage.name, this.activiedPage) && detailsModel[tabpage.name].visible); // if (index !== - 1) { // return; // } // this.tabPages.some((tabpage: any) => { // if (detailsModel[tabpage.name].visible) { // this.activiedPage = tabpage.name; // return true; // } // return false; // }); } /** * 选中页面 * * @param {*} $event * @returns {void} * @memberof PanelTabPanelModel */ public clickPage($event: any): void { if (!$event) { return; } this.clickActiviePage = $event; this.activiedPage = $event; } }