帆软决策平台数据连接界面库
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.
 
 
 
 

36 lines
1.6 KiB

import { model, Model } from '@core/core';
import { AppModel } from 'src/modules/app.model';
import { Connection } from 'src/modules/crud/crud.typings';
import { ApiFactory } from 'src/modules/crud/apiFactory';
import { PAGE_INDEX } from '@constants/constant';
const api = new ApiFactory().create();
export const MaintainFormModelXtype = 'dec.dcm.model.maintain_form';
@model(MaintainFormModelXtype)
export class MaintainFormModel extends Model<{
context : {
datebaseTypeSelected: AppModel['$$childContext']['datebaseTypeSelected'];
datebaseTypeSelectedOne: AppModel['$$childContext']['datebaseTypeSelectedOne'];
connectionSelectedOne: AppModel['$$childContext']['connectionSelectedOne'];
saveEvent: AppModel['$$childContext']['saveEvent'];
testEvent: AppModel['$$childContext']['testEvent'];
pageIndex: AppModel['$$childContext']['pageIndex'];
connections: AppModel['$$childContext']['connections'];
}
}> {
context = ['datebaseTypeSelected', 'datebaseTypeSelectedOne', 'connectionSelectedOne', 'saveEvent', 'pageIndex', 'testEvent', 'connections'];
actions = {
addConnection: (data: Connection) => {
api.addConnection(data).then(() => {
this.model.pageIndex = PAGE_INDEX.CONNECTION;
});
},
updateConnection: (name: string, data: Connection) => {
data.connectionId = name;
api.updateConnection(data).then(() => {
this.model.pageIndex = PAGE_INDEX.CONNECTION;
});
},
testConnection: (connection: Connection) => api.testConnection(connection),
}
}