UNPKG

31.1 kBJavaScriptView Raw
1/******/ (function(modules) { // webpackBootstrap
2/******/ // The module cache
3/******/ var installedModules = {};
4/******/
5/******/ // The require function
6/******/ function __webpack_require__(moduleId) {
7/******/
8/******/ // Check if module is in cache
9/******/ if(installedModules[moduleId])
10/******/ return installedModules[moduleId].exports;
11/******/
12/******/ // Create a new module (and put it into the cache)
13/******/ var module = installedModules[moduleId] = {
14/******/ exports: {},
15/******/ id: moduleId,
16/******/ loaded: false
17/******/ };
18/******/
19/******/ // Execute the module function
20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ // Flag the module as loaded
23/******/ module.loaded = true;
24/******/
25/******/ // Return the exports of the module
26/******/ return module.exports;
27/******/ }
28/******/
29/******/
30/******/ // expose the modules object (__webpack_modules__)
31/******/ __webpack_require__.m = modules;
32/******/
33/******/ // expose the module cache
34/******/ __webpack_require__.c = installedModules;
35/******/
36/******/ // __webpack_public_path__
37/******/ __webpack_require__.p = "";
38/******/
39/******/ // Load entry module and return exports
40/******/ return __webpack_require__(0);
41/******/ })
42/************************************************************************/
43/******/ ([
44/* 0 */
45/***/ function(module, exports, __webpack_require__) {
46
47 'use strict';
48
49 var _UserEditor = __webpack_require__(1);
50
51 var _UserEditor2 = _interopRequireDefault(_UserEditor);
52
53 var _LogoutSettingsButton = __webpack_require__(5);
54
55 var _LogoutSettingsButton2 = _interopRequireDefault(_LogoutSettingsButton);
56
57 var _ChangePasswordSettingsButton = __webpack_require__(6);
58
59 var _ChangePasswordSettingsButton2 = _interopRequireDefault(_ChangePasswordSettingsButton);
60
61 var _ChangePasswordButton = __webpack_require__(7);
62
63 var _ChangePasswordButton2 = _interopRequireDefault(_ChangePasswordButton);
64
65 var _jsreportStudio = __webpack_require__(4);
66
67 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
68
69 var _NewUserModal = __webpack_require__(8);
70
71 var _NewUserModal2 = _interopRequireDefault(_NewUserModal);
72
73 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
74
75 function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
76
77 // we want to be at the front, because other extension like scheduling relies on loaded user
78 _jsreportStudio2.default.initializeListeners.unshift(_asyncToGenerator(regeneratorRuntime.mark(function _callee() {
79 var response;
80 return regeneratorRuntime.wrap(function _callee$(_context) {
81 while (1) {
82 switch (_context.prev = _context.next) {
83 case 0:
84 _context.next = 2;
85 return _jsreportStudio2.default.api.get('/api/settings');
86
87 case 2:
88 response = _context.sent;
89
90 if (response.tenant) {
91 _context.next = 5;
92 break;
93 }
94
95 return _context.abrupt('return');
96
97 case 5:
98
99 _jsreportStudio2.default.authentication = { user: response.tenant };
100
101 if (_jsreportStudio2.default.authentication.user.isAdmin) {
102 _jsreportStudio2.default.addEntitySet({
103 name: 'users',
104 faIcon: 'fa-user',
105 visibleName: 'user',
106 nameAttribute: 'username',
107 onNew: function onNew() {
108 return _jsreportStudio2.default.openModal(_NewUserModal2.default);
109 }
110 });
111 _jsreportStudio2.default.addEditorComponent('users', _UserEditor2.default);
112 _jsreportStudio2.default.addToolbarComponent(_ChangePasswordButton2.default);
113 }
114
115 _jsreportStudio2.default.addToolbarComponent(_ChangePasswordSettingsButton2.default, 'settings');
116 _jsreportStudio2.default.addToolbarComponent(function () {
117 return React.createElement(
118 'div',
119 { className: 'toolbar-button' },
120 React.createElement(
121 'span',
122 null,
123 React.createElement('i', {
124 className: 'fa fa-user' }),
125 ' ',
126 _jsreportStudio2.default.authentication.user.username
127 )
128 );
129 }, 'settingsBottom');
130 _jsreportStudio2.default.addToolbarComponent(_LogoutSettingsButton2.default, 'settingsBottom');
131
132 case 10:
133 case 'end':
134 return _context.stop();
135 }
136 }
137 }, _callee, undefined);
138 })));
139
140/***/ },
141/* 1 */
142/***/ function(module, exports, __webpack_require__) {
143
144 'use strict';
145
146 Object.defineProperty(exports, "__esModule", {
147 value: true
148 });
149
150 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; }; }();
151
152 var _react = __webpack_require__(2);
153
154 var _react2 = _interopRequireDefault(_react);
155
156 var _ChangePasswordModal = __webpack_require__(3);
157
158 var _ChangePasswordModal2 = _interopRequireDefault(_ChangePasswordModal);
159
160 var _jsreportStudio = __webpack_require__(4);
161
162 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
163
164 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
165
166 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
167
168 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; }
169
170 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; }
171
172 var DataEditor = function (_Component) {
173 _inherits(DataEditor, _Component);
174
175 function DataEditor() {
176 _classCallCheck(this, DataEditor);
177
178 return _possibleConstructorReturn(this, Object.getPrototypeOf(DataEditor).apply(this, arguments));
179 }
180
181 _createClass(DataEditor, [{
182 key: 'componentDidMount',
183 value: function componentDidMount() {
184 if (this.props.entity.__isNew && !this.props.entity.password) {
185 _jsreportStudio2.default.openModal(_ChangePasswordModal2.default, { entity: this.props.entity });
186 }
187 }
188 }, {
189 key: 'render',
190 value: function render() {
191 var entity = this.props.entity;
192
193
194 return _react2.default.createElement(
195 'div',
196 { className: 'custom-editor' },
197 _react2.default.createElement(
198 'h1',
199 null,
200 _react2.default.createElement('i', { className: 'fa fa-user' }),
201 ' ',
202 entity.username
203 )
204 );
205 }
206 }]);
207
208 return DataEditor;
209 }(_react.Component);
210
211 DataEditor.propTypes = {
212 entity: _react2.default.PropTypes.object.isRequired,
213 onUpdate: _react2.default.PropTypes.func.isRequired
214 };
215 exports.default = DataEditor;
216
217/***/ },
218/* 2 */
219/***/ function(module, exports) {
220
221 module.exports = Studio.libraries['react'];
222
223/***/ },
224/* 3 */
225/***/ function(module, exports, __webpack_require__) {
226
227 'use strict';
228
229 Object.defineProperty(exports, "__esModule", {
230 value: true
231 });
232
233 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; }; }();
234
235 var _react = __webpack_require__(2);
236
237 var _react2 = _interopRequireDefault(_react);
238
239 var _jsreportStudio = __webpack_require__(4);
240
241 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
242
243 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
244
245 function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
246
247 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
248
249 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; }
250
251 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; }
252
253 var ChangePasswordModal = function (_Component) {
254 _inherits(ChangePasswordModal, _Component);
255
256 function ChangePasswordModal() {
257 _classCallCheck(this, ChangePasswordModal);
258
259 var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ChangePasswordModal).call(this));
260
261 _this.state = {};
262 return _this;
263 }
264
265 _createClass(ChangePasswordModal, [{
266 key: 'changePassword',
267 value: function () {
268 var ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
269 var entity, close, data;
270 return regeneratorRuntime.wrap(function _callee$(_context) {
271 while (1) {
272 switch (_context.prev = _context.next) {
273 case 0:
274 entity = this.props.options.entity;
275 close = this.props.close;
276 _context.prev = 2;
277 data = {
278 newPassword: this.refs.newPassword1.value
279 };
280
281
282 if (!_jsreportStudio2.default.authentication.user.isAdmin) {
283 data.oldPassword = this.refs.oldPassword.value;
284 }
285
286 _context.next = 7;
287 return _jsreportStudio2.default.api.post('/api/users/' + entity.shortid + '/password', { data: data });
288
289 case 7:
290 this.refs.newPassword1.value = '';
291 this.refs.newPassword2.value = '';
292 close();
293 _context.next = 15;
294 break;
295
296 case 12:
297 _context.prev = 12;
298 _context.t0 = _context['catch'](2);
299
300 this.setState({ apiError: _context.t0.message });
301
302 case 15:
303 case 'end':
304 return _context.stop();
305 }
306 }
307 }, _callee, this, [[2, 12]]);
308 }));
309
310 function changePassword() {
311 return ref.apply(this, arguments);
312 }
313
314 return changePassword;
315 }()
316 }, {
317 key: 'validatePassword',
318 value: function validatePassword() {
319 this.setState({
320 passwordError: this.refs.newPassword2.value && this.refs.newPassword2.value !== this.refs.newPassword1.value,
321 apiError: null
322 });
323 }
324 }, {
325 key: 'render',
326 value: function render() {
327 var _this2 = this;
328
329 return _react2.default.createElement(
330 'div',
331 null,
332 _jsreportStudio2.default.authentication.user.isAdmin ? '' : _react2.default.createElement(
333 'div',
334 { className: 'form-group' },
335 _react2.default.createElement(
336 'label',
337 null,
338 'old password'
339 ),
340 _react2.default.createElement('input', { type: 'password', ref: 'oldPassword' })
341 ),
342 _react2.default.createElement(
343 'div',
344 { className: 'form-group' },
345 _react2.default.createElement(
346 'label',
347 null,
348 'new password'
349 ),
350 _react2.default.createElement('input', { type: 'password', ref: 'newPassword1' })
351 ),
352 _react2.default.createElement(
353 'div',
354 { className: 'form-group' },
355 _react2.default.createElement(
356 'label',
357 null,
358 'new password verification'
359 ),
360 _react2.default.createElement('input', { type: 'password', ref: 'newPassword2', onChange: function onChange() {
361 return _this2.validatePassword();
362 } })
363 ),
364 _react2.default.createElement(
365 'div',
366 { className: 'form-group' },
367 _react2.default.createElement(
368 'span',
369 { style: { color: 'red', display: this.state.passwordError ? 'block' : 'none' } },
370 'password doesn\'t match'
371 ),
372 _react2.default.createElement(
373 'span',
374 { style: { color: 'red', display: this.state.apiError ? 'block' : 'none' } },
375 this.state.apiError
376 )
377 ),
378 _react2.default.createElement(
379 'div',
380 { className: 'button-bar' },
381 _react2.default.createElement(
382 'button',
383 { className: 'button confirmation', onClick: function onClick() {
384 return _this2.changePassword();
385 } },
386 'ok'
387 )
388 )
389 );
390 }
391 }]);
392
393 return ChangePasswordModal;
394 }(_react.Component);
395
396 ChangePasswordModal.propTypes = {
397 close: _react.PropTypes.func.isRequired,
398 options: _react.PropTypes.object.isRequired
399 };
400 exports.default = ChangePasswordModal;
401
402/***/ },
403/* 4 */
404/***/ function(module, exports) {
405
406 module.exports = Studio;
407
408/***/ },
409/* 5 */
410/***/ function(module, exports, __webpack_require__) {
411
412 'use strict';
413
414 Object.defineProperty(exports, "__esModule", {
415 value: true
416 });
417
418 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; }; }();
419
420 var _react = __webpack_require__(2);
421
422 var _react2 = _interopRequireDefault(_react);
423
424 var _jsreportStudio = __webpack_require__(4);
425
426 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
427
428 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
429
430 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
431
432 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; }
433
434 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; }
435
436 var LogoutSettingsButton = function (_Component) {
437 _inherits(LogoutSettingsButton, _Component);
438
439 function LogoutSettingsButton() {
440 _classCallCheck(this, LogoutSettingsButton);
441
442 return _possibleConstructorReturn(this, Object.getPrototypeOf(LogoutSettingsButton).apply(this, arguments));
443 }
444
445 _createClass(LogoutSettingsButton, [{
446 key: 'render',
447 value: function render() {
448 var _this2 = this;
449
450 return _react2.default.createElement(
451 'div',
452 null,
453 _react2.default.createElement(
454 'div',
455 {
456 onClick: function onClick() {
457 return _this2.refs.logout.click();
458 }, style: { cursor: 'pointer' } },
459 _react2.default.createElement(
460 'form',
461 { method: 'POST', action: _jsreportStudio2.default.resolveUrl('/logout') },
462 _react2.default.createElement('input', { ref: 'logout', type: 'submit', id: 'logoutBtn', style: { display: 'none' } })
463 ),
464 _react2.default.createElement('i', { className: 'fa fa-power-off' }),
465 ' Logout'
466 )
467 );
468 }
469 }]);
470
471 return LogoutSettingsButton;
472 }(_react.Component);
473
474 exports.default = LogoutSettingsButton;
475
476/***/ },
477/* 6 */
478/***/ function(module, exports, __webpack_require__) {
479
480 'use strict';
481
482 Object.defineProperty(exports, "__esModule", {
483 value: true
484 });
485
486 var _ChangePasswordModal = __webpack_require__(3);
487
488 var _ChangePasswordModal2 = _interopRequireDefault(_ChangePasswordModal);
489
490 var _jsreportStudio = __webpack_require__(4);
491
492 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
493
494 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
495
496 exports.default = function (props) {
497 return _jsreportStudio2.default.authentication.user.isAdmin ? React.createElement('span', null) : React.createElement(
498 'div',
499 null,
500 React.createElement(
501 'a',
502 {
503 id: 'changePassword',
504 onClick: function onClick() {
505 return _jsreportStudio2.default.openModal(_ChangePasswordModal2.default, { entity: _jsreportStudio2.default.authentication.user });
506 },
507 style: { cursor: 'pointer' } },
508 React.createElement('i', { className: 'fa fa-key' }),
509 'Change password'
510 )
511 );
512 };
513
514/***/ },
515/* 7 */
516/***/ function(module, exports, __webpack_require__) {
517
518 'use strict';
519
520 Object.defineProperty(exports, "__esModule", {
521 value: true
522 });
523
524 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; }; }();
525
526 var _react = __webpack_require__(2);
527
528 var _react2 = _interopRequireDefault(_react);
529
530 var _ChangePasswordModal = __webpack_require__(3);
531
532 var _ChangePasswordModal2 = _interopRequireDefault(_ChangePasswordModal);
533
534 var _jsreportStudio = __webpack_require__(4);
535
536 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
537
538 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
539
540 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
541
542 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; }
543
544 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; }
545
546 var ChangePasswordButton = function (_Component) {
547 _inherits(ChangePasswordButton, _Component);
548
549 function ChangePasswordButton() {
550 _classCallCheck(this, ChangePasswordButton);
551
552 return _possibleConstructorReturn(this, Object.getPrototypeOf(ChangePasswordButton).apply(this, arguments));
553 }
554
555 _createClass(ChangePasswordButton, [{
556 key: 'render',
557 value: function render() {
558 var _this2 = this;
559
560 if (!this.props.tab || !this.props.tab.entity || this.props.tab.entity.__entitySet !== 'users') {
561 return _react2.default.createElement('span', null);
562 }
563
564 return _react2.default.createElement(
565 'div',
566 null,
567 _react2.default.createElement(
568 'div',
569 {
570 className: 'toolbar-button',
571 onClick: function onClick(e) {
572 return _jsreportStudio2.default.openModal(_ChangePasswordModal2.default, { entity: _this2.props.tab.entity });
573 } },
574 _react2.default.createElement('i', { className: 'fa fa-key' }),
575 ' Change Password'
576 )
577 );
578 }
579 }]);
580
581 return ChangePasswordButton;
582 }(_react.Component);
583
584 ChangePasswordButton.propTypes = {
585 tab: _react2.default.PropTypes.object,
586 onUpdate: _react2.default.PropTypes.func.isRequired
587 };
588 exports.default = ChangePasswordButton;
589
590/***/ },
591/* 8 */
592/***/ function(module, exports, __webpack_require__) {
593
594 'use strict';
595
596 Object.defineProperty(exports, "__esModule", {
597 value: true
598 });
599
600 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; }; }();
601
602 var _react = __webpack_require__(2);
603
604 var _react2 = _interopRequireDefault(_react);
605
606 var _jsreportStudio = __webpack_require__(4);
607
608 var _jsreportStudio2 = _interopRequireDefault(_jsreportStudio);
609
610 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
611
612 function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
613
614 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
615
616 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; }
617
618 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; }
619
620 var NewUserModal = function (_Component) {
621 _inherits(NewUserModal, _Component);
622
623 function NewUserModal() {
624 _classCallCheck(this, NewUserModal);
625
626 var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(NewUserModal).call(this));
627
628 _this.state = {};
629 return _this;
630 }
631
632 _createClass(NewUserModal, [{
633 key: 'createUser',
634 value: function () {
635 var ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
636 var response;
637 return regeneratorRuntime.wrap(function _callee$(_context) {
638 while (1) {
639 switch (_context.prev = _context.next) {
640 case 0:
641 if (this.refs.username.value) {
642 _context.next = 2;
643 break;
644 }
645
646 return _context.abrupt('return', this.setState({ userNameError: true }));
647
648 case 2:
649 if (this.refs.password1.value) {
650 _context.next = 4;
651 break;
652 }
653
654 return _context.abrupt('return', this.setState({ passwordError: true }));
655
656 case 4:
657 _context.prev = 4;
658 _context.next = 7;
659 return _jsreportStudio2.default.api.post('/odata/users', {
660 data: {
661 username: this.refs.username.value,
662 password: this.refs.password1.value
663 }
664 });
665
666 case 7:
667 response = _context.sent;
668
669 response.__entitySet = 'users';
670
671 _jsreportStudio2.default.addExistingEntity(response);
672 this.props.close();
673 _context.next = 16;
674 break;
675
676 case 13:
677 _context.prev = 13;
678 _context.t0 = _context['catch'](4);
679
680 this.setState({ apiError: _context.t0.message });
681
682 case 16:
683 case 'end':
684 return _context.stop();
685 }
686 }
687 }, _callee, this, [[4, 13]]);
688 }));
689
690 function createUser() {
691 return ref.apply(this, arguments);
692 }
693
694 return createUser;
695 }()
696 }, {
697 key: 'validatePassword',
698 value: function validatePassword() {
699 this.setState({
700 passwordError: this.refs.password2.value && this.refs.password2.value !== this.refs.password1.value,
701 apiError: null
702 });
703 }
704 }, {
705 key: 'validateUsername',
706 value: function validateUsername() {
707 this.setState({
708 userNameError: this.refs.username.value === '',
709 apiError: null
710 });
711 }
712 }, {
713 key: 'render',
714 value: function render() {
715 var _this2 = this;
716
717 return _react2.default.createElement(
718 'div',
719 null,
720 _react2.default.createElement(
721 'div',
722 { className: 'form-group' },
723 _react2.default.createElement(
724 'label',
725 null,
726 'Username'
727 ),
728 _react2.default.createElement('input', { type: 'text', ref: 'username', onChange: function onChange() {
729 return _this2.validateUsername();
730 } })
731 ),
732 _react2.default.createElement(
733 'div',
734 { className: 'form-group' },
735 _react2.default.createElement(
736 'label',
737 null,
738 'Password'
739 ),
740 _react2.default.createElement('input', { type: 'password', ref: 'password1' })
741 ),
742 _react2.default.createElement(
743 'div',
744 { className: 'form-group' },
745 _react2.default.createElement(
746 'label',
747 null,
748 'Password verification'
749 ),
750 _react2.default.createElement('input', { type: 'password', ref: 'password2', onChange: function onChange() {
751 return _this2.validatePassword();
752 } })
753 ),
754 _react2.default.createElement(
755 'div',
756 { className: 'form-group' },
757 _react2.default.createElement(
758 'span',
759 { style: { color: 'red', display: this.state.passwordError ? 'block' : 'none' } },
760 'password doesn\'t match'
761 ),
762 _react2.default.createElement(
763 'span',
764 {
765 style: { color: 'red', display: this.state.userNameError ? 'block' : 'none' } },
766 'username must be filled'
767 ),
768 _react2.default.createElement(
769 'span',
770 { style: { color: 'red', display: this.state.apiError ? 'block' : 'none' } },
771 this.state.apiError
772 )
773 ),
774 _react2.default.createElement(
775 'div',
776 { className: 'button-bar' },
777 _react2.default.createElement(
778 'button',
779 { className: 'button confirmation', onClick: function onClick() {
780 return _this2.createUser();
781 } },
782 'ok'
783 )
784 )
785 );
786 }
787 }]);
788
789 return NewUserModal;
790 }(_react.Component);
791
792 NewUserModal.propTypes = {
793 close: _react.PropTypes.func.isRequired
794 };
795 exports.default = NewUserModal;
796
797/***/ }
798/******/ ]);
\No newline at end of file