UNPKG

mutants-appfx

Version:

appfx module

460 lines (349 loc) 13.5 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _getIterator2 = require('babel-runtime/core-js/get-iterator'); var _getIterator3 = _interopRequireDefault(_getIterator2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _class, _temp; var _mutantsMicrofx = require('mutants-microfx'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var t = _mutantsMicrofx.i18n.getFixedT(null, 'appfx'); // 抽象UI交互控制,只支持用户输入和反馈两种形式 var UIController = (_temp = _class = function () { function UIController() { (0, _classCallCheck3.default)(this, UIController); } (0, _createClass3.default)(UIController, [{ key: '_init', value: function _init(viewModel) { this.viewModel = viewModel; } // 需要用户录入字段 }, { key: 'input', value: function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(fieldNames, context) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } var ret, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, it, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _it; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!Array.isArray(fieldNames)) { fieldNames = [fieldNames]; } if (!context) { console.error(t('未能获取用户输入,输入对象未知')); } ret = void 0; _iteratorNormalCompletion = true; _didIteratorError = false; _iteratorError = undefined; _context.prev = 6; _iterator = (0, _getIterator3.default)(this.viewModel.items); case 8: if (_iteratorNormalCompletion = (_step = _iterator.next()).done) { _context.next = 21; break; } it = _step.value; _context.t0 = typeof it.triggerFieldInput === 'function'; if (!_context.t0) { _context.next = 15; break; } _context.next = 14; return it.triggerFieldInput(fieldNames, context, args); case 14: _context.t0 = _context.sent; case 15: if (!_context.t0) { _context.next = 18; break; } ret = true; return _context.abrupt('break', 21); case 18: _iteratorNormalCompletion = true; _context.next = 8; break; case 21: _context.next = 27; break; case 23: _context.prev = 23; _context.t1 = _context['catch'](6); _didIteratorError = true; _iteratorError = _context.t1; case 27: _context.prev = 27; _context.prev = 28; if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } case 30: _context.prev = 30; if (!_didIteratorError) { _context.next = 33; break; } throw _iteratorError; case 33: return _context.finish(30); case 34: return _context.finish(27); case 35: if (ret) { _context.next = 68; break; } _iteratorNormalCompletion2 = true; _didIteratorError2 = false; _iteratorError2 = undefined; _context.prev = 39; _iterator2 = (0, _getIterator3.default)(UIController.defaultHandlers); case 41: if (_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done) { _context.next = 54; break; } _it = _step2.value; _context.t2 = typeof _it.triggerFieldInput === 'function'; if (!_context.t2) { _context.next = 48; break; } _context.next = 47; return _it.triggerFieldInput(fieldNames, context, args); case 47: _context.t2 = _context.sent; case 48: if (!_context.t2) { _context.next = 51; break; } ret = true; return _context.abrupt('break', 54); case 51: _iteratorNormalCompletion2 = true; _context.next = 41; break; case 54: _context.next = 60; break; case 56: _context.prev = 56; _context.t3 = _context['catch'](39); _didIteratorError2 = true; _iteratorError2 = _context.t3; case 60: _context.prev = 60; _context.prev = 61; if (!_iteratorNormalCompletion2 && _iterator2.return) { _iterator2.return(); } case 63: _context.prev = 63; if (!_didIteratorError2) { _context.next = 66; break; } throw _iteratorError2; case 66: return _context.finish(63); case 67: return _context.finish(60); case 68: if (ret) { console.warn(t('未能获取用户输入,编辑器未定义')); } case 69: case 'end': return _context.stop(); } } }, _callee, this, [[6, 23, 27, 35], [28,, 30, 34], [39, 56, 60, 68], [61,, 63, 67]]); })); function input(_x, _x2) { return _ref.apply(this, arguments); } return input; }() // 向用户反馈信息 }, { key: 'feedback', value: function () { var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(message) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'info'; var fbObj, _iteratorNormalCompletion3, _didIteratorError3, _iteratorError3, _iterator3, _step3, it, _iteratorNormalCompletion4, _didIteratorError4, _iteratorError4, _iterator4, _step4, _it2; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: if (!message) { console.error(t('未向用户反馈,反馈内容不能为空')); } if (!type) { console.error(t('未向用户反馈,反馈类型不能为空')); } fbObj = void 0; _iteratorNormalCompletion3 = true; _didIteratorError3 = false; _iteratorError3 = undefined; _context2.prev = 6; _iterator3 = (0, _getIterator3.default)(this.viewModel.items); case 8: if (_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done) { _context2.next = 19; break; } it = _step3.value; if (!(typeof it.triggerFeedback === 'function')) { _context2.next = 16; break; } _context2.next = 13; return it.triggerFeedback(message, type); case 13: fbObj = _context2.sent; if (!fbObj) { _context2.next = 16; break; } return _context2.abrupt('break', 19); case 16: _iteratorNormalCompletion3 = true; _context2.next = 8; break; case 19: _context2.next = 25; break; case 21: _context2.prev = 21; _context2.t0 = _context2['catch'](6); _didIteratorError3 = true; _iteratorError3 = _context2.t0; case 25: _context2.prev = 25; _context2.prev = 26; if (!_iteratorNormalCompletion3 && _iterator3.return) { _iterator3.return(); } case 28: _context2.prev = 28; if (!_didIteratorError3) { _context2.next = 31; break; } throw _iteratorError3; case 31: return _context2.finish(28); case 32: return _context2.finish(25); case 33: if (fbObj) { _context2.next = 64; break; } _iteratorNormalCompletion4 = true; _didIteratorError4 = false; _iteratorError4 = undefined; _context2.prev = 37; _iterator4 = (0, _getIterator3.default)(UIController.defaultHandlers); case 39: if (_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done) { _context2.next = 50; break; } _it2 = _step4.value; if (!(typeof _it2.triggerFeedback === 'function')) { _context2.next = 47; break; } _context2.next = 44; return _it2.triggerFeedback(message, type); case 44: fbObj = _context2.sent; if (!fbObj) { _context2.next = 47; break; } return _context2.abrupt('break', 50); case 47: _iteratorNormalCompletion4 = true; _context2.next = 39; break; case 50: _context2.next = 56; break; case 52: _context2.prev = 52; _context2.t1 = _context2['catch'](37); _didIteratorError4 = true; _iteratorError4 = _context2.t1; case 56: _context2.prev = 56; _context2.prev = 57; if (!_iteratorNormalCompletion4 && _iterator4.return) { _iterator4.return(); } case 59: _context2.prev = 59; if (!_didIteratorError4) { _context2.next = 62; break; } throw _iteratorError4; case 62: return _context2.finish(59); case 63: return _context2.finish(56); case 64: if (fbObj) { _context2.next = 68; break; } console.warn(t('未向用户反馈,反馈形式未定义')); _context2.next = 70; break; case 68: if (!((typeof fbObj === 'undefined' ? 'undefined' : (0, _typeof3.default)(fbObj)) === 'object')) { _context2.next = 70; break; } return _context2.abrupt('return', fbObj.result); case 70: case 'end': return _context2.stop(); } } }, _callee2, this, [[6, 21, 25, 33], [26,, 28, 32], [37, 52, 56, 64], [57,, 59, 63]]); })); function feedback(_x3) { return _ref2.apply(this, arguments); } return feedback; }() }], [{ key: 'reginsterHandler', value: function reginsterHandler(obj) { UIController.defaultHandlers.push(obj); } }]); return UIController; }(), _class.defaultHandlers = [], _temp); exports.default = UIController; //# sourceMappingURL=UIController.js.map