apeman-react-section
Version:
apeman react package for section components.
106 lines (79 loc) • 6.78 kB
JavaScript
/**
* Button for a header section.
* @class ApSectionHeaderButton
*/
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _asobj = require('asobj');
var _apemanReactTouchable = require('apeman-react-touchable');
var _apemanReactIcon = require('apeman-react-icon');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @lends ApSectionHeaderButton */
var ApSectionHeaderButton = _react2.default.createClass({
displayName: 'ApSectionHeaderButton',
// --------------------
// Specs
// --------------------
propTypes: {
icon: _react.PropTypes.string,
text: _react.PropTypes.string
},
mixins: [],
statics: {
EDIT_ICON: 'fa fa-edit'
},
getInitialState: function getInitialState() {
return {};
},
getDefaultProps: function getDefaultProps() {
return {
icon: null,
text: null
};
},
render: function render() {
var s = this;
var props = s.props;
var className = (0, _classnames2.default)('ap-section-header-button', {
'ap-section-header-lined': props.lined
}, props.className);
return _react2.default.createElement(
'a',
{ id: props.id,
title: props.title,
name: props.name,
href: props.href,
className: className,
style: Object.assign({}, props.style)
},
_react2.default.createElement(_apemanReactIcon.ApIcon, { className: (0, _classnames2.default)(props.icon) }),
_react2.default.createElement(
'span',
{ className: 'apeman-section-header-button-text' },
props.text
),
props.children
);
},
// --------------------
// Lifecycle
// --------------------
shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {
var s = this;
var props = s.props;
var state = s.state;
return !(0, _asobj.shallowEqual)(props, nextProps) || (0, _asobj.shallowEqual)(state, nextState);
}
// --------------------
// Private
// --------------------
});
exports.default = ApSectionHeaderButton; // Dummy export for doc parser
exports.default = (0, _apemanReactTouchable.withTouch)(ApSectionHeaderButton);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX3NlY3Rpb25faGVhZGVyX2J1dHRvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0E7Ozs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBO0FBQ0EsSUFBTSx3QkFBd0IsZ0JBQU0sV0FBTixDQUFrQjtBQUFBOzs7QUFFOUM7QUFDQTtBQUNBOztBQUVBLGFBQVc7QUFDVCxVQUFNLGlCQUFNLE1BREg7QUFFVCxVQUFNLGlCQUFNO0FBRkgsR0FObUM7O0FBVzlDLFVBQVEsRUFYc0M7O0FBZTlDLFdBQVM7QUFDUCxlQUFXO0FBREosR0FmcUM7O0FBbUI5QyxpQkFuQjhDLDZCQW1CM0I7QUFDakIsV0FBTyxFQUFQO0FBQ0QsR0FyQjZDO0FBdUI5QyxpQkF2QjhDLDZCQXVCM0I7QUFDakIsV0FBTztBQUNMLFlBQU0sSUFERDtBQUVMLFlBQU07QUFGRCxLQUFQO0FBSUQsR0E1QjZDO0FBOEI5QyxRQTlCOEMsb0JBOEJwQztBQUNSLFFBQU0sSUFBSSxJQUFWO0FBRFEsUUFFRixLQUZFLEdBRVEsQ0FGUixDQUVGLEtBRkU7OztBQUlSLFFBQUksWUFBWSwwQkFBVywwQkFBWCxFQUF1QztBQUNyRCxpQ0FBMkIsTUFBTTtBQURvQixLQUF2QyxFQUViLE1BQU0sU0FGTyxDQUFoQjtBQUdBLFdBQ0U7QUFBQTtBQUFBLFFBQUcsSUFBSyxNQUFNLEVBQWQ7QUFDRyxlQUFRLE1BQU0sS0FEakI7QUFFRyxjQUFPLE1BQU0sSUFGaEI7QUFHRyxjQUFPLE1BQU0sSUFIaEI7QUFJRyxtQkFBWSxTQUpmO0FBS0csZUFBUSxPQUFPLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLE1BQU0sS0FBeEI7QUFMWDtBQU9FLCtEQUFRLFdBQVksMEJBQVcsTUFBTSxJQUFqQixDQUFwQixHQVBGO0FBUUU7QUFBQTtBQUFBLFVBQU0sV0FBVSxtQ0FBaEI7QUFDYyxjQUFNO0FBRHBCLE9BUkY7QUFXSSxZQUFNO0FBWFYsS0FERjtBQWVELEdBcEQ2Qzs7O0FBc0Q5QztBQUNBO0FBQ0E7O0FBRUEsdUJBMUQ4QyxpQ0EwRHZCLFNBMUR1QixFQTBEWixTQTFEWSxFQTBERDtBQUMzQyxRQUFNLElBQUksSUFBVjtBQUQyQyxRQUVyQyxLQUZxQyxHQUVwQixDQUZvQixDQUVyQyxLQUZxQztBQUFBLFFBRTlCLEtBRjhCLEdBRXBCLENBRm9CLENBRTlCLEtBRjhCOztBQUczQyxXQUFPLENBQUMseUJBQWEsS0FBYixFQUFvQixTQUFwQixDQUFELElBQW1DLHlCQUFhLEtBQWIsRUFBb0IsU0FBcEIsQ0FBMUM7QUFDRDs7QUFFRDtBQUNBO0FBQ0E7O0FBbEU4QyxDQUFsQixDQUE5Qjs7a0JBc0VlLHFCLEVBQXNCOztrQkFDdEIscUNBQVUscUJBQVYsQyIsImZpbGUiOiJhcF9zZWN0aW9uX2hlYWRlcl9idXR0b24uanN4Iiwic291cmNlUm9vdCI6Ii9Vc2Vycy9va3VuaXNoaW5pc2hpL1Byb2plY3RzL2FwZW1hbi1wcm9qZWN0cy9hcGVtYW4tcmVhY3Qtc2VjdGlvbi9jaS8uLi9saWIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJ1dHRvbiBmb3IgYSBoZWFkZXIgc2VjdGlvbi5cbiAqIEBjbGFzcyBBcFNlY3Rpb25IZWFkZXJCdXR0b25cbiAqL1xuXG4ndXNlIHN0cmljdCdcblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzIGFzIHR5cGVzfSBmcm9tICdyZWFjdCdcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnXG5pbXBvcnQge3NoYWxsb3dFcXVhbH0gZnJvbSAnYXNvYmonXG5pbXBvcnQge3dpdGhUb3VjaH0gZnJvbSAnYXBlbWFuLXJlYWN0LXRvdWNoYWJsZSdcbmltcG9ydCB7QXBJY29ufSBmcm9tICdhcGVtYW4tcmVhY3QtaWNvbidcblxuLyoqIEBsZW5kcyBBcFNlY3Rpb25IZWFkZXJCdXR0b24gKi9cbmNvbnN0IEFwU2VjdGlvbkhlYWRlckJ1dHRvbiA9IFJlYWN0LmNyZWF0ZUNsYXNzKHtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGVjc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3BUeXBlczoge1xuICAgIGljb246IHR5cGVzLnN0cmluZyxcbiAgICB0ZXh0OiB0eXBlcy5zdHJpbmdcbiAgfSxcblxuICBtaXhpbnM6IFtcblxuICBdLFxuXG4gIHN0YXRpY3M6IHtcbiAgICBFRElUX0lDT046ICdmYSBmYS1lZGl0J1xuICB9LFxuXG4gIGdldEluaXRpYWxTdGF0ZSAoKSB7XG4gICAgcmV0dXJuIHt9XG4gIH0sXG5cbiAgZ2V0RGVmYXVsdFByb3BzICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogbnVsbCxcbiAgICAgIHRleHQ6IG51bGxcbiAgICB9XG4gIH0sXG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGxldCB7IHByb3BzIH0gPSBzXG5cbiAgICBsZXQgY2xhc3NOYW1lID0gY2xhc3NuYW1lcygnYXAtc2VjdGlvbi1oZWFkZXItYnV0dG9uJywge1xuICAgICAgJ2FwLXNlY3Rpb24taGVhZGVyLWxpbmVkJzogcHJvcHMubGluZWRcbiAgICB9LCBwcm9wcy5jbGFzc05hbWUpXG4gICAgcmV0dXJuIChcbiAgICAgIDxhIGlkPXsgcHJvcHMuaWQgfVxuICAgICAgICAgdGl0bGU9eyBwcm9wcy50aXRsZSB9XG4gICAgICAgICBuYW1lPXsgcHJvcHMubmFtZSB9XG4gICAgICAgICBocmVmPXsgcHJvcHMuaHJlZiB9XG4gICAgICAgICBjbGFzc05hbWU9eyBjbGFzc05hbWUgfVxuICAgICAgICAgc3R5bGU9eyBPYmplY3QuYXNzaWduKHt9LCBwcm9wcy5zdHlsZSkgfVxuICAgICAgPlxuICAgICAgICA8QXBJY29uIGNsYXNzTmFtZT17IGNsYXNzbmFtZXMocHJvcHMuaWNvbikgfS8+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nYXBlbWFuLXNlY3Rpb24taGVhZGVyLWJ1dHRvbi10ZXh0Jz5cbiAgICAgICAgICAgICAgICAgICAgeyBwcm9wcy50ZXh0IH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIHsgcHJvcHMuY2hpbGRyZW4gfVxuICAgICAgPC9hPlxuICAgIClcbiAgfSxcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBMaWZlY3ljbGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBzaG91bGRDb21wb25lbnRVcGRhdGUgKG5leHRQcm9wcywgbmV4dFN0YXRlKSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBsZXQgeyBwcm9wcywgc3RhdGUgfSA9IHNcbiAgICByZXR1cm4gIXNoYWxsb3dFcXVhbChwcm9wcywgbmV4dFByb3BzKSB8fCBzaGFsbG93RXF1YWwoc3RhdGUsIG5leHRTdGF0ZSlcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFByaXZhdGVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxufSlcblxuZXhwb3J0IGRlZmF1bHQgQXBTZWN0aW9uSGVhZGVyQnV0dG9uIC8vIER1bW15IGV4cG9ydCBmb3IgZG9jIHBhcnNlclxuZXhwb3J0IGRlZmF1bHQgd2l0aFRvdWNoKEFwU2VjdGlvbkhlYWRlckJ1dHRvbilcbiJdfQ==