diff options
author | KAPIL SINGAL <ks220y@att.com> | 2020-08-31 12:49:34 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-08-31 12:49:34 +0000 |
commit | a4ceb7aa23cab5d291d0784095492b001709981f (patch) | |
tree | 25e7c23ef3acc6c201c0d784ea658c155cec2a64 /sdnr/wt/odlux/apps/networkMapApp/src/handlers/detailsReducer.ts | |
parent | b9aba01d54fa0f20c87dcac0f1aaa51bd8128652 (diff) | |
parent | 7058ffa19dde75c14eb89270c1a57926c0bce4cc (diff) |
Merge "Add networkMap"
Diffstat (limited to 'sdnr/wt/odlux/apps/networkMapApp/src/handlers/detailsReducer.ts')
-rw-r--r-- | sdnr/wt/odlux/apps/networkMapApp/src/handlers/detailsReducer.ts | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/sdnr/wt/odlux/apps/networkMapApp/src/handlers/detailsReducer.ts b/sdnr/wt/odlux/apps/networkMapApp/src/handlers/detailsReducer.ts new file mode 100644 index 000000000..f573009bd --- /dev/null +++ b/sdnr/wt/odlux/apps/networkMapApp/src/handlers/detailsReducer.ts @@ -0,0 +1,70 @@ +/** + * ============LICENSE_START======================================================================== + * ONAP : ccsdk feature sdnr wt odlux + * ================================================================================================= + * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved. + * ================================================================================================= + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express + * or implied. See the License for the specific language governing permissions and limitations under + * the License. + * ============LICENSE_END========================================================================== + */ + +import { IActionHandler } from '../../../../framework/src/flux/action'; +import { link } from "../model/link"; +import { site, Device } from "../model/site"; +import { HistoryEntry } from "../model/historyEntry"; +import { SelectSiteAction, SelectLinkAction, AddToHistoryAction, ClearHistoryAction, IsBusyCheckingDeviceListAction, FinishedLoadingDeviceListAction, ClearLoadedDevicesAction, ClearDetailsAction } from '../actions/detailsAction'; + +export type DetailsStoreState={ + data: site | link | null, + history: HistoryEntry[], + isBusyCheckingDeviceList: boolean, + checkedDevices: Device[] | null + +} + +const initialState: DetailsStoreState = { + data: null, + history:[], + isBusyCheckingDeviceList: false, + checkedDevices: null +} + +export const DetailsReducer:IActionHandler<DetailsStoreState>=(state = initialState, action)=>{ + + if(action instanceof SelectSiteAction){ + state= Object.assign({}, state, {data: action.site}); + } + else if(action instanceof SelectLinkAction){ + state = Object.assign({}, state, {data: action.link}); + }else if(action instanceof ClearDetailsAction){ + state = Object.assign({}, state, {data: null}); + } + else if(action instanceof AddToHistoryAction){ + state = Object.assign({}, state, {history: [...state.history, action.entry]}) + + }else if(action instanceof ClearHistoryAction){ + state = Object.assign({}, state, {history: []}); + + }else if(action instanceof IsBusyCheckingDeviceListAction){ + state = Object.assign({}, state, {isBusyCheckingDeviceList: action.isBusy}); + }else if (action instanceof FinishedLoadingDeviceListAction){ + state = Object.assign({}, state, {checkedDevices: action.devices}); + + }else if(action instanceof ClearLoadedDevicesAction){ + state = Object.assign({}, state, {checkedDevices: null}); + + } + + + return state; + +} + |