diff options
author | Herbert Eiselt <herbert.eiselt@highstreet-technologies.com> | 2019-04-03 17:12:30 +0200 |
---|---|---|
committer | Herbert Eiselt <herbert.eiselt@highstreet-technologies.com> | 2019-04-03 17:13:01 +0200 |
commit | 97fa6d943c57a784a52462aaacb329ce93cf42d6 (patch) | |
tree | b5f0f2484c0a886fcade7b9bcf1d230e6f9e9501 /sdnr/wt/odlux/apps/configurationApp/src/handlers | |
parent | 3d6dd098db8ec243ca716a09fc55decbdd23b726 (diff) |
SDN-R odlux configuration
Add odlux configuration app
Change-Id: Ifecd3f6e1e3060a1fd1008f1f625a70cb2475a8a
Issue-ID: SDNC-584
Signed-off-by: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/odlux/apps/configurationApp/src/handlers')
-rw-r--r-- | sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts | 68 |
1 files changed, 68 insertions, 0 deletions
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<IConfigurationAppStoreState> = (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; |