UNPKG

apeman-react-dialog

Version:
133 lines (106 loc) 9.04 kB
/** * Yes/No dialog. * @class ApYesnoDialog */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 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 _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _apemanReactTouchable = require('apeman-react-touchable'); var _ap_dialog = require('./ap_dialog'); var _ap_dialog2 = _interopRequireDefault(_ap_dialog); 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; } /** @lends ApYesnoDialog */ var ApYesnoDialog = function (_Component) { _inherits(ApYesnoDialog, _Component); function ApYesnoDialog() { _classCallCheck(this, ApYesnoDialog); return _possibleConstructorReturn(this, Object.getPrototypeOf(ApYesnoDialog).apply(this, arguments)); } _createClass(ApYesnoDialog, [{ key: 'render', value: function render() { var s = this; var props = s.props; if (!props.present) { return null; } return _react2.default.createElement( _ap_dialog2.default, _extends({ className: (0, _classnames2.default)('ap-yesno-dialog', props.className), style: Object.assign({}, props.style) }, props), _react2.default.createElement( 'div', null, props.children ), _react2.default.createElement( 'div', { className: 'ap-yesno-dialog-control' }, _react2.default.createElement(ApYesnoDialog.Button, { text: props.noText, onTap: props.onNo }), _react2.default.createElement(ApYesnoDialog.Button, { text: props.yesText, onTap: props.onYes }) ) ); } }]); return ApYesnoDialog; }(_react.Component); Object.assign(ApYesnoDialog, { // -------------------- // Specs // -------------------- propTypes: { present: _react.PropTypes.bool.isRequired, /** Handler for tapping YES */ onYes: _react.PropTypes.func, /** Handler for tapping NO */ onNo: _react.PropTypes.func, /** Dialog title */ title: _react.PropTypes.string, /** Text of YES button */ yesText: _react.PropTypes.string, /** Text of NO button */ noText: _react.PropTypes.string }, defaultProps: { present: false, onYes: null, onNo: null, title: null, yesText: 'Yes', noText: 'No' }, // -------------------- // Sub components // -------------------- Button: function Button(_ref) { var text = _ref.text; var onTap = _ref.onTap; var s = this; return _react2.default.createElement( 'a', { className: 'ap-yesno-dialog-button' }, _react2.default.createElement( _apemanReactTouchable.ApTouchable, { onTap: onTap }, _react2.default.createElement( 'span', { className: 'ap-yesno-dialog-button-text' }, text ) ) ); } }); exports.default = ApYesnoDialog; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwX3llc25vX2RpYWxvZy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0E7Ozs7Ozs7Ozs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVBO0lBQ00sYTs7Ozs7Ozs7Ozs7NkJBQ007QUFDUixVQUFNLElBQUksSUFBVjtBQURRLFVBRUYsS0FGRSxHQUVRLENBRlIsQ0FFRixLQUZFOztBQUdSLFVBQUksQ0FBQyxNQUFNLE9BQVgsRUFBb0I7QUFDbEIsZUFBTyxJQUFQO0FBQ0Q7QUFDRCxhQUNFO0FBQUE7QUFBQSxtQkFBVSxXQUFZLDBCQUFXLGlCQUFYLEVBQThCLE1BQU0sU0FBcEMsQ0FBdEI7QUFDVSxpQkFBUSxPQUFPLE1BQVAsQ0FBYyxFQUFkLEVBQWtCLE1BQU0sS0FBeEI7QUFEbEIsV0FFZSxLQUZmO0FBSUU7QUFBQTtBQUFBO0FBQU8sZ0JBQU07QUFBYixTQUpGO0FBS0U7QUFBQTtBQUFBLFlBQUssV0FBVSx5QkFBZjtBQUNFLHdDQUFDLGFBQUQsQ0FBZSxNQUFmLElBQXNCLE1BQU8sTUFBTSxNQUFuQyxFQUE0QyxPQUFRLE1BQU0sSUFBMUQsR0FERjtBQUVFLHdDQUFDLGFBQUQsQ0FBZSxNQUFmLElBQXNCLE1BQU8sTUFBTSxPQUFuQyxFQUE2QyxPQUFRLE1BQU0sS0FBM0Q7QUFGRjtBQUxGLE9BREY7QUFZRDs7Ozs7O0FBR0gsT0FBTyxNQUFQLENBQWMsYUFBZCxFQUE2QjtBQUMzQjtBQUNBO0FBQ0E7O0FBRUEsYUFBVztBQUNULGFBQVMsaUJBQU0sSUFBTixDQUFXLFVBRFg7QUFFVDtBQUNBLFdBQU8saUJBQU0sSUFISjtBQUlUO0FBQ0EsVUFBTSxpQkFBTSxJQUxIO0FBTVQ7QUFDQSxXQUFPLGlCQUFNLE1BUEo7QUFRVDtBQUNBLGFBQVMsaUJBQU0sTUFUTjtBQVVUO0FBQ0EsWUFBUSxpQkFBTTtBQVhMLEdBTGdCOztBQW1CM0IsZ0JBQWM7QUFDWixhQUFTLEtBREc7QUFFWixXQUFPLElBRks7QUFHWixVQUFNLElBSE07QUFJWixXQUFPLElBSks7QUFLWixhQUFTLEtBTEc7QUFNWixZQUFRO0FBTkksR0FuQmE7O0FBNEIzQjtBQUNBO0FBQ0E7QUFDQSxRQS9CMkIsd0JBK0JGO0FBQUEsUUFBZixJQUFlLFFBQWYsSUFBZTtBQUFBLFFBQVQsS0FBUyxRQUFULEtBQVM7O0FBQ3ZCLFFBQU0sSUFBSSxJQUFWO0FBQ0EsV0FDRTtBQUFBO0FBQUEsUUFBRyxXQUFVLHdCQUFiO0FBQ0U7QUFBQTtBQUFBLFVBQWEsT0FBUSxLQUFyQjtBQUNFO0FBQUE7QUFBQSxZQUFNLFdBQVUsNkJBQWhCO0FBQWdEO0FBQWhEO0FBREY7QUFERixLQURGO0FBT0Q7QUF4QzBCLENBQTdCOztrQkEyQ2UsYSIsImZpbGUiOiJhcF95ZXNub19kaWFsb2cuanN4Iiwic291cmNlUm9vdCI6ImxpYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogWWVzL05vIGRpYWxvZy5cbiAqIEBjbGFzcyBBcFllc25vRGlhbG9nXG4gKi9cblxuJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgUHJvcFR5cGVzIGFzIHR5cGVzfSBmcm9tICdyZWFjdCdcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnXG5pbXBvcnQge0FwVG91Y2hhYmxlfSBmcm9tICdhcGVtYW4tcmVhY3QtdG91Y2hhYmxlJ1xuaW1wb3J0IEFwRGlhbG9nIGZyb20gJy4vYXBfZGlhbG9nJ1xuXG4vKiogQGxlbmRzIEFwWWVzbm9EaWFsb2cgKi9cbmNsYXNzIEFwWWVzbm9EaWFsb2cgZXh0ZW5kcyBDb21wb25lbnQge1xuICByZW5kZXIgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgcHJvcHMgfSA9IHNcbiAgICBpZiAoIXByb3BzLnByZXNlbnQpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8QXBEaWFsb2cgY2xhc3NOYW1lPXsgY2xhc3NuYW1lcygnYXAteWVzbm8tZGlhbG9nJywgcHJvcHMuY2xhc3NOYW1lKSB9XG4gICAgICAgICAgICAgICAgc3R5bGU9eyBPYmplY3QuYXNzaWduKHt9LCBwcm9wcy5zdHlsZSkgfVxuICAgICAgICAgICAgICAgIHsgLi4ucHJvcHMgfVxuICAgICAgPlxuICAgICAgICA8ZGl2PnsgcHJvcHMuY2hpbGRyZW4gfTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFwLXllc25vLWRpYWxvZy1jb250cm9sXCI+XG4gICAgICAgICAgPEFwWWVzbm9EaWFsb2cuQnV0dG9uIHRleHQ9eyBwcm9wcy5ub1RleHQgfSBvblRhcD17IHByb3BzLm9uTm8gfS8+XG4gICAgICAgICAgPEFwWWVzbm9EaWFsb2cuQnV0dG9uIHRleHQ9eyBwcm9wcy55ZXNUZXh0IH0gb25UYXA9eyBwcm9wcy5vblllcyB9Lz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0FwRGlhbG9nPlxuICAgIClcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEFwWWVzbm9EaWFsb2csIHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BlY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm9wVHlwZXM6IHtcbiAgICBwcmVzZW50OiB0eXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgLyoqIEhhbmRsZXIgZm9yIHRhcHBpbmcgWUVTICovXG4gICAgb25ZZXM6IHR5cGVzLmZ1bmMsXG4gICAgLyoqIEhhbmRsZXIgZm9yIHRhcHBpbmcgTk8gKi9cbiAgICBvbk5vOiB0eXBlcy5mdW5jLFxuICAgIC8qKiBEaWFsb2cgdGl0bGUgKi9cbiAgICB0aXRsZTogdHlwZXMuc3RyaW5nLFxuICAgIC8qKiBUZXh0IG9mIFlFUyBidXR0b24gKi9cbiAgICB5ZXNUZXh0OiB0eXBlcy5zdHJpbmcsXG4gICAgLyoqIFRleHQgb2YgTk8gYnV0dG9uICovXG4gICAgbm9UZXh0OiB0eXBlcy5zdHJpbmdcbiAgfSxcblxuICBkZWZhdWx0UHJvcHM6IHtcbiAgICBwcmVzZW50OiBmYWxzZSxcbiAgICBvblllczogbnVsbCxcbiAgICBvbk5vOiBudWxsLFxuICAgIHRpdGxlOiBudWxsLFxuICAgIHllc1RleHQ6ICdZZXMnLFxuICAgIG5vVGV4dDogJ05vJ1xuICB9LFxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFN1YiBjb21wb25lbnRzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJ1dHRvbiAoeyB0ZXh0LCBvblRhcCB9KSB7XG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICByZXR1cm4gKFxuICAgICAgPGEgY2xhc3NOYW1lPVwiYXAteWVzbm8tZGlhbG9nLWJ1dHRvblwiPlxuICAgICAgICA8QXBUb3VjaGFibGUgb25UYXA9eyBvblRhcCB9PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFwLXllc25vLWRpYWxvZy1idXR0b24tdGV4dFwiPnsgdGV4dCB9PC9zcGFuPlxuICAgICAgICA8L0FwVG91Y2hhYmxlPlxuICAgICAgPC9hPlxuICAgIClcbiAgfVxufSlcblxuZXhwb3J0IGRlZmF1bHQgQXBZZXNub0RpYWxvZ1xuIl19