aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/configurationApp/src/handlers/configurationAppRootHandler.ts
diff options
context:
space:
mode:
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;