UNPKG

mutants-appfx

Version:

appfx module

134 lines (104 loc) 5.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _map = require('babel-runtime/core-js/map'); var _map2 = _interopRequireDefault(_map); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); 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 _BaseController = require('./BaseController'); var _BaseController2 = _interopRequireDefault(_BaseController); var _ViewController = require('./ViewController'); var _ViewController2 = _interopRequireDefault(_ViewController); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Controller = (_temp = _class = function () { function Controller() { (0, _classCallCheck3.default)(this, Controller); } (0, _createClass3.default)(Controller, null, [{ key: 'registerController', value: function registerController(className, ControllerClass, ViewControllerClass, Blocks, ViewBlocks) { // ControllerClasss.forEach(CLASS => { // Controller.registry.set(CLASS.name, CLASS); // }); Controller.registry.set(className, ControllerClass); Controller.viewControllerTypes.set(className, ViewControllerClass); Controller.blockTypes.set(className, (0, _extends3.default)({}, Controller.blockTypes.get(className), Blocks)); Controller.vblockTypes.set(className, (0, _extends3.default)({}, Controller.vblockTypes.get(className), ViewBlocks)); } }, { key: 'createBizController', value: function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref2, dataModel, ui, viewModel) { var view = _ref2.view, controller = _ref2.controller, other = (0, _objectWithoutProperties3.default)(_ref2, ['view', 'controller']); var controllerClassName, ControllerClass, blocks; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: controllerClassName = controller; ControllerClass = Controller.registry.get(controllerClassName) || _BaseController2.default; blocks = Controller.createControllerBlocks({ controller: controller }); return _context.abrupt('return', new ControllerClass(other, dataModel, ui, view, viewModel, blocks)); case 4: case 'end': return _context.stop(); } } }, _callee, this); })); function createBizController(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); } return createBizController; }() }, { key: 'createViewController', value: function createViewController(_ref3, bizcontroller, uicontroller) { var controller = _ref3.controller, other = (0, _objectWithoutProperties3.default)(_ref3, ['controller']); var ControllerClass = Controller.viewControllerTypes.get(controller) || _ViewController2.default; var blocks = Controller.createControllerViewBlocks({ controller: controller }); return new ControllerClass(other, null, null, uicontroller, bizcontroller, blocks); } }, { key: 'registerBlocks', value: function registerBlocks(className, Blocks, VBlocks) { Controller.blockTypes.set(className.replace('Blocks', 'Controller'), (0, _extends3.default)({}, Controller.blockTypes.get(className), Blocks)); Controller.vblockTypes.set(className.replace('Blocks', 'Controller'), (0, _extends3.default)({}, Controller.vblockTypes.get(className), VBlocks)); } }, { key: 'createControllerBlocks', value: function createControllerBlocks(_ref4) { var controller = _ref4.controller; return Controller.blockTypes.get(controller) || {}; } }, { key: 'createControllerViewBlocks', value: function createControllerViewBlocks(_ref5) { var controller = _ref5.controller; return Controller.vblockTypes.get(controller) || {}; } }]); return Controller; }(), _class.registry = new _map2.default(), _class.viewControllerTypes = new _map2.default(), _class.blockTypes = new _map2.default(), _class.vblockTypes = new _map2.default(), _temp); exports.default = Controller; //# sourceMappingURL=index.js.map