1 | /**
|
2 | * Captcha component.
|
3 | * @class ApCaptcha
|
4 | */
|
5 |
|
6 | ;
|
7 |
|
8 | Object.defineProperty(exports, "__esModule", {
|
9 | value: true
|
10 | });
|
11 |
|
12 | 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; }; }();
|
13 |
|
14 | var _react = require('react');
|
15 |
|
16 | var _react2 = _interopRequireDefault(_react);
|
17 |
|
18 | var _classnames = require('classnames');
|
19 |
|
20 | var _classnames2 = _interopRequireDefault(_classnames);
|
21 |
|
22 | var _apemanReactIcon = require('apeman-react-icon');
|
23 |
|
24 | var _apemanReactImage = require('apeman-react-image');
|
25 |
|
26 | var _apemanReactSpinner = require('apeman-react-spinner');
|
27 |
|
28 | var _apemanReactTouchable = require('apeman-react-touchable');
|
29 |
|
30 | var _breact = require('breact');
|
31 |
|
32 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
33 |
|
34 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
35 |
|
36 | 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; }
|
37 |
|
38 | 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; }
|
39 |
|
40 | /** @lends ApCaptcha */
|
41 | var ApCaptcha = function (_Component) {
|
42 | _inherits(ApCaptcha, _Component);
|
43 |
|
44 | function ApCaptcha(props) {
|
45 | _classCallCheck(this, ApCaptcha);
|
46 |
|
47 | var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ApCaptcha).call(this, props));
|
48 |
|
49 | var s = _this;
|
50 | (0, _breact.autobind)(s);
|
51 | return _this;
|
52 | }
|
53 |
|
54 | _createClass(ApCaptcha, [{
|
55 | key: 'render',
|
56 | value: function render() {
|
57 | var s = this;
|
58 | var props = s.props;
|
59 |
|
60 | return _react2.default.createElement(
|
61 | 'div',
|
62 | { className: (0, _classnames2.default)('ap-captcha', props.className),
|
63 | style: Object.assign({}, props.style) },
|
64 | _react2.default.createElement(
|
65 | 'div',
|
66 | null,
|
67 | _react2.default.createElement(_apemanReactSpinner.ApSpinner, { className: 'ap-captcha-spinner',
|
68 | enabled: props.spinning,
|
69 | theme: props.spinnerTheme
|
70 | }),
|
71 | _react2.default.createElement(_apemanReactImage.ApImage, { className: 'ap-captcha-image',
|
72 | src: props.src,
|
73 | width: props.imageWidth,
|
74 | height: props.imageHeight,
|
75 | onLoad: s.handleImageLoad,
|
76 | onError: s.handleImageError,
|
77 | alt: ''
|
78 | })
|
79 | ),
|
80 | _react2.default.createElement(
|
81 | 'div',
|
82 | null,
|
83 | _react2.default.createElement(
|
84 | 'a',
|
85 | { className: 'ap-captcha-refresh-button' },
|
86 | _react2.default.createElement(
|
87 | _apemanReactTouchable.ApTouchable,
|
88 | { onTap: s.handleTap },
|
89 | _react2.default.createElement(
|
90 | 'span',
|
91 | null,
|
92 | _react2.default.createElement(_apemanReactIcon.ApIcon, { className: (0, _classnames2.default)('ap-captcha-refresh-icon', props.refreshIcon, {
|
93 | 'fa-spin': props.spinning
|
94 | }) }),
|
95 | _react2.default.createElement(
|
96 | 'span',
|
97 | null,
|
98 | props.refreshText
|
99 | )
|
100 | )
|
101 | )
|
102 | )
|
103 | )
|
104 | );
|
105 | }
|
106 |
|
107 | // ------------------
|
108 | // Custom
|
109 | // ------------------
|
110 |
|
111 | }, {
|
112 | key: 'handleTap',
|
113 | value: function handleTap() {
|
114 | var s = this;
|
115 | var props = s.props;
|
116 |
|
117 | if (props.onRefresh) {
|
118 | props.onRefresh();
|
119 | }
|
120 | }
|
121 | }, {
|
122 | key: 'handleImageLoad',
|
123 | value: function handleImageLoad(ev) {
|
124 | var s = this;
|
125 | var props = s.props;
|
126 |
|
127 | if (props.onImageLoad) {
|
128 | props.onImageLoad(ev);
|
129 | }
|
130 | }
|
131 | }, {
|
132 | key: 'handleImageError',
|
133 | value: function handleImageError(err) {
|
134 | var s = this;
|
135 | var props = s.props;
|
136 |
|
137 | if (props.onImageError) {
|
138 | props.onImageError(err);
|
139 | }
|
140 | }
|
141 | }]);
|
142 |
|
143 | return ApCaptcha;
|
144 | }(_react.Component);
|
145 |
|
146 | Object.assign(_react.Component, {
|
147 | // --------------------
|
148 | // Specs
|
149 | // --------------------
|
150 | propTypes: {
|
151 | /** Image source url */
|
152 | src: _react.PropTypes.string,
|
153 | /** Handler for refresh */
|
154 | onRefresh: _react.PropTypes.func,
|
155 | refreshIcon: _react.PropTypes.string,
|
156 | refreshText: _react.PropTypes.string,
|
157 | imageWidth: _react.PropTypes.number,
|
158 | imageHeight: _react.PropTypes.number,
|
159 | onImageLoad: _react.PropTypes.func,
|
160 | onImageError: _react.PropTypes.func,
|
161 | spinning: _react.PropTypes.bool,
|
162 | spinnerTheme: _react.PropTypes.string
|
163 | },
|
164 |
|
165 | defaultProps: {
|
166 | src: null,
|
167 | onRefresh: null,
|
168 | refreshIcon: 'fa fa-refresh',
|
169 | refreshText: '',
|
170 | imageWidth: 240,
|
171 | imageHeight: 94,
|
172 | onImageLoad: null,
|
173 | onImageError: null,
|
174 | spinning: false,
|
175 | spinnerTheme: _apemanReactSpinner.ApSpinner.DEFAULT_THEME
|
176 | }
|
177 |
|
178 | });
|
179 |
|
180 | exports.default = ApCaptcha;
|
181 | //# sourceMappingURL=data:application/json;base64,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QVZaOztBQW5CUyxDQUF6Qjs7a0JBa0NlLFMiLCJmaWxlIjoiYXBfY2FwdGNoYS5qc3giLCJzb3VyY2VSb290IjoibGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYXB0Y2hhIGNvbXBvbmVudC5cbiAqIEBjbGFzcyBBcENhcHRjaGFcbiAqL1xuXG4ndXNlIHN0cmljdCdcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBQcm9wVHlwZXMgYXMgdHlwZXN9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcblxuaW1wb3J0IHtBcEljb259IGZyb20gJ2FwZW1hbi1yZWFjdC1pY29uJ1xuaW1wb3J0IHtBcEltYWdlfSBmcm9tICdhcGVtYW4tcmVhY3QtaW1hZ2UnXG5pbXBvcnQge0FwU3Bpbm5lcn0gZnJvbSAnYXBlbWFuLXJlYWN0LXNwaW5uZXInXG5pbXBvcnQge0FwVG91Y2hhYmxlfSBmcm9tICdhcGVtYW4tcmVhY3QtdG91Y2hhYmxlJ1xuaW1wb3J0IHthdXRvYmluZH0gZnJvbSAnYnJlYWN0J1xuXG4vKiogQGxlbmRzIEFwQ2FwdGNoYSAqL1xuY2xhc3MgQXBDYXB0Y2hhIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IgKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gICAgY29uc3QgcyA9IHRoaXNcbiAgICBhdXRvYmluZChzKVxuICB9XG5cbiAgcmVuZGVyICgpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGxldCB7IHByb3BzIH0gPSBzXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXsgY2xhc3NuYW1lcygnYXAtY2FwdGNoYScsIHByb3BzLmNsYXNzTmFtZSl9XG4gICAgICAgICAgIHN0eWxlPXtPYmplY3QuYXNzaWduKHt9LCBwcm9wcy5zdHlsZSkgfT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QXBTcGlubmVyIGNsYXNzTmFtZT1cImFwLWNhcHRjaGEtc3Bpbm5lclwiXG4gICAgICAgICAgICAgICAgICAgICBlbmFibGVkPXsgcHJvcHMuc3Bpbm5pbmcgfVxuICAgICAgICAgICAgICAgICAgICAgdGhlbWU9eyBwcm9wcy5zcGlubmVyVGhlbWUgfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEFwSW1hZ2UgY2xhc3NOYW1lPVwiYXAtY2FwdGNoYS1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgc3JjPXsgcHJvcHMuc3JjIH1cbiAgICAgICAgICAgICAgICAgICB3aWR0aD17IHByb3BzLmltYWdlV2lkdGggfVxuICAgICAgICAgICAgICAgICAgIGhlaWdodD17IHByb3BzLmltYWdlSGVpZ2h0IH1cbiAgICAgICAgICAgICAgICAgICBvbkxvYWQ9eyBzLmhhbmRsZUltYWdlTG9hZCB9XG4gICAgICAgICAgICAgICAgICAgb25FcnJvcj17IHMuaGFuZGxlSW1hZ2VFcnJvciB9XG4gICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJhcC1jYXB0Y2hhLXJlZnJlc2gtYnV0dG9uXCI+XG4gICAgICAgICAgICA8QXBUb3VjaGFibGUgb25UYXA9eyBzLmhhbmRsZVRhcCB9PlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxBcEljb24gY2xhc3NOYW1lPXsgY2xhc3NuYW1lcygnYXAtY2FwdGNoYS1yZWZyZXNoLWljb24nLCBwcm9wcy5yZWZyZXNoSWNvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnZmEtc3Bpbic6IHByb3BzLnNwaW5uaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSB9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnsgcHJvcHMucmVmcmVzaFRleHQgfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9BcFRvdWNoYWJsZT5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEN1c3RvbVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuICBoYW5kbGVUYXAgKCkge1xuICAgIGNvbnN0IHMgPSB0aGlzXG4gICAgbGV0IHsgcHJvcHMgfSA9IHNcbiAgICBpZiAocHJvcHMub25SZWZyZXNoKSB7XG4gICAgICBwcm9wcy5vblJlZnJlc2goKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUltYWdlTG9hZCAoZXYpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGxldCB7IHByb3BzIH0gPSBzXG4gICAgaWYgKHByb3BzLm9uSW1hZ2VMb2FkKSB7XG4gICAgICBwcm9wcy5vbkltYWdlTG9hZChldilcbiAgICB9XG4gIH1cblxuICBoYW5kbGVJbWFnZUVycm9yIChlcnIpIHtcbiAgICBjb25zdCBzID0gdGhpc1xuICAgIGxldCB7IHByb3BzIH0gPSBzXG4gICAgaWYgKHByb3BzLm9uSW1hZ2VFcnJvcikge1xuICAgICAgcHJvcHMub25JbWFnZUVycm9yKGVycilcbiAgICB9XG4gIH1cbn1cblxuT2JqZWN0LmFzc2lnbihDb21wb25lbnQsIHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BlY3NcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgcHJvcFR5cGVzOiB7XG4gICAgLyoqIEltYWdlIHNvdXJjZSB1cmwgKi9cbiAgICBzcmM6IHR5cGVzLnN0cmluZyxcbiAgICAvKiogSGFuZGxlciBmb3IgcmVmcmVzaCAqL1xuICAgIG9uUmVmcmVzaDogdHlwZXMuZnVuYyxcbiAgICByZWZyZXNoSWNvbjogdHlwZXMuc3RyaW5nLFxuICAgIHJlZnJlc2hUZXh0OiB0eXBlcy5zdHJpbmcsXG4gICAgaW1hZ2VXaWR0aDogdHlwZXMubnVtYmVyLFxuICAgIGltYWdlSGVpZ2h0OiB0eXBlcy5udW1iZXIsXG4gICAgb25JbWFnZUxvYWQ6IHR5cGVzLmZ1bmMsXG4gICAgb25JbWFnZUVycm9yOiB0eXBlcy5mdW5jLFxuICAgIHNwaW5uaW5nOiB0eXBlcy5ib29sLFxuICAgIHNwaW5uZXJUaGVtZTogdHlwZXMuc3RyaW5nXG4gIH0sXG5cbiAgZGVmYXVsdFByb3BzOiB7XG4gICAgc3JjOiBudWxsLFxuICAgIG9uUmVmcmVzaDogbnVsbCxcbiAgICByZWZyZXNoSWNvbjogJ2ZhIGZhLXJlZnJlc2gnLFxuICAgIHJlZnJlc2hUZXh0OiAnJyxcbiAgICBpbWFnZVdpZHRoOiAyNDAsXG4gICAgaW1hZ2VIZWlnaHQ6IDk0LFxuICAgIG9uSW1hZ2VMb2FkOiBudWxsLFxuICAgIG9uSW1hZ2VFcnJvcjogbnVsbCxcbiAgICBzcGlubmluZzogZmFsc2UsXG4gICAgc3Bpbm5lclRoZW1lOiBBcFNwaW5uZXIuREVGQVVMVF9USEVNRVxuICB9XG5cbn0pXG5cbmV4cG9ydCBkZWZhdWx0IEFwQ2FwdGNoYVxuIl19 |
\ | No newline at end of file |