From 97fa6d943c57a784a52462aaacb329ce93cf42d6 Mon Sep 17 00:00:00 2001 From: Herbert Eiselt Date: Wed, 3 Apr 2019 17:12:30 +0200 Subject: SDN-R odlux configuration Add odlux configuration app Change-Id: Ifecd3f6e1e3060a1fd1008f1f625a70cb2475a8a Issue-ID: SDNC-584 Signed-off-by: Herbert Eiselt --- .../src/handlers/configurationAppRootHandler.ts | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts (limited to 'sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts') diff --git a/sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts b/sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts new file mode 100644 index 000000000..4b982149a --- /dev/null +++ b/sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts @@ -0,0 +1,68 @@ +// main state handler + +import { combineActionHandler } from '../../../../framework/src/flux/middleware'; + +import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore'; +import { IActionHandler } from '../../../../framework/src/flux/action'; + +import { ViewSpecification } from '../models/uiModels'; +import { CoreModelNetworkElement } from '../models/coreModel'; +import { UpdateCoreModel, UpdateLoading, UpdateLp, UpdateViewData } from '../actions/configurationActions'; + +export interface IConfigurationAppStoreState { + loading: boolean; + nodeId?: string; + lpId?: string; + viewId?: string; + indexValues?: string; + capability?: string; + conditionalPackage?: string, + coreModel?: CoreModelNetworkElement; + viewSpecifications: ViewSpecification[]; + viewData: {}; +} + +declare module '../../../../framework/src/store/applicationStore' { + interface IApplicationStoreState { + configuration: IConfigurationAppStoreState + } +} + +const configurationAppStoreStateInit: IConfigurationAppStoreState = { + loading: false, + viewSpecifications: [], + viewData: {} +}; + +export const configurationAppRootHandler: IActionHandler = (state = configurationAppStoreStateInit, action) => { + if (action instanceof UpdateLoading) { + state = { + ...state, + loading: action.loading + }; + } else if (action instanceof UpdateCoreModel) { + state = { + ...state, + nodeId: action.nodeId, + coreModel: action.coreModel + }; + } else if (action instanceof UpdateLp) { + state = { + ...state, + lpId: action.lpId, + capability: action.capability, + conditionalPackage: action.conditionalPackage, + viewSpecifications: action.viewSpecifications + }; + } else if (action instanceof UpdateViewData) { + state = { + ...state, + viewData: action.viewData, + indexValues: action.indexValues, + viewId: action.viewId, + }; + } + return state; +}; + +export default configurationAppRootHandler; -- cgit 1.2.3-korg