@natlibfi/melinda-transliteration
Version:
UI for transliterating MARC records in Melinda
93 lines (82 loc) • 2.87 kB
JSX
/**
*
* @licstart The following is the entire license notice for the JavaScript code in this file.
*
* UI for transliterating MARC records in Melinda
*
* Copyright (c) 2016-2017 University Of Helsinki (The National Library Of Finland)
*
* This file is part of melinda-transliteration-ui
*
* melinda-transliteration-ui program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* melinda-transliteration-ui is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @licend The above is the entire license notice
* for the JavaScript code in this file.
*
*/
import React from 'react';
import PropTypes from 'prop-types';
import '../../styles/components/navbar.scss';
export class NavBar extends React.Component {
static propTypes = {
onLogout: PropTypes.func.isRequired,
appTitle: PropTypes.string.isRequired,
username: PropTypes.string
}
componentDidMount() {
const navigationDropdownEl = this._dropdown;
window.$(navigationDropdownEl).dropdown({
inDuration: 150,
outDuration: 150,
constrain_width: false,
hover: false,
gutter: 0,
belowOrigin: true,
alignment: 'left'
});
}
preventDefault(e) {
e.preventDefault();
}
onLogout(e) {
e.preventDefault();
this.props.onLogout();
}
render() {
const { username, appTitle } = this.props;
return (
<div className="navbar">
<nav>
<div className="nav-wrapper">
<ul id="nav" className="left">
<li className="heading">{appTitle}</li>
</ul>
<ul id="nav" className="right">
<li>
<a className="nav-dropdown" href="#" data-activates="mainmenu" ref={(c) => this._dropdown = c} onClick={this.preventDefault}>
<i className="material-icons right">more_vert</i>{username ? username : ''}
</a>
</li>
</ul>
</div>
</nav>
<ul id='mainmenu' className='dropdown-content'>
<li><a href="https://www.kiwi.fi/display/melinda/Kyrilliikan+translitterointi+Cyrillux-ohjelmalla" target="_blank" rel="noopener noreferrer">Ohjeet</a></li>
<li className="divider" />
<li><a href="#" onClick={(e) => this.onLogout(e)}>Kirjaudu ulos</a></li>
</ul>
</div>
);
}
}