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 = ['pageIndex', 'datebaseTypeSelected', 'datebaseTypeSelectedOne', 'filter', 'connections', 'connectionSelected', 'connectionSelectedOne', 'saveEvent', 'testEvent', 'isCopy']; state() { return { pageIndex: PAGE_INDEX.CONNECTION, datebaseTypeSelected: '', filter: DATEBASE_FILTER_TYPE.COMMONLY, connections: [] as Connection[], connectionSelected: '', saveEvent: '', testEvent: '', isCopy: 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; }, } }