mutants-appfx
Version:
appfx module
189 lines (142 loc) • 5.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _getOwnPropertyDescriptor = require('babel-runtime/core-js/object/get-own-property-descriptor');
var _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _defineProperty = require('babel-runtime/core-js/object/define-property');
var _defineProperty2 = _interopRequireDefault(_defineProperty);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _desc, _value, _class, _descriptor, _descriptor2, _desc2, _value2, _class3, _descriptor3;
var _mobx = require('mobx');
var _DataProviderManager = require('./DataProviderManager');
var _DataProviderManager2 = _interopRequireDefault(_DataProviderManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _initDefineProp(target, property, descriptor, context) {
if (!descriptor) return;
(0, _defineProperty2.default)(target, property, {
enumerable: descriptor.enumerable,
configurable: descriptor.configurable,
writable: descriptor.writable,
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
});
}
function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
var desc = {};
Object['ke' + 'ys'](descriptor).forEach(function (key) {
desc[key] = descriptor[key];
});
desc.enumerable = !!desc.enumerable;
desc.configurable = !!desc.configurable;
if ('value' in desc || desc.initializer) {
desc.writable = true;
}
desc = decorators.slice().reverse().reduce(function (desc, decorator) {
return decorator(target, property, desc) || desc;
}, desc);
if (context && desc.initializer !== void 0) {
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
desc.initializer = undefined;
}
if (desc.initializer === void 0) {
Object['define' + 'Property'](target, property, desc);
desc = null;
}
return desc;
}
function _initializerWarningHelper(descriptor, context) {
throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');
}
var FunctionModel = (_class = function () {
(0, _createClass3.default)(FunctionModel, [{
key: 'has',
value: function has(operation) {
return this.operations.indexOf(operation) > -1;
}
}]);
function FunctionModel(obj) {
(0, _classCallCheck3.default)(this, FunctionModel);
_initDefineProp(this, 'access', _descriptor, this);
_initDefineProp(this, 'operations', _descriptor2, this);
this.access = obj.access;
this.operations = obj.operations || [];
}
return FunctionModel;
}(), (_descriptor = _applyDecoratedDescriptor(_class.prototype, 'access', [_mobx.observable], {
enumerable: true,
initializer: null
}), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, 'operations', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return [];
}
})), _class);
var NoFunction = {
operations: [],
has: function has() {
return false;
}
};
var UIFunction = (_class3 = function () {
function UIFunction() {
(0, _classCallCheck3.default)(this, UIFunction);
_initDefineProp(this, 'items', _descriptor3, this);
}
(0, _createClass3.default)(UIFunction, [{
key: 'get',
value: function get(access) {
return this.items.get(access) || NoFunction;
}
}, {
key: 'loadUIFunction',
value: function () {
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref2) {
var _this = this;
var mid = _ref2.mid;
var functions;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!this.items.has(mid)) {
_context.next = 2;
break;
}
return _context.abrupt('return');
case 2:
_context.next = 4;
return _DataProviderManager2.default.getFunction({ access: mid });
case 4:
functions = _context.sent;
(0, _mobx.runInAction)(function () {
_this.items.set(mid, new FunctionModel(functions));
});
case 6:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function loadUIFunction(_x) {
return _ref.apply(this, arguments);
}
return loadUIFunction;
}()
}]);
return UIFunction;
}(), (_descriptor3 = _applyDecoratedDescriptor(_class3.prototype, 'items', [_mobx.observable], {
enumerable: true,
initializer: function initializer() {
return _mobx.observable.map();
}
}), _applyDecoratedDescriptor(_class3.prototype, 'loadUIFunction', [_mobx.action], (0, _getOwnPropertyDescriptor2.default)(_class3.prototype, 'loadUIFunction'), _class3.prototype)), _class3);
exports.default = new UIFunction();
//# sourceMappingURL=UIFunction.js.map