mutants-appfx
Version:
appfx module
460 lines (349 loc) • 13.5 kB
JavaScript
'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