Skip to content

Instantly share code, notes, and snippets.

@BrianJVarley
Created July 28, 2017 08:43
Show Gist options
  • Save BrianJVarley/8a333069db1ff3ee64b8bc4f95bb8f6d to your computer and use it in GitHub Desktop.
Save BrianJVarley/8a333069db1ff3ee64b8bc4f95bb8f6d to your computer and use it in GitHub Desktop.
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Header = require('grommet/components/Header');
var _Header2 = _interopRequireDefault(_Header);
var _Title = require('grommet/components/Title');
var _Title2 = _interopRequireDefault(_Title);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
//---------------------------------------------------------------------------------------------------------------------------
var AppHeader = function (_Component) {
_inherits(AppHeader, _Component);
function AppHeader(props) {
_classCallCheck(this, AppHeader);
return _possibleConstructorReturn(this, (AppHeader.__proto__ || Object.getPrototypeOf(AppHeader)).call(this));
}
//------------------------------------------------------------------------------------------
_createClass(AppHeader, [{
key: 'render',
value: function render() {
var millstoneOpts = this.props.options;
// if no icon is provided, use HPE default
var appIcon = "img/hpesm_pri_grn_pos_rgb.svg";
if (millstoneOpts.appIcon != "") {
appIcon = millstoneOpts.appIcon;
}
var headerPad = { "horizontal": "medium", "vertical": "small" };
var logoStyle = { "cursor": "pointer", "height": "55px", "paddingRight": "10px" };
var titleStyle = { "cursor": "pointer", "marginLeft": "3px", "marginRight": "3px", "color": "white" };
// Icon and App Title only appear if side nav is not open
var headerIcon = _react2.default.createElement(
'span',
{ onClick: this.props.navToggle },
_react2.default.createElement('img', { src: appIcon, alt: 'logo', style: logoStyle })
);;
var headerTitle = _react2.default.createElement(
'div',
{ style: titleStyle, onClick: this.props.navToggle },
_react2.default.createElement(
_Title2.default,
null,
millstoneOpts.appTitle
)
);
var headerIconNoMenu = _react2.default.createElement(
'span',
null,
_react2.default.createElement('img', { src: appIcon, alt: 'logo', style: logoStyle })
);
var headerTitleNoMenu = _react2.default.createElement(
'div',
{ style: titleStyle },
_react2.default.createElement(
_Title2.default,
null,
millstoneOpts.appTitle
)
);
// without a menu, we won't provide a click event to open it
if (millstoneOpts.menuItems == null || this.props.navToggle == null) {
headerIcon = headerIconNoMenu;
headerTitle = headerTitleNoMenu;
}
// if sidenav is activated, don't render in header, because it's in the sidebar
if (this.props.showNav) {
headerIcon = null;
headerTitle = null;
}
return _react2.default.createElement(
_Header2.default,
{ direction: 'row', justify: 'start', size: 'large', pad: headerPad, primary: true, colorIndex: 'neutral-1' },
headerIcon,
headerTitle,
millstoneOpts.headerItems
);
}
}]);
return AppHeader;
}(_react.Component);
exports.default = AppHeader;
AppHeader.propTypes = {
options: _react2.default.PropTypes.object,
navToggle: _react2.default.PropTypes.func,
showNav: _react2.default.PropTypes.bool
};
AppHeader.defaultProps = {
options: null,
navToggle: null,
showNav: false
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment