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}
);
}
}