summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts
diff options
context:
space:
mode:
authorHerbert Eiselt <herbert.eiselt@highstreet-technologies.com>2019-04-03 17:12:30 +0200
committerHerbert Eiselt <herbert.eiselt@highstreet-technologies.com>2019-04-03 17:13:01 +0200
commit97fa6d943c57a784a52462aaacb329ce93cf42d6 (patch)
treeb5f0f2484c0a886fcade7b9bcf1d230e6f9e9501 /sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts
parent3d6dd098db8ec243ca716a09fc55decbdd23b726 (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/configurationAppRootHandler.ts')
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts68
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;