mutants-appfx
Version:
appfx module
134 lines (104 loc) • 5.13 kB
JavaScript
;
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