Migrate sdc-sdc-workflow-designer docs
[sdc/sdc-workflow-designer.git] / workflow-designer-ui / src / main / frontend / src / shared / navigationSideBar / NavigationLink.jsx
1 /*!
2  * Copyright © 2016-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
13  * or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16
17 import React from 'react';
18 import PropTypes from 'prop-types';
19 import classnames from 'classnames';
20
21 function getItemDataTestId(itemId) {
22     return itemId.split('|')[0];
23 }
24
25 const NavigationLink = ({ item, activeItemId, onClick }) => {
26     return (
27         <div
28             key={'navAction_' + item.id}
29             className={classnames('navigation-group-item-name', {
30                 selected: item.id === activeItemId,
31                 disabled: item.disabled,
32                 'bold-name': item.expanded,
33                 hidden: item.hidden
34             })}
35             onClick={event => onClick(event, item)}
36             data-test-id={'navbar-group-item-' + getItemDataTestId(item.id)}>
37             {item.name}
38         </div>
39     );
40 };
41
42 NavigationLink.propTypes = {
43     item: PropTypes.object,
44     activeItemId: PropTypes.string,
45     onClick: PropTypes.func
46 };
47
48 export default NavigationLink;