blob: 952519a294896183d1d2fc14d869424fa936554b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
// @flow
import Navigation, { AkGlobalItem } from '@atlaskit/navigation';
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { SettingsButton, SettingsDrawer } from '../../settings';
import HelpButton from './HelpButton';
import Logo from './Logo';
type Props = {
/**
* Whether Settings Drawer is open or not.
*/
_isSettingsDrawerOpen: boolean;
};
/**
* Navigation Bar component.
*/
class Navbar extends Component<Props, *> {
/**
* Get the array of Primary actions of Global Navigation.
*
* @returns {ReactElement[]}
*/
_getPrimaryActions() {
return [
<AkGlobalItem key = { 0 }>
<SettingsButton />
</AkGlobalItem>
];
}
/**
* Get the array of Secondary actions of Global Navigation.
*
* @returns {ReactElement[]}
*/
_getSecondaryActions() {
return [
<AkGlobalItem key = { 0 }>
<HelpButton />
</AkGlobalItem>
];
}
/**
* Render function of component.
*
* @returns {ReactElement}
*/
render() {
return (
<Navigation
drawers = { [
<SettingsDrawer
isOpen = { this.props._isSettingsDrawerOpen }
key = { 0 } />
] }
globalPrimaryActions = { this._getPrimaryActions() }
globalPrimaryIcon = { <Logo /> }
globalSecondaryActions = { this._getSecondaryActions() }
isOpen = { false }
isResizeable = { false } />
);
}
}
/**
* Maps (parts of) the redux state to the React props.
*
* @param {Object} state - The redux state.
* @returns {{
* _isSettingsDrawerOpen: boolean
* }}
*/
function _mapStateToProps(state: Object) {
return {
_isSettingsDrawerOpen: state.navbar.openDrawer === SettingsDrawer
};
}
export default connect(_mapStateToProps)(Navbar);
|