|
|
|
import { PAGE_INDEX, DATEBASE_FILTER_TYPE } from './constants/constant';
|
|
|
|
import { Model, model } from '@core/core';
|
|
|
|
import { Connection } from 'src/modules/crud/crud.typings';
|
|
|
|
import { getAllDatabaseTypes } from './app.service';
|
|
|
|
|
|
|
|
@model()
|
|
|
|
export class AppModel extends Model {
|
|
|
|
static xtype = 'dec.dcm.model.main';
|
|
|
|
|
|
|
|
childContext = <const>['pageIndex', 'datebaseTypeSelected', 'datebaseTypeSelectedOne', 'filter', 'connections', 'connectionSelected', 'connectionSelectedOne', 'saveEvent', 'testEvent', 'isCopy', 'connectionLicInfo', 'noTestConnection'];
|
|
|
|
|
|
|
|
state() {
|
|
|
|
return {
|
|
|
|
pageIndex: PAGE_INDEX.CONNECTION,
|
|
|
|
datebaseTypeSelected: '',
|
|
|
|
filter: DATEBASE_FILTER_TYPE.COMMONLY,
|
|
|
|
connections: [] as Connection[],
|
|
|
|
connectionSelected: '',
|
|
|
|
saveEvent: '',
|
|
|
|
testEvent: '',
|
|
|
|
isCopy: false,
|
|
|
|
connectionLicInfo: {
|
|
|
|
currentConnectionNum: 0,
|
|
|
|
maxConnectionNum: 0,
|
|
|
|
},
|
|
|
|
noTestConnection: false,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
computed = {
|
|
|
|
connectionSelectedOne: () => this.model.connections.find(item => item.connectionName === this.model.connectionSelected),
|
|
|
|
datebaseTypeSelectedOne: () => getAllDatabaseTypes().find(item => item.databaseType === this.model.datebaseTypeSelected),
|
|
|
|
};
|
|
|
|
|
|
|
|
actions = {
|
|
|
|
setPageIndex: (index: string) => {
|
|
|
|
this.model.pageIndex = index;
|
|
|
|
},
|
|
|
|
setFilter: (filter: string) => {
|
|
|
|
this.model.filter = filter;
|
|
|
|
},
|
|
|
|
setDatebaseTypeSelected: (datebaseTypeSelected: string) => {
|
|
|
|
this.model.datebaseTypeSelected = datebaseTypeSelected;
|
|
|
|
},
|
|
|
|
};
|
|
|
|
}
|