| 1 |
import { Grid } from '@elementor/app-ui'; |
| 2 |
import HeaderButtons from '../../../../../../assets/js/layout/header-buttons'; |
| 3 |
import { appsEventTrackingDispatch } from 'elementor-app/event-track/apps-event-tracking'; |
| 4 |
|
| 5 |
export default function Header( props ) { |
| 6 |
const eventTracking = ( command, source = 'home page', kitName = null, eventType = 'click' ) => appsEventTrackingDispatch( |
| 7 |
command, |
| 8 |
{ |
| 9 |
page_source: source, |
| 10 |
element_position: 'app_header', |
| 11 |
kit_name: kitName, |
| 12 |
event_type: eventType, |
| 13 |
}, |
| 14 |
), |
| 15 |
onClose = () => { |
| 16 |
eventTracking( 'kit-library/close', props?.pageId, props?.kitName ); |
| 17 |
window.top.location = elementorAppConfig.admin_url; |
| 18 |
}; |
| 19 |
|
| 20 |
return ( |
| 21 |
<Grid container alignItems="center" justify="space-between" className="eps-app__header"> |
| 22 |
{ props.startColumn || <a |
| 23 |
className="eps-app__logo-title-wrapper" |
| 24 |
href="#/kit-library" |
| 25 |
onClick={ () => eventTracking( 'kit-library/logo' ) } |
| 26 |
> |
| 27 |
<i className="eps-app__logo eicon-elementor" /> |
| 28 |
<h1 className="eps-app__title">{ __( 'Kit Library', 'elementor' ) }</h1> |
| 29 |
</a> } |
| 30 |
{ props.centerColumn || <span /> } |
| 31 |
{ props.endColumn || <div style={ { flex: 1 } }> |
| 32 |
<HeaderButtons buttons={ props.buttons } onClose={ onClose } /> |
| 33 |
</div> } |
| 34 |
</Grid> |
| 35 |
); |
| 36 |
} |
| 37 |
|
| 38 |
Header.propTypes = { |
| 39 |
startColumn: PropTypes.node, |
| 40 |
endColumn: PropTypes.node, |
| 41 |
centerColumn: PropTypes.node, |
| 42 |
buttons: PropTypes.arrayOf( PropTypes.object ), |
| 43 |
kitName: PropTypes.string, |
| 44 |
pageId: PropTypes.string, |
| 45 |
}; |
| 46 |
|