|
|
|
import { model, Model } from '@core/core';
|
|
|
|
import { ApiFactory } from '../../..//crud/apiFactory';
|
|
|
|
import { AppModel } from '../../../app.model';
|
|
|
|
const api = new ApiFactory().create();
|
|
|
|
@model()
|
|
|
|
export class ConnectionListModel extends Model<{
|
|
|
|
types : {
|
|
|
|
connections: AppModel['TYPE']['connections'];
|
|
|
|
connectionSelected: AppModel['TYPE']['connectionSelected'];
|
|
|
|
},
|
|
|
|
context: ConnectionListModel['context'];
|
|
|
|
}> {
|
|
|
|
static xtype = 'dec.dcm.model.connection.list';
|
|
|
|
|
|
|
|
context = <const>['connections', 'connectionSelected'];
|
|
|
|
|
|
|
|
computed = {
|
|
|
|
shwoType: () => BI.size(this.model.connections) > 0 ? 'list' : 'none',
|
|
|
|
}
|
|
|
|
|
|
|
|
actions = {
|
|
|
|
setConnections: ():Promise<void> => api.getConnectionList().then(data => {
|
|
|
|
if (BI.size(data.data) > 0) {
|
|
|
|
this.model.connections = data.data;
|
|
|
|
this.model.connections.forEach(item => {
|
|
|
|
// 后端传过来的是字符串,转为对象
|
|
|
|
item.connectionData = JSON.parse(item.connectionData as string);
|
|
|
|
});
|
|
|
|
this.model.connectionSelected = data.data[0].connectionName;
|
|
|
|
} else {
|
|
|
|
this.model.connectionSelected = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
return new Promise(resolve => {
|
|
|
|
resolve();
|
|
|
|
});
|
|
|
|
}),
|
|
|
|
}
|
|
|
|
}
|