帆软决策平台数据连接界面库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

71 lines
2.0 KiB

import {WidgetType, Vertical, Left, Label, ListView} from '@ui/index';
import Model from './right.model';
import {info} from '@shared/crud/crud.request';
import RightCard from './right_card';
import {InfoType} from './right.typings';
import {LinkType} from '@ui/type';
import pluginListConstant from '../../app.constant';
const className = 'fr.component.linkStatus.right';
let Title: any = null;
let Group: any = null;
const Widget: WidgetType = {
_store() {
return BI.Models.getModel(Model);
},
watch: {
statusSelected(title: string) {
const link = BI.find(this.model.linkList, (index: number, item: LinkType) => item.connectionName === title);
const plugins: string[] = BI.Constants.getConstant(pluginListConstant);
const isPlugin = link.text && BI.some(plugins, (index: number, item: string) => item === link.text);
const Pool = isPlugin ? BI.Constants.getConstant(`dec.constant.database.conf.connect.form.${link.text.toLowerCase()}.pool`) : RightCard;
info(name, (res: InfoType) => {
Group.populate(BI.createItems([{
type: Pool,
...res,
}]));
});
Title.setText(`${BI.i18nText('Dec-Dcm_Data_Connections')}(${title})`);
},
},
render() {
return {
type: Vertical,
cls: 'dcm-link-form',
minWidth: 400,
items: [
{
type: Left,
cls: 'right-status-title bi-border-bottom',
height: 40,
items: [
{
type: Label,
cls: 'bi-font-bold',
textHeight: 40,
lgap: 10,
text: BI.i18nText('Dec-Dcm_Data_Connections'),
},
],
ref(ref: any) {
Title = ref;
},
}, {
type: ListView,
cls: 'right-status-body',
vgap: 10,
hgap: 10,
ref(ref: any) {
Group = ref;
},
},
],
};
},
mounted() {
},
};
BI.shortcut(className, BI.inherit(BI.Widget, Widget));
export default className;