|
|
|
import {WidgetType, ListView} from '@ui';
|
|
|
|
import Model from '../link_set.model';
|
|
|
|
import {LinkType} from '@ui/type';
|
|
|
|
import LeftItem from './item/left_item';
|
|
|
|
|
|
|
|
const className = 'dec.dcm.component.linkset.left';
|
|
|
|
let leftContent: any = null;
|
|
|
|
const Widget: WidgetType = {
|
|
|
|
_store() {
|
|
|
|
return BI.Models.getModel(Model);
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
linkList(linkList: LinkType[]) {
|
|
|
|
leftContent.populate(BI.createItems(this._renderItems(linkList)));
|
|
|
|
},
|
|
|
|
},
|
|
|
|
render() {
|
|
|
|
return {
|
|
|
|
type: ListView,
|
|
|
|
ref(_ref: any) {
|
|
|
|
leftContent = _ref;
|
|
|
|
},
|
|
|
|
items: this._renderItems(this.model.linkList),
|
|
|
|
};
|
|
|
|
},
|
|
|
|
_renderItems(linkList: LinkType[]) {
|
|
|
|
return BI.map(linkList, (index: number, item: LinkType) => {
|
|
|
|
return {
|
|
|
|
type: LeftItem,
|
|
|
|
selected: item.isSelected,
|
|
|
|
title: item.connectionName,
|
|
|
|
id: item.connectionId,
|
|
|
|
creator: item.creator,
|
|
|
|
text: item.text ? item.text : BI.i18nText('Dec-Dcm_Default'),
|
|
|
|
};
|
|
|
|
});
|
|
|
|
},
|
|
|
|
};
|
|
|
|
BI.shortcut(className, BI.inherit(BI.Widget, Widget));
|
|
|
|
export default className;
|