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