summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts')
-rw-r--r--sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
new file mode 100644
index 000000000..039ae5357
--- /dev/null
+++ b/sdnr/wt/odlux/apps/performanceHistoryApp/src/handlers/connectedNetworkElementsActionHandler.ts
@@ -0,0 +1,43 @@
+import { IActionHandler } from '../../../../framework/src/flux/action';
+
+import {
+ AllConnectedNetworkElementsLoadedAction,
+ LoadAllConnectedNetworkElementsAction,
+} from '../actions/connectedNetworkElementsActions';
+
+import { ConnectedNetworkElements } from '../models/connectedNetworkElements';
+
+export interface IConnectedNetworkElementsState {
+ connectedNetworkElements: ConnectedNetworkElements[];
+ busy: boolean;
+}
+
+const connectedNetworkElementsStateInit: IConnectedNetworkElementsState = {
+ connectedNetworkElements: [],
+ busy: false
+};
+
+export const connectedNetworkElementsActionHandler: IActionHandler<IConnectedNetworkElementsState> = (state = connectedNetworkElementsStateInit, action) => {
+ if (action instanceof LoadAllConnectedNetworkElementsAction) {
+
+ state = {
+ ...state,
+ busy: true
+ };
+
+ } else if (action instanceof AllConnectedNetworkElementsLoadedAction) {
+ if (!action.error && action.connectedNetworkElements) {
+ state = {
+ ...state,
+ connectedNetworkElements: action.connectedNetworkElements,
+ busy: false
+ };
+ } else {
+ state = {
+ ...state,
+ busy: false
+ };
+ }
+ }
+ return state;
+}; \ No newline at end of file