react-application-core
Version:
A react-based application core for the business applications.
242 lines • 9.51 kB
JavaScript
;
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);
};
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseTransport = void 0;
var inversify_1 = require("inversify");
var util_1 = require("../util");
var definition_1 = require("../definition");
var di_1 = require("../di");
var util_2 = require("../util");
var BaseTransport = /** @class */ (function () {
function BaseTransport() {
var _this = this;
/**
* @stable [17.05.2020]
* @param {IPlaceEntity} value
* @returns {string}
*/
this.fromPlaceEntityToPlaceParameter = function (value) {
return _this.fieldConverter.fromPlaceEntityToPlaceParameter(value);
};
/**
* @stable [29.08.2020]
* @param entity
*/
this.fromMultiFieldValueToEntities = function (entity) {
return _this.fieldConverter.fromMultiFieldValueToEntities(entity);
};
/**
* @stable [01.09.2020]
* @param value
*/
this.fromNamedEntityToRawDataLabeledValueEntity = function (value) {
return _this.fieldConverter.fromNamedEntityToRawDataLabeledValueEntity(value);
};
/**
* @stable [23.08.2020]
* @param entity
*/
this.fromMultiFieldValueToDefinedEntities = function (entity) {
return _this.fieldConverter.fromMultiFieldValueToDefinedEntities(entity);
};
/**
* @stable [19.11.2020]
* @param value
*/
this.fromSelectValueToId = function (value) {
return _this.fieldConverter.fromSelectValueToId(value);
};
/**
* @stable [07.12.2020]
* @param value
*/
this.fromSelectValueToPositiveOrNegativeNumberLikeId = function (value) {
return _this.fieldConverter.fromSelectValueToPositiveOrNegativeNumberLikeId(value);
};
/**
* @stable [19.11.2020]
* @param value
*/
this.fromSelectValueToDisplayValue = function (value) {
return _this.fieldConverter.fromSelectValueToDisplayValue(value);
};
/**
* @stable [30.11.2020]
* @param value
*/
this.fromPhoneValueToDisplayValue = function (value) {
return _this.pc.phoneDisplayValue({ value: value });
};
/**
* @stable [19.11.2020]
* @param value
* @param converter
*/
this.numberParameter = function (value, converter) {
return _this.nc.numberParameter(value, converter);
};
/**
* @stable [19.09.2020]
* @param value
*/
this.phoneParameter = function (value) { return _this.pc.phoneParameter({ value: value }); };
/**
* @stable [15.11.2020]
* @param value
* @param returnUndef
*/
this.stringParameter = function (value, returnUndef) {
if (returnUndef === void 0) { returnUndef = false; }
return util_1.StringUtils.asStringParameter(value, returnUndef);
};
/**
* @stable [14.08.2020]
* @param value
*/
this.queryParameter = function (value) { return util_1.StringUtils.asStringParameter(value, true); };
/**
* @stable [30.11.2020]
* @param result
*/
this.singleAddedFileIdParameter = function (result) {
return util_1.StorageUtils.asSingleAddedFileId(result);
};
/**
* @stable [01.09.2020]
* @param value
* @param precision
*/
this.roundByPrecision = function (value, precision) {
if (precision === void 0) { precision = definition_1.DefaultEntities.CURRENCY_PRECISION_VALUE; }
return util_1.NumberUtils.roundByPrecision(value, precision);
};
}
/**
* @stable [16.05.2020]
* @param {IUpdateEntity<TEntity extends IEntity, TExtraParams>} entity
* @returns {Promise<TResult>}
*/
BaseTransport.prototype.doSaveEntity = function (entity) {
var _a = entity.apiEntity, newEntity = _a.newEntity, entityId = _a.entityId, diff = _a.diff;
return this.transport.request({
params: __assign(__assign(__assign({}, diff), util_1.defValuesFilter(entity.extraParams)), util_1.defValuesFilter({ id: entityId })),
name: newEntity ? entity.addApi : entity.editApi,
operation: entity.operation,
});
};
/**
* @stable [30.09.2020]
* @param value
*/
BaseTransport.prototype.multiFieldValueAsEntitiesIds = function (value) {
return util_2.MultiFieldUtils.multiFieldValueAsEntitiesIds(value);
};
/**
* @stable [13.12.2020]
* @param params
* @protected
*/
BaseTransport.prototype.downloadFile = function (params) {
var url = util_1.JoinUtils.join([
this.settings.downloadUrl,
util_1.UrlUtils.buildEncodedURI(this.transport.makeRequestData(params))
]);
util_1.DomUtils.downloadFileByUrl({ url: url });
};
/**
* @stable [03.12.2020]
* @param savedFiles
* @protected
*/
BaseTransport.prototype.doClearUploadedFiles = function (savedFiles) {
var tasks = [];
var callbacks = util_1.FilterUtils.notNilValuesArrayFilter.apply(util_1.FilterUtils, savedFiles).forEach(function (itm) { return tasks = __spreadArrays(tasks, itm.callback()); });
return Promise.all(tasks);
};
/**
* @stable [04.09.2020]
* @param entity
* @param fieldsValuesResolvers
* @protected
*/
BaseTransport.prototype.doSaveMultiEntities = function (entity) {
var _this = this;
var fieldsValuesResolvers = [];
for (var _i = 1; _i < arguments.length; _i++) {
fieldsValuesResolvers[_i - 1] = arguments[_i];
}
return util_1.StorageUtils.entitiesAsStorageTasks(entity, fieldsValuesResolvers, function (fileName, file) { return _this.multiEntityDatabaseStorage.set(fileName, file); });
};
Object.defineProperty(BaseTransport.prototype, "multiEntityDatabaseStorage", {
/**
* @lazy
* @stable [03.04.2020]
* @returns {IStorage}
*/
get: function () {
return di_1.getMultiEntityDatabaseStorage();
},
enumerable: false,
configurable: true
});
__decorate([
di_1.lazyInject(di_1.DI_TYPES.DateConverter),
__metadata("design:type", Object)
], BaseTransport.prototype, "dc", void 0);
__decorate([
di_1.lazyInject(di_1.DI_TYPES.Environment),
__metadata("design:type", Object)
], BaseTransport.prototype, "environment", void 0);
__decorate([
di_1.lazyInject(di_1.DI_TYPES.FieldConverter),
__metadata("design:type", Object)
], BaseTransport.prototype, "fieldConverter", void 0);
__decorate([
di_1.lazyInject(di_1.DI_TYPES.NumberConverter),
__metadata("design:type", Object)
], BaseTransport.prototype, "nc", void 0);
__decorate([
di_1.lazyInject(di_1.DI_TYPES.PhoneConverter),
__metadata("design:type", Object)
], BaseTransport.prototype, "pc", void 0);
__decorate([
di_1.lazyInject(di_1.DI_TYPES.Settings),
__metadata("design:type", Object)
], BaseTransport.prototype, "settings", void 0);
__decorate([
di_1.lazyInject(di_1.DI_TYPES.Transport),
__metadata("design:type", Object)
], BaseTransport.prototype, "transport", void 0);
BaseTransport = __decorate([
inversify_1.injectable()
], BaseTransport);
return BaseTransport;
}());
exports.BaseTransport = BaseTransport;
//# sourceMappingURL=base.transport.js.map