UNPKG

dareway-rui

Version:

79 lines (62 loc) 2.93 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = loadCustomViewModel; var _ES6ModuleLoader = _interopRequireDefault(require('./ES6ModuleLoader')); var _CustomizationCache = _interopRequireDefault(require('./../../customization/CustomizationCache')); var _buildVMSingleton = require('./buildVMSingleton'); var _buildVMFactory = require('./buildVMFactory'); var _AppManager = require('./AppManager'); ///////////////////////////////////////////////////////////////////////////// // Dependency // ///////////////////////////////////////////////////////////////////////////// // Util // var uuid = 1; var genUuid = function genUuid() { return uuid++; }; function loadCustomViewModel(biz, vmPath) { function handler(es6Module) { var connectedView = null; var connectedModel = null; var defaultExport = es6Module.default; if (defaultExport instanceof _buildVMFactory.VMFactory) { var _defaultExport$build = defaultExport.build(''.concat(genUuid())), _connectedView = _defaultExport$build.connectedView, _connectedModel = _defaultExport$build.connectedModel; (0, _AppManager.registerModel)(_connectedModel); return { connectedView: _connectedView, connectedModel: _connectedModel }; } else if (defaultExport instanceof _buildVMSingleton.VMSingleton) { var _defaultExport$getIns = defaultExport.getInstance(), _connectedView2 = _defaultExport$getIns.connectedView, _connectedModel2 = _defaultExport$getIns.connectedModel; (0, _AppManager.registerModel)(_connectedModel2); return { connectedView: _connectedView2, connectedModel: _connectedModel2 }; } else { throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1AloadCustomViewModel(biz, vmPath)\n\u51FD\u6570\u8C03\u7528\uFF1AloadCustomViewModel(' .concat(biz, ', ') .concat( vmPath, ')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u89E3\u6790\u5F97\u5230\u7684\u6A21\u5757\uFF0C\u4E0D\u662F\u7531 RUICore.buildVMFactory \u6216 RUI.buildVMSingleton \u5BFC\u51FA\n\u8BF7\u68C0\u67E5!' ) ); } } // 客户化后的 vmPath var customVmPath = _CustomizationCache.default.getCustomization(biz, vmPath); // 不存在客户化信息,加载标准件 if (!customVmPath) { return _ES6ModuleLoader.default.load(vmPath).then(handler); } // 存在客户化信息,加载客户化件 return _ES6ModuleLoader.default.load(customVmPath).then(handler); } //@ sourceMappingURL=loadCustomViewModel.js.map