summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts')
-rw-r--r--sdnr/wt/odlux/apps/maintenanceApp/src/handlers/maintenenceEntriesHandler.ts48
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