UNPKG

apeman-react-section

Version:
106 lines (79 loc) 6.78 kB
/** * 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==