import { MEditViewPanelControlBase } from '../../../widgets'; import { throttle } from '@ibizstudio/runtime'; /** * 多编辑面板部件基类 * * @export * @class AppListExpBarBase * @extends {ListExpBarControlBase} */ export class AppMEditViewPanelBase extends MEditViewPanelControlBase { /** * 绘制内容 * * @memberof AppMEditViewPanelBase */ renderContent() { if (!this.controlInstance.getEmbeddedPSAppView()) { return; } if (Object.is(this.controlInstance.panelStyle, 'TAB_TOP')) { return this.renderTabtop(); } return this.renderRow(); } /** * 绘制上分页样式 * * * @memberof AppMEditViewPanelBase */ renderTabtop() { return ( {this.items.map((item: any) => { return ( {this.$createElement('app-view-shell', { props: { staticProps: { viewDefaultUsage: false, viewModelData: this.controlInstance.getEmbeddedPSAppView(), panelState: this.panelState, }, dynamicProps: { viewdata: JSON.stringify(item.viewdata), viewparam: JSON.stringify(item.viewparam), }, }, class: 'viewcontainer2', on: { viewdataschange: this.viewDataChange.bind(this), viewload: this.viewload.bind(this), }, })} ); })} ); } /** * 绘制行记录样式 * * @memberof AppMEditViewPanelBase */ renderRow() { return this.items.map((item: any) => { return [ this.$createElement('app-view-shell', { props: { staticProps: { viewDefaultUsage: false, viewModelData: this.controlInstance.getEmbeddedPSAppView(), panelState: this.panelState, }, dynamicProps: { viewdata: JSON.stringify(item.viewdata), viewparam: JSON.stringify(item.viewparam), }, }, class: 'viewcontainer2', on: { viewdataschange: this.viewDataChange.bind(this), viewload: this.viewload.bind(this), }, }), , ]; }); } /** * 绘制部件 * * @param h * @memberof AppMEditViewPanelBase */ render(h: any) { if (!this.controlIsLoaded) { return null; } const { controlClassNames } = this.renderOptions; return (
{this.items.length > 0 ? this.renderContent() : null} {this.showButton ? ( throttle(this.handleAdd, [], this)} style='float: right;'> {this.$t('app.local.add')} ) : null}
); } }