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
10 * http://www.apache.org/licenses/LICENSE-2.0
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
16 * ============LICENSE_END==========================================================================
19 import { IActionHandler } from '../../../../framework/src/flux/action';
21 import { UpdateViewDescription, UpdateOutputData, UpdateNewData } from '../actions/deviceActions';
22 import { ViewSpecification } from '../models/uiModels';
24 export enum DisplayModeType {
32 export type DisplaySpecification = {
33 displayMode: DisplayModeType.doNotDisplay;
35 displayMode: DisplayModeType.displayAsObject | DisplayModeType.displayAsList ;
36 viewSpecification: ViewSpecification;
41 displayMode: DisplayModeType.displayAsRPC;
42 inputViewSpecification?: ViewSpecification;
43 outputViewSpecification?: ViewSpecification;
46 displayMode: DisplayModeType.displayAsMessage;
47 renderMessage: string;
50 export interface IViewDescriptionState {
52 displaySpecification: DisplaySpecification;
58 const viewDescriptionStateInit: IViewDescriptionState = {
60 displaySpecification: {
61 displayMode: DisplayModeType.doNotDisplay,
64 outputData: undefined,
67 export const viewDescriptionHandler: IActionHandler<IViewDescriptionState> = (state = viewDescriptionStateInit, action) => {
68 if (action instanceof UpdateViewDescription) {
72 viewData: action.viewData,
73 outputData: undefined,
74 displaySpecification: action.displaySpecification,
76 } else if (action instanceof UpdateOutputData) {
79 outputData: action.outputData,
81 } else if (action instanceof UpdateNewData) {
84 newData: action.newData,