blob: aad0a0b1fbbb21d12ece5ae21f5df60c6f5f8839 [file] [log] [blame]
AviZi280f8012017-06-09 02:39:56 +03001/*!
Michael Landoefa037d2017-02-19 12:57:33 +02002 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
AviZi280f8012017-06-09 02:39:56 +03003 *
Michael Landoefa037d2017-02-19 12:57:33 +02004 * 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
AviZi280f8012017-06-09 02:39:56 +03007 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
Michael Landoefa037d2017-02-19 12:57:33 +020010 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
AviZi280f8012017-06-09 02:39:56 +030012 * 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.
Michael Landoefa037d2017-02-19 12:57:33 +020015 */
Michael Landoefa037d2017-02-19 12:57:33 +020016import keyMirror from 'nfvo-utils/KeyMirror.js';
17import i18n from 'nfvo-utils/i18n/i18n.js';
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020018import InputOptions, {
19 other as optionInputOther
20} from 'nfvo-components/input/validation/InputOptions.jsx';
Michael Landoefa037d2017-02-19 12:57:33 +020021
22export const actionTypes = keyMirror({
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020023 LICENSE_KEY_GROUPS_LIST_LOADED: null,
24 DELETE_LICENSE_KEY_GROUP: null,
25 EDIT_LICENSE_KEY_GROUP: null,
26 ADD_LICENSE_KEY_GROUP: null,
27 LICENSE_KEY_GROUPS_DELETE_CONFIRM: null,
28 licenseKeyGroupsEditor: {
29 OPEN: null,
30 CLOSE: null,
31 DATA_CHANGED: null,
32 LIMITS_LIST_LOADED: null
33 }
Michael Landoefa037d2017-02-19 12:57:33 +020034});
35
36export const defaultState = {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020037 licenseKeyGroupsEditor: {
38 type: '',
39 operationalScope: { choices: [], other: '' }
40 }
Michael Landoefa037d2017-02-19 12:57:33 +020041};
42
AviZi280f8012017-06-09 02:39:56 +030043export const LKG_FORM_NAME = 'LKGFORM';
44
Michael Landoefa037d2017-02-19 12:57:33 +020045export const optionsInputValues = {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020046 OPERATIONAL_SCOPE: [
47 { enum: '', title: i18n('please select…') },
48 { enum: 'Network_Wide', title: 'Network Wide' },
49 { enum: 'Availability_Zone', title: 'Availability Zone' },
50 { enum: 'Data_Center', title: 'Data Center' },
51 { enum: 'Tenant', title: 'Tenant' },
52 { enum: 'VM', title: 'VM' },
53 { enum: 'CPU', title: 'CPU' },
54 { enum: 'Core', title: 'Core' }
55 ],
56 TYPE: [
57 { enum: '', title: i18n('please select…') },
58 { enum: 'Universal', title: 'Universal' },
59 { enum: 'Unique', title: 'Unique' },
60 { enum: 'One_Time', title: 'One Time' }
61 ]
Michael Landoefa037d2017-02-19 12:57:33 +020062};
63
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020064export const extractValue = item => {
65 if (item === undefined) {
66 return '';
67 } //TODO fix it later
Michael Landoefa037d2017-02-19 12:57:33 +020068
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020069 return item
70 ? item === optionInputOther.OTHER
71 ? item
72 : InputOptions.getTitleByName(optionsInputValues, item)
73 : '';
AviZi280f8012017-06-09 02:39:56 +030074};
75
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020076export const getOperationalScopes = operationalScope => {
77 if (
78 operationalScope.choices.toString() === i18n(optionInputOther.OTHER) &&
79 operationalScope.other !== ''
80 ) {
81 return operationalScope.other;
82 } else {
83 let allOpScopes = '';
84 for (let opScope of operationalScope.choices) {
85 allOpScopes +=
86 allOpScopes === ''
87 ? InputOptions.getTitleByName(optionsInputValues, opScope)
88 : `, ${InputOptions.getTitleByName(
89 optionsInputValues,
90 opScope
91 )}`;
92 }
93 return allOpScopes;
94 }
AviZi280f8012017-06-09 02:39:56 +030095};
Avi Ziv61070c92017-07-26 17:37:57 +030096
97export const tabIds = {
Einav Weiss Keidar7fdf7332018-03-20 14:45:40 +020098 GENERAL: 'GENERAL',
99 SP_LIMITS: 'SP_LIMITS',
100 VENDOR_LIMITS: 'VENDOR_LIMITS',
101 ADD_LIMIT_BUTTON: 'ADD_LIMIT_BUTTON'
Avi Ziv61070c92017-07-26 17:37:57 +0300102};