UNPKG

react-application-core

Version:

A react-based application core for the business applications.

108 lines 4.35 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ControlledFieldFactory = void 0; var React = require("react"); var R = require("ramda"); var inversify_1 = require("inversify"); var di_1 = require("../../di"); var util_1 = require("../../util"); var ControlledFieldFactory = /** @class */ (function () { function ControlledFieldFactory() { this.fields = new Map(); } /** * @stable [14.10.2020] * @param config */ ControlledFieldFactory.prototype.buildField = function (config) { return this.buildFields(config)[0]; }; /** * @stable [14.10.2020] * @param cfg */ ControlledFieldFactory.prototype.buildFields = function (cfg) { return this.buildMappedFields(cfg).map(function (itm) { return itm.element; }); }; /** * @stable [14.10.2020] * @param cfg */ ControlledFieldFactory.prototype.buildMappedFields = function (cfg) { var _this = this; var actualFields = this.getFields(cfg); return (actualFields .map(function (actualFieldCfg) { var fieldConfiguration = actualFieldCfg.fieldConfiguration; var fieldEl = _this.fields.get(actualFieldCfg.type); return { element: React.cloneElement(fieldEl, __assign(__assign({}, fieldConfiguration), _this.getExtraProps(cfg, actualFieldCfg, actualFields))), type: actualFieldCfg.type, }; })); }; /** * @stable [14.10.2020] * @param config * @protected */ ControlledFieldFactory.prototype.getFields = function (config) { return config.fields || []; }; /** * @stable [14.10.2020] * @param fields * @protected */ ControlledFieldFactory.prototype.sortFields = function (fields) { return R.sort(function (cfg1, cfg2) { return util_1.SortUtils.VALUE_ASC_SORTER(cfg1.order, cfg2.order); }, fields); }; /** * @stable [14.10.2020] * @param config * @param actualFieldCfg * @param actualFields * @protected */ ControlledFieldFactory.prototype.getExtraProps = function (config, actualFieldCfg, actualFields) { return {}; }; __decorate([ di_1.lazyInject(di_1.DI_TYPES.DictionaryStoreProxyFactory), __metadata("design:type", Function) ], ControlledFieldFactory.prototype, "$dictionaryStoreProxyFactory", void 0); __decorate([ di_1.lazyInject(di_1.DI_TYPES.FieldConverter), __metadata("design:type", Object) ], ControlledFieldFactory.prototype, "fieldConverter", void 0); __decorate([ di_1.lazyInject(di_1.DI_TYPES.FormStoreProxyFactory), __metadata("design:type", Function) ], ControlledFieldFactory.prototype, "$formStoreProxyFactory", void 0); ControlledFieldFactory = __decorate([ inversify_1.injectable() ], ControlledFieldFactory); return ControlledFieldFactory; }()); exports.ControlledFieldFactory = ControlledFieldFactory; //# sourceMappingURL=controlled-field-factory.service.js.map