ec173cd9884c3680f62069ae26eef6d713b6caa7
[sdc.git] /
1 /*!
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  */
16 import React from 'react';
17 import i18n from 'nfvo-utils/i18n/i18n.js';
18 import Input from 'nfvo-components/input/validation/Input.jsx';
19 import GridSection from 'nfvo-components/grid/GridSection.jsx';
20 import GridItem from 'nfvo-components/grid/GridItem.jsx';
21 import { forms } from 'sdc-app/onboarding/softwareProduct/components/SoftwareProductComponentsConstants.js';
22
23 import Format from './Format.jsx';
24 import Version from './Version.jsx';
25
26 const FileDetails = ({
27     editingMode,
28     fileName,
29     onDataChanged,
30     isManual,
31     dataMap,
32     onQDataChanged,
33     genericFieldInfo,
34     qgenericFieldInfo
35 }) => {
36     let fileNameCols = editingMode ? 3 : 4;
37     return (
38         <GridSection hasLastColSset>
39             <GridItem colSpan={fileNameCols} lastColInRow={!editingMode}>
40                 <Input
41                     disabled={!isManual}
42                     onChange={fileName =>
43                         onDataChanged({ fileName }, forms.IMAGE_EDIT_FORM)
44                     }
45                     label={i18n('Image Name')}
46                     data-test-id="image-filename"
47                     value={fileName}
48                     isValid={genericFieldInfo.fileName.isValid}
49                     errorText={genericFieldInfo.fileName.errorText}
50                     isRequired={true}
51                     type="text"
52                     className="image-filename"
53                 />
54             </GridItem>
55             {!editingMode && (
56                 <div className="note-text">
57                     {i18n(
58                         'After image creation you must go to Edit Image and add File Version'
59                     )}
60                 </div>
61             )}
62             {editingMode && (
63                 <Version
64                     isManual={isManual}
65                     dataMap={dataMap}
66                     qgenericFieldInfo={qgenericFieldInfo}
67                     onQDataChanged={onQDataChanged}
68                 />
69             )}
70             {editingMode && (
71                 <Format
72                     isManual={isManual}
73                     qgenericFieldInfo={qgenericFieldInfo}
74                     dataMap={dataMap}
75                     onQDataChanged={onQDataChanged}
76                 />
77             )}
78         </GridSection>
79     );
80 };
81 export default FileDetails;