blob: 0cac3cd726f46a0939d73804c25bf52e621d5c96 [file] [log] [blame]
Avi Ziv61070c92017-07-26 17:37:57 +03001/*!
2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing
14 * permissions and limitations under the License.
15 */
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020016import { other as optionInputOther } from 'nfvo-components/input/validation/InputOptions.jsx';
Avi Ziv61070c92017-07-26 17:37:57 +030017
18function getValueFromObject(element) {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020019 return (element.choices &&
20 element.choices.length > 0 &&
21 element.choices[0] !== '' &&
22 element.choices[0] !== optionInputOther.OTHER) ||
23 (element.other && element.choices[0] === optionInputOther.OTHER)
24 ? element
25 : undefined;
az2497644017c2017-08-10 17:49:40 +030026}
Avi Ziv61070c92017-07-26 17:37:57 +030027
28function getValueFromVariable(variable) {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020029 return variable ? variable : undefined;
Avi Ziv61070c92017-07-26 17:37:57 +030030}
31
talig8e9c0652017-12-20 14:30:43 +020032function getArrayData(variable) {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020033 return variable.length ? variable : undefined;
talig8e9c0652017-12-20 14:30:43 +020034}
35
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020036let getValue = element => {
37 return typeof element === 'object'
38 ? element instanceof Array
39 ? getArrayData(element)
40 : getValueFromObject(element)
41 : getValueFromVariable(element);
42};
Avi Ziv61070c92017-07-26 17:37:57 +030043
az2497644017c2017-08-10 17:49:40 +030044export function getStrValue(choiceObject) {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020045 if (!choiceObject) {
46 return undefined;
47 }
48 if (
49 choiceObject.choice &&
50 choiceObject.choice !== '' &&
51 choiceObject.choice !== optionInputOther.OTHER
52 ) {
53 return choiceObject.choice;
54 } else if (
55 choiceObject.other &&
56 choiceObject.choice === optionInputOther.OTHER
57 ) {
58 return choiceObject.other;
59 }
az2497644017c2017-08-10 17:49:40 +030060}
61
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020062export default getValue;