d08ff434f14bf33b38909782bf385bc53b65e11b
[sdc/sdc-workflow-designer.git] /
1 /*
2 * Copyright © 2018 European Support Limited
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 or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 import React from 'react';
17 import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';
18 import PropTypes from 'prop-types';
19
20 const SvgButton = props => {
21     const {
22         name,
23         tooltipText,
24         disabled,
25         onClick,
26         dataTestId,
27         actiontype
28     } = props;
29     let onClickAction = disabled ? () => {} : () => onClick(actiontype);
30     return (
31         <div
32             className={`action-button-wrapper ${
33                 disabled ? 'disabled' : 'clickable'
34             }`}
35             onClick={onClickAction}>
36             <div className="action-buttons-svg">
37                 <SVGIcon
38                     label={tooltipText}
39                     labelPosition="bottom"
40                     labelClassName="action-button-label"
41                     data-test-id={dataTestId}
42                     name={name}
43                     disabled={disabled}
44                 />
45             </div>
46         </div>
47     );
48 };
49
50 SvgButton.propTypes = {
51     name: PropTypes.string,
52     tooltipText: PropTypes.string,
53     disabled: PropTypes.bool,
54     onClick: PropTypes.func,
55     dataTestId: PropTypes.string,
56     actiontype: PropTypes.string
57 };
58
59 export default SvgButton;