ih-pagelet-navigation-collection
Version:
Styling PS Nav Collections.
102 lines (81 loc) • 3.04 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _reactAddons = require('react/addons');
var _reactAddons2 = _interopRequireDefault(_reactAddons);
var _reactEssence = require('react-essence');
var _UtilJs = require('../../Util.js');
var _UtilJs2 = _interopRequireDefault(_UtilJs);
require('./LauncherNavigationCollection.css');
var LauncherNavigationCollection = _reactAddons2['default'].createClass({
displayName: 'LauncherNavigationCollection',
propTypes: {
showTextLinks: _reactAddons2['default'].PropTypes.string,
data: _reactAddons2['default'].PropTypes.object
},
render: function render() {
var _this = this;
var data = this.props.data;
// For each folder in the navigation collection
var launcherTitles = _UtilJs2['default'].toArray(data.NavCollection.Contents.NavItem).map(function (item) {
var navName = item.Label;
// handle no navigation item
if (item.NavItem === undefined) {
return _reactAddons2['default'].createElement('div', null);
}
// For each link in the folder
var launcherIcons = _UtilJs2['default'].toArray(item.NavItem).map(function (nav) {
var navImage = null;
var isNewWindow = nav.isNewWindow === 'True' ? '_blank' : '';
if (nav.ImageURL !== '') {
navImage = _reactAddons2['default'].createElement(
'div',
{ className: 'brick', key: nav.TargetCRefName },
_reactAddons2['default'].createElement(
'a',
{ href: nav.AbsolutePortalURL, target: isNewWindow },
_reactAddons2['default'].createElement('img', { src: nav.ImageURL, alt: nav.Label, className: 'launcher-icon' }),
_this.props.showTextLinks ? _reactAddons2['default'].createElement(
'span',
{ className: 'launcher-caption' },
nav.Label
) : null
)
);
}
return navImage;
});
return _reactAddons2['default'].createElement(
_reactEssence.Block,
{ classes: "e-row e-no-margin nav-fix" },
_reactAddons2['default'].createElement(
'h2',
{ className: "e-pagelet-title" },
_reactAddons2['default'].createElement(
'span',
null,
navName
)
),
_reactAddons2['default'].createElement(
'div',
{ className: 'e-pagelet-content' },
launcherIcons
)
);
});
return _reactAddons2['default'].createElement(
_reactEssence.Paper,
{ classes: "e-pagelet" },
_reactAddons2['default'].createElement(
_reactEssence.PaperItem,
{ classes: 'e-shadow-1 e-background-white e-pagelet-item' },
launcherTitles
)
);
}
});
exports['default'] = LauncherNavigationCollection;
module.exports = exports['default'];