2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 import React from 'react';
17 import PropTypes from 'prop-types';
18 import i18n from 'nfvo-utils/i18n/i18n.js';
19 import Input from 'nfvo-components/input/validation/Input.jsx';
20 import GridSection from 'nfvo-components/grid/GridSection.jsx';
21 import GridItem from 'nfvo-components/grid/GridItem.jsx';
23 const PointerInput = ({label, value, onQDataChanged, qgenericFieldInfo, dataMap, lastColInRow}) => {
25 <GridItem lastColInRow={lastColInRow}>
29 data-test-id={`${value}`}
30 isValid={qgenericFieldInfo[value].isValid}
31 errorText={qgenericFieldInfo[value].errorText}
32 value={dataMap[value]}
33 onChange={val => onQDataChanged({[value]: val})} />
38 PointerInput.PropTypes = {
39 label: PropTypes.string,
40 value: PropTypes.string
43 const PacketsBytes = ({title, pointers = [], qgenericFieldInfo, dataMap, onQDataChanged}) => {
45 <GridSection title={title} hasLastColSet>
46 <GridItem colSpan={2}>
47 <div className='part-title-small packets'>{i18n('Packets')}</div>
49 <GridItem colSpan={2} lastColInRow>
50 <div className='part-title-small bytes'>{i18n('Bytes')}</div>
52 {pointers.map((pointer, i) => {return (<PointerInput key={i} label={pointer.label} value={pointer.value}
53 qgenericFieldInfo={qgenericFieldInfo} onQDataChanged={onQDataChanged} dataMap={dataMap} lastColInRow={i === 3} />);})}
58 PacketsBytes.PropTypes = {
59 title: PropTypes.string,
60 pointers: PropTypes.array,
61 onQDataChanged: PropTypes.function,
62 dataMap: PropTypes.object,
63 qgenericFieldInfo: PropTypes.object
66 export default PacketsBytes;