diff options
Diffstat (limited to 'sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts')
-rw-r--r-- | sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts | 48 |
1 files changed, 13 insertions, 35 deletions
diff --git a/sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts b/sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts index 4ae8baa38..445541889 100644 --- a/sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts +++ b/sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts @@ -15,43 +15,21 @@ * the License. * ============LICENSE_END========================================================================== */ -import { IActionHandler } from '../../../../framework/src/flux/action'; +import { createExternal,IExternalTableState } from '../../../../framework/src/components/material-table/utilities'; +import { createSearchDataHandler } from '../../../../framework/src/utilities/elasticSearch'; import { MaintenenceEntry } from '../models/maintenenceEntryType'; -import { LoadAllMainteneceEntriesAction, AllMainteneceEntriesLoadedAction, UpdateMaintenanceEntry } from '../actions/maintenenceActions'; +export interface IMaintenanceEntriesState extends IExternalTableState<MaintenenceEntry> { } -export interface IMaintenenceEntriesState { - entries: MaintenenceEntry[]; - busy: boolean; -} +// create eleactic search material data fetch handler +const maintenanceEntriesSearchHandler = createSearchDataHandler<MaintenenceEntry>('maintenance'); -const maintenanceEntriesStateInit: IMaintenenceEntriesState = { - entries: [], - busy: false -}; +export const { + actionHandler: maintenanceEntriesActionHandler, + createActions: createmaintenanceEntriesActions, + createProperties: createmaintenanceEntriesProperties, + reloadAction: maintenanceEntriesReloadAction, + + // set value action, to change a value +} = createExternal<MaintenenceEntry>(maintenanceEntriesSearchHandler, appState => appState.maintenance.maintenenceEntries); -export const maintenenceEntriesActionHandler: IActionHandler<IMaintenenceEntriesState> = (state = maintenanceEntriesStateInit, action) => { - if (action instanceof LoadAllMainteneceEntriesAction){ - state = { - ...state, - busy: true, - } - } else if (action instanceof AllMainteneceEntriesLoadedAction){ - state = { - ...state, - entries: action.maintenenceEntries || [], - busy: false, - } - } else if (action instanceof UpdateMaintenanceEntry) { - const index = state.entries.findIndex(e => action.maintenenceEntry.mountId === e.mountId); - state = { - ...state, - entries: index > -1 ? [ - ...state.entries.slice(0, index), - action.maintenenceEntry, - ...state.entries.slice(index+1), - ] : [...state.entries, action.maintenenceEntry] - } - } - return state; -}
\ No newline at end of file |