Create wt-odlux directory
[ccsdk/features.git] / sdnr / wt-odlux / odlux / apps / inventoryApp / src / handlers / inventoryAppRootHandler.ts
1 /**
2 * ============LICENSE_START========================================================================
3 * ONAP : ccsdk feature sdnr wt odlux
4 * =================================================================================================
5 * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6 * =================================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8 * in compliance with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software distributed under the License
13 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14 * or implied. See the License for the specific language governing permissions and limitations under
15 * the License.
16 * ============LICENSE_END==========================================================================
17 */
18 // main state handler
19
20 import { combineActionHandler } from '../../../../framework/src/flux/middleware';
21 // ** do not remove **
22 // eslint-disable-next-line @typescript-eslint/no-unused-vars
23 import { IApplicationStoreState } from '../../../../framework/src/store/applicationStore';
24
25 import { PanelId } from '../models/panelId';
26 import { IInventoryDeviceListState, inventoryDeviceListActionHandler } from './inventoryDeviceListActionHandler';
27 import { IInventoryElementsState, inventoryElementsActionHandler } from './inventoryElementsHandler';
28 import { IInvenroryTree, inventoryTreeHandler } from './inventoryTreeHandler';
29 import { currentOpenPanelHandler } from './panelHandler';
30
31 export interface IInventoryAppStateState {
32   inventoryTree: IInvenroryTree;
33   currentOpenPanel: PanelId;
34   inventoryElements: IInventoryElementsState;
35   inventoryDeviceList: IInventoryDeviceListState;
36 }
37
38 declare module '../../../../framework/src/store/applicationStore' {
39   interface IApplicationStoreState {
40     inventory: IInventoryAppStateState;
41   }
42 }
43
44 const actionHandlers = {
45   inventoryTree: inventoryTreeHandler,
46   currentOpenPanel: currentOpenPanelHandler,
47   inventoryElements: inventoryElementsActionHandler,
48   inventoryDeviceList: inventoryDeviceListActionHandler,
49 };
50
51 export const inventoryAppRootHandler = combineActionHandler<IInventoryAppStateState>(actionHandlers);
52 export default inventoryAppRootHandler;
53