@esfaenza/parameters 12.2.2 → 12.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/esfaenza-parameters.umd.js +22 -6
- package/bundles/esfaenza-parameters.umd.js.map +1 -1
- package/esfaenza-parameters.metadata.json +1 -1
- package/esm2015/lib/es_parameters.component.js +21 -6
- package/esm2015/lib/models/GenericParameter.js +2 -1
- package/fesm2015/esfaenza-parameters.js +21 -5
- package/fesm2015/esfaenza-parameters.js.map +1 -1
- package/lib/es_parameters.component.d.ts +3 -2
- package/lib/models/GenericParameter.d.ts +4 -0
- package/package.json +18 -18
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@esfaenza/forms-and-validations'), require('@esfaenza/localizations'), require('@esfaenza/extensions')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@esfaenza/parameters', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@esfaenza/forms-and-validations', '@esfaenza/localizations', '@esfaenza/extensions'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza.parameters = {}), global.ng.core, global.ng.common, global.ng.forms, global.formsAndValidations, global.localizations, global.extensions));
|
|
5
|
-
}(this, (function (exports, core, common, forms, formsAndValidations, localizations, extensions) { 'use strict';
|
|
5
|
+
})(this, (function (exports, core, common, forms, formsAndValidations, localizations, extensions) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -350,10 +350,11 @@
|
|
|
350
350
|
*
|
|
351
351
|
* @ignore
|
|
352
352
|
*/
|
|
353
|
-
function EsParametersComponent(utiExts, lc, cdr) {
|
|
353
|
+
function EsParametersComponent(utiExts, lc, cdr, inj) {
|
|
354
354
|
this.utiExts = utiExts;
|
|
355
355
|
this.lc = lc;
|
|
356
356
|
this.cdr = cdr;
|
|
357
|
+
this.inj = inj;
|
|
357
358
|
/**
|
|
358
359
|
* Pipeline di Angular
|
|
359
360
|
*
|
|
@@ -414,6 +415,10 @@
|
|
|
414
415
|
this.Parameters.forEach(function (t) {
|
|
415
416
|
if (t.typecode && !t.type)
|
|
416
417
|
t.type = _this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
418
|
+
if (t.type != _this.utiExts.getJsTypeFromTypeCode(t.typecode))
|
|
419
|
+
throw "Rilevate inconsistenze fra il tipo " + t.type + " e il tipo " + _this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
420
|
+
if (t.type == "boolean")
|
|
421
|
+
t.value = t.value.toString().toLowerCase() === "true";
|
|
417
422
|
if (t.enumtype || t.dicttype)
|
|
418
423
|
t.type = 'enum';
|
|
419
424
|
});
|
|
@@ -424,6 +429,13 @@
|
|
|
424
429
|
* @ignore
|
|
425
430
|
*/
|
|
426
431
|
EsParametersComponent.prototype.validate = function (c) {
|
|
432
|
+
var _a;
|
|
433
|
+
// Se la validazione è richiamata da un componente non me stesso vuol dire che i componenti di validazione interni stanno richiamando
|
|
434
|
+
// questo validator, ma dal loro punto di vista non se ne devono preoccupare quindi faccio finta non ci siano errori.
|
|
435
|
+
// Se invece vengo richiamato direttamente significa che è il form in cui vive es-parameters e lì devo effettuare la validazione
|
|
436
|
+
var control = (_a = this.inj.get(forms.NgControl, null)) === null || _a === void 0 ? void 0 : _a.control;
|
|
437
|
+
if (c != control)
|
|
438
|
+
return null;
|
|
427
439
|
var valid = true;
|
|
428
440
|
if (this.Parameters && this.Parameters.length > 0) {
|
|
429
441
|
this.Parameters.forEach(function (t) {
|
|
@@ -431,6 +443,8 @@
|
|
|
431
443
|
valid = false;
|
|
432
444
|
else if (t.value && t.type == 'number')
|
|
433
445
|
valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);
|
|
446
|
+
else if (t.value && t.pattern)
|
|
447
|
+
valid = new RegExp(t.pattern).test(t.value);
|
|
434
448
|
});
|
|
435
449
|
}
|
|
436
450
|
if (valid)
|
|
@@ -483,13 +497,14 @@
|
|
|
483
497
|
multi: true
|
|
484
498
|
}
|
|
485
499
|
],
|
|
486
|
-
template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n
|
|
500
|
+
template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <form-date [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-date>\r\n </div>\r\n <!--Se stringa-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'string'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-input>\r\n </div>\r\n <!--Se numero-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'number'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\"></form-input>\r\n </div>\r\n <!--Se boolean-->\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\" *ngIf=\"par.type == 'boolean'\">\r\n <form-checkbox [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-checkbox>\r\n </div>\r\n <!--Se enum single select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && !par.multienum\">\r\n <form-select [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator [Source]=\"par.enumvalues\"></form-select>\r\n </div>\r\n <!--Se enum multi select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && par.multienum\">\r\n <form-multiselect [FormLayout]=\"false\" [SelectLabel]=\"('Select' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly || par.isreadonly\" [Source]=\"par.enumvalues\" required (inputChange)=\"changed();\" #validator></form-multiselect>\r\n </div>\r\n\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n</div>"
|
|
487
501
|
},] }
|
|
488
502
|
];
|
|
489
503
|
EsParametersComponent.ctorParameters = function () { return [
|
|
490
504
|
{ type: extensions.UtilityService },
|
|
491
505
|
{ type: localizations.LocalizationService },
|
|
492
|
-
{ type: core.ChangeDetectorRef }
|
|
506
|
+
{ type: core.ChangeDetectorRef },
|
|
507
|
+
{ type: core.Injector }
|
|
493
508
|
]; };
|
|
494
509
|
EsParametersComponent.propDecorators = {
|
|
495
510
|
LastParameterNoMargin: [{ type: core.Input }],
|
|
@@ -557,6 +572,7 @@
|
|
|
557
572
|
this.type = type == 'enum' ? "" : type;
|
|
558
573
|
this.insertthis = true;
|
|
559
574
|
this.enumtype = type == 'enum' ? type : "";
|
|
575
|
+
this.isreadonly = false;
|
|
560
576
|
if (!this.enumtype && enumvalues.length != 0)
|
|
561
577
|
console.error("impossibile gestire valori di dizionario per un parametro non di tipo enum");
|
|
562
578
|
if (v_default != null)
|
|
@@ -577,9 +593,9 @@
|
|
|
577
593
|
exports.EsParametersModule = EsParametersModule;
|
|
578
594
|
exports.GenericParameter = GenericParameter;
|
|
579
595
|
exports.PAR_LOCALE = PAR_LOCALE;
|
|
580
|
-
exports
|
|
596
|
+
exports["ɵa"] = EsParametersLoc;
|
|
581
597
|
|
|
582
598
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
583
599
|
|
|
584
|
-
}))
|
|
600
|
+
}));
|
|
585
601
|
//# sourceMappingURL=esfaenza-parameters.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esfaenza-parameters.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/parameters/src/lib/tokens.ts","../../../projects/parameters/src/lib/es_parameters.component.loc.ts","../../../projects/parameters/src/lib/es_parameters.component.ts","../../../projects/parameters/src/lib/es_parameters.module.ts","../../../projects/parameters/src/lib/models/GenericParameter.ts","../../../projects/parameters/src/public-api.ts","../../../projects/parameters/src/esfaenza-parameters.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Token che indica il locale da utilizzare per l'applicazione. Sono supportati i locali \"it-IT\" ed \"en-US\"\r\n */\r\nexport const PAR_LOCALE: InjectionToken<string> = new InjectionToken<string>('PAR_LOCALE');","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n/**\r\n * Classe di localizzazione per il componente **EsParametersComponent**\r\n */\r\n@Injectable()\r\nexport class EsParametersLoc extends LocalizationService {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(PAR_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n }\r\n}","// Angular\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { UtilityService } from \"@esfaenza/extensions\";\r\n\r\n// Classi\r\nimport { GenericParameter } from './models/GenericParameter';\r\n\r\n// Applicazione\r\nimport { EsParametersLoc } from \"./es_parameters.component.loc\";\r\n\r\n/**\r\n * Componente che permette di graficare una lista di **GenericParameter** come Input in base al loro tipo specifico\r\n */\r\n@Component({\r\n selector: \"es-parameters\",\r\n providers: [\r\n { provide: LocalizationService, useClass: EsParametersLoc },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n }],\r\n templateUrl: \"./es_parameters.component.html\"\r\n})\r\nexport class EsParametersComponent implements ControlValueAccessor, Validator {\r\n\r\n /**\r\n * Modello del componente su cui vengono effettuate le graficazioni\r\n */\r\n public Parameters: GenericParameter[];\r\n\r\n /**\r\n * Pipeline di Angular \r\n * \r\n * @ignore\r\n */\r\n propagateChange = (_: any) => { };\r\n\r\n /**\r\n * Indica che l'ultimo parametro non deve avere margine in fondo\r\n */\r\n @Input() LastParameterNoMargin: boolean = false;\r\n\r\n /**\r\n * col-md-X per la label\r\n */\r\n @Input() LabelColWidth: number = 4;\r\n\r\n /**\r\n * col-md-X per l'input\r\n */\r\n @Input() InputColWidth: number = 8;\r\n\r\n /**\r\n * Input a cui collegare la variabile **submitted** del form all'interno del quale viene utilizzato questo componente\r\n */\r\n @Input() submitted: boolean = false;\r\n\r\n /**\r\n * Valore da mostrare qualora non fossero ancora ricevuti i **Parameters** da mostrare\r\n */\r\n @Input() EmptyMessage: string = \"\";\r\n\r\n /**\r\n * Permette di rimuovere i parametri dalla lista cliccando sulla X davanti alla Label\r\n */\r\n @Input() Removal: boolean = false;\r\n\r\n /**\r\n * Indica se i componenti di Input generati sono Readonly o no\r\n */\r\n @Input() Readonly: boolean = false;\r\n\r\n /**\r\n * Permette di settare in una volta solo gli input **LabelColWidth** e **InputColWidth**, basta scriverlo con la sintassi \"X Y\"\r\n */\r\n @Input() set LabelInputRatio(input: string) {\r\n var ratio = input.split(/\\s/);\r\n this.LabelColWidth = parseInt(ratio[0]);\r\n this.InputColWidth = parseInt(ratio[1]);\r\n }\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(private utiExts: UtilityService, public lc: LocalizationService, public cdr: ChangeDetectorRef) { }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public writeValue(obj): void {\r\n this.Parameters = obj;\r\n if (!this.Parameters)\r\n return;\r\n\r\n this.Parameters.forEach(t => {\r\n if (t.typecode && !t.type)\r\n t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.enumtype || t.dicttype)\r\n t.type = 'enum';\r\n });\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n validate(c: FormControl): any {\r\n let valid = true;\r\n\r\n if (this.Parameters && this.Parameters.length > 0) {\r\n this.Parameters.forEach(t => {\r\n if (t.mandatory && !t.value)\r\n valid = false;\r\n else if (t.value && t.type == 'number')\r\n valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);\r\n });\r\n }\r\n\r\n if (valid)\r\n return null;\r\n return { \"es-parameters\": valid };\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnChange(fn): void { this.propagateChange = fn; }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnTouched(fn): void { }\r\n\r\n /**\r\n * Metodo che si occupa di gestire il modello in uscita e propagarlo sul binding ngModel\r\n */\r\n public changed() {\r\n var thyCleanShaltNotBlankMe = JSON.parse(JSON.stringify(this.Parameters));\r\n this.propagateChange(thyCleanShaltNotBlankMe);\r\n }\r\n\r\n /**\r\n * Rimuove il parametro selezionato e propaga il modello\r\n * \r\n * @param {GenericParameter} par Parametro da rimuovere\r\n */\r\n public removeParameter(par: GenericParameter) {\r\n this.Parameters.splice(this.Parameters.indexOf(par), 1);\r\n this.changed();\r\n }\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FormsAndValidationsModule } from \"@esfaenza/forms-and-validations\";\r\nimport { LocalizationModule } from '@esfaenza/localizations';\r\nimport { FullExtensionsModule } from '@esfaenza/extensions';\r\nimport { EsParametersComponent } from './es_parameters.component';\r\nimport { EsParametersModuleConfig } from './models/EsParametersModuleConfig';\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n\r\n@NgModule({\r\n declarations: [EsParametersComponent],\r\n imports: [\r\n CommonModule,\r\n LocalizationModule,\r\n FormsModule,\r\n FullExtensionsModule,\r\n FormsAndValidationsModule,\r\n ],\r\n exports: [EsParametersComponent]\r\n})\r\nexport class EsParametersModule {\r\n static forRoot(config?: EsParametersModuleConfig): ModuleWithProviders<EsParametersModule> {\r\n return {\r\n ngModule: EsParametersModule,\r\n providers: [\r\n { provide: PAR_LOCALE, useValue: config?.locale || 'it-IT' }\r\n ]\r\n };\r\n }\r\n }\r\n","/**\r\n * Classe che rappresenta un parametro generico\r\n */\r\nexport class GenericParameter {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @param {string} id Codice del parametro\r\n * @param {string} description Descrizione del parametro\r\n * @param {string} pattern Pattern di validazione\r\n * @param {'date' | 'string' | 'number' | 'boolean' | 'enum'} type Tipo di input \r\n * @param {boolean} mandatory Indica se il valore è obbligatorio o meno\r\n * @param {any} v_default Valore di default per questo Parametro\r\n * @param {{ id: string, description: string }[]} enumvalues Qualora il **type** fosse di tipo **enum**, qui devono esserci tutti i valori che può assumere \r\n * @param {boolean} multienum Qualora il **type** fosse di tipo **enum**, indica se è possibile selezionare più valori (multiselect)\r\n */\r\n constructor(\r\n public id: string, \r\n public description: string, \r\n public pattern: string,\r\n type: 'date' | 'string' | 'number' | 'boolean' | 'enum', \r\n public mandatory: boolean, \r\n v_default: any = null, \r\n public enumvalues: { id: string, description: string }[] = [],\r\n public multienum?: boolean) {\r\n\r\n this.type = type == 'enum' ? \"\" : type;\r\n this.insertthis = true;\r\n this.enumtype = type == 'enum' ? type : \"\";\r\n \r\n if(!this.enumtype && enumvalues.length != 0)\r\n console.error(\"impossibile gestire valori di dizionario per un parametro non di tipo enum\");\r\n\r\n if (v_default != null)\r\n this.value = v_default;\r\n }\r\n \r\n /**\r\n * Tipo di dato rappresentato da questo parametro\r\n */\r\n public type: string;\r\n\r\n /**\r\n * Typecode lato C# che rappresenta il tipo di dato\r\n */\r\n public typecode: number;\r\n\r\n /**\r\n * Valore del parametro\r\n */\r\n public value: any;\r\n\r\n /**\r\n * Indica se questo parametro dev'essere inserito o no. In caso contrario viene semplicemente nascosto\r\n */\r\n public insertthis: boolean;\r\n\r\n /**\r\n * Tipo Enum, valorizzato dal Backend\r\n */\r\n public enumtype: string;\r\n\r\n /**\r\n * Tipo Dizionario, valorizzato dal Backend\r\n */\r\n public dicttype: string;\r\n}","/*\r\n * Public API Surface of parameters\r\n */\r\nexport * from './lib/es_parameters.module';\r\nexport * from './lib/tokens';\r\nexport * from './lib/models/GenericParameter';\r\nexport * from './lib/es_parameters.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EsParametersLoc as ɵa} from './lib/es_parameters.component.loc';"],"names":["InjectionToken","LocalizationService","Injectable","Inject","Component","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","UtilityService","ChangeDetectorRef","Input","NgModule","CommonModule","LocalizationModule","FormsModule","FullExtensionsModule","FormsAndValidationsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"esfaenza-parameters.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/parameters/src/lib/tokens.ts","../../../projects/parameters/src/lib/es_parameters.component.loc.ts","../../../projects/parameters/src/lib/es_parameters.component.ts","../../../projects/parameters/src/lib/es_parameters.module.ts","../../../projects/parameters/src/lib/models/GenericParameter.ts","../../../projects/parameters/src/public-api.ts","../../../projects/parameters/src/esfaenza-parameters.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n 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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Token che indica il locale da utilizzare per l'applicazione. Sono supportati i locali \"it-IT\" ed \"en-US\"\r\n */\r\nexport const PAR_LOCALE: InjectionToken<string> = new InjectionToken<string>('PAR_LOCALE');","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n/**\r\n * Classe di localizzazione per il componente **EsParametersComponent**\r\n */\r\n@Injectable()\r\nexport class EsParametersLoc extends LocalizationService {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(PAR_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n }\r\n}","// Angular\r\nimport { ControlValueAccessor, FormControl, NgControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\nimport { ChangeDetectorRef, Component, forwardRef, Injector, Input } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { UtilityService } from \"@esfaenza/extensions\";\r\n\r\n// Classi\r\nimport { GenericParameter } from './models/GenericParameter';\r\n\r\n// Applicazione\r\nimport { EsParametersLoc } from \"./es_parameters.component.loc\";\r\n\r\n/**\r\n * Componente che permette di graficare una lista di **GenericParameter** come Input in base al loro tipo specifico\r\n */\r\n@Component({\r\n selector: \"es-parameters\",\r\n providers: [\r\n { provide: LocalizationService, useClass: EsParametersLoc },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n }],\r\n templateUrl: \"./es_parameters.component.html\"\r\n})\r\nexport class EsParametersComponent implements ControlValueAccessor, Validator {\r\n\r\n /**\r\n * Modello del componente su cui vengono effettuate le graficazioni\r\n */\r\n public Parameters: GenericParameter[];\r\n\r\n /**\r\n * Pipeline di Angular \r\n * \r\n * @ignore\r\n */\r\n propagateChange = (_: any) => { };\r\n\r\n /**\r\n * Indica che l'ultimo parametro non deve avere margine in fondo\r\n */\r\n @Input() LastParameterNoMargin: boolean = false;\r\n\r\n /**\r\n * col-md-X per la label\r\n */\r\n @Input() LabelColWidth: number = 4;\r\n\r\n /**\r\n * col-md-X per l'input\r\n */\r\n @Input() InputColWidth: number = 8;\r\n\r\n /**\r\n * Input a cui collegare la variabile **submitted** del form all'interno del quale viene utilizzato questo componente\r\n */\r\n @Input() submitted: boolean = false;\r\n\r\n /**\r\n * Valore da mostrare qualora non fossero ancora ricevuti i **Parameters** da mostrare\r\n */\r\n @Input() EmptyMessage: string = \"\";\r\n\r\n /**\r\n * Permette di rimuovere i parametri dalla lista cliccando sulla X davanti alla Label\r\n */\r\n @Input() Removal: boolean = false;\r\n\r\n /**\r\n * Indica se i componenti di Input generati sono Readonly o no\r\n */\r\n @Input() Readonly: boolean = false;\r\n\r\n /**\r\n * Permette di settare in una volta solo gli input **LabelColWidth** e **InputColWidth**, basta scriverlo con la sintassi \"X Y\"\r\n */\r\n @Input() set LabelInputRatio(input: string) {\r\n var ratio = input.split(/\\s/);\r\n this.LabelColWidth = parseInt(ratio[0]);\r\n this.InputColWidth = parseInt(ratio[1]);\r\n }\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(private utiExts: UtilityService, public lc: LocalizationService, public cdr: ChangeDetectorRef, private inj: Injector) { }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public writeValue(obj): void {\r\n this.Parameters = obj;\r\n if (!this.Parameters)\r\n return;\r\n\r\n this.Parameters.forEach(t => {\r\n if (t.typecode && !t.type)\r\n t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.type != this.utiExts.getJsTypeFromTypeCode(t.typecode))\r\n throw \"Rilevate inconsistenze fra il tipo \" + t.type + \" e il tipo \" + this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.type == \"boolean\")\r\n t.value = (<string>t.value.toString()).toLowerCase() === \"true\";\r\n\r\n if (t.enumtype || t.dicttype)\r\n t.type = 'enum';\r\n });\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n validate(c: FormControl): any {\r\n // Se la validazione è richiamata da un componente non me stesso vuol dire che i componenti di validazione interni stanno richiamando\r\n // questo validator, ma dal loro punto di vista non se ne devono preoccupare quindi faccio finta non ci siano errori.\r\n // Se invece vengo richiamato direttamente significa che è il form in cui vive es-parameters e lì devo effettuare la validazione\r\n let control = this.inj.get(NgControl, null)?.control;\r\n if (c != control)\r\n return null;\r\n\r\n let valid = true;\r\n if (this.Parameters && this.Parameters.length > 0) {\r\n this.Parameters.forEach(t => {\r\n if (t.mandatory && !t.value)\r\n valid = false;\r\n else if (t.value && t.type == 'number')\r\n valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);\r\n else if (t.value && t.pattern)\r\n valid = new RegExp(t.pattern).test(t.value);\r\n });\r\n }\r\n\r\n if (valid)\r\n return null;\r\n return { \"es-parameters\": valid };\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnChange(fn): void { this.propagateChange = fn; }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnTouched(fn): void { }\r\n\r\n /**\r\n * Metodo che si occupa di gestire il modello in uscita e propagarlo sul binding ngModel\r\n */\r\n public changed() {\r\n var thyCleanShaltNotBlankMe = JSON.parse(JSON.stringify(this.Parameters));\r\n this.propagateChange(thyCleanShaltNotBlankMe);\r\n }\r\n\r\n /**\r\n * Rimuove il parametro selezionato e propaga il modello\r\n * \r\n * @param {GenericParameter} par Parametro da rimuovere\r\n */\r\n public removeParameter(par: GenericParameter) {\r\n this.Parameters.splice(this.Parameters.indexOf(par), 1);\r\n this.changed();\r\n }\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FormsAndValidationsModule } from \"@esfaenza/forms-and-validations\";\r\nimport { LocalizationModule } from '@esfaenza/localizations';\r\nimport { FullExtensionsModule } from '@esfaenza/extensions';\r\nimport { EsParametersComponent } from './es_parameters.component';\r\nimport { EsParametersModuleConfig } from './models/EsParametersModuleConfig';\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n\r\n@NgModule({\r\n declarations: [EsParametersComponent],\r\n imports: [\r\n CommonModule,\r\n LocalizationModule,\r\n FormsModule,\r\n FullExtensionsModule,\r\n FormsAndValidationsModule,\r\n ],\r\n exports: [EsParametersComponent]\r\n})\r\nexport class EsParametersModule {\r\n static forRoot(config?: EsParametersModuleConfig): ModuleWithProviders<EsParametersModule> {\r\n return {\r\n ngModule: EsParametersModule,\r\n providers: [\r\n { provide: PAR_LOCALE, useValue: config?.locale || 'it-IT' }\r\n ]\r\n };\r\n }\r\n }\r\n","/**\r\n * Classe che rappresenta un parametro generico\r\n */\r\nexport class GenericParameter {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @param {string} id Codice del parametro\r\n * @param {string} description Descrizione del parametro\r\n * @param {string} pattern Pattern di validazione\r\n * @param {'date' | 'string' | 'number' | 'boolean' | 'enum'} type Tipo di input \r\n * @param {boolean} mandatory Indica se il valore è obbligatorio o meno\r\n * @param {any} v_default Valore di default per questo Parametro\r\n * @param {{ id: string, description: string }[]} enumvalues Qualora il **type** fosse di tipo **enum**, qui devono esserci tutti i valori che può assumere \r\n * @param {boolean} multienum Qualora il **type** fosse di tipo **enum**, indica se è possibile selezionare più valori (multiselect)\r\n */\r\n constructor(\r\n public id: string, \r\n public description: string, \r\n public pattern: string,\r\n type: 'date' | 'string' | 'number' | 'boolean' | 'enum', \r\n public mandatory: boolean, \r\n v_default: any = null, \r\n public enumvalues: { id: string, description: string }[] = [],\r\n public multienum?: boolean) {\r\n\r\n this.type = type == 'enum' ? \"\" : type;\r\n this.insertthis = true;\r\n this.enumtype = type == 'enum' ? type : \"\";\r\n this.isreadonly = false;\r\n\r\n if(!this.enumtype && enumvalues.length != 0)\r\n console.error(\"impossibile gestire valori di dizionario per un parametro non di tipo enum\");\r\n\r\n if (v_default != null)\r\n this.value = v_default;\r\n }\r\n \r\n /**\r\n * Tipo di dato rappresentato da questo parametro\r\n */\r\n public type: string;\r\n\r\n /**\r\n * Typecode lato C# che rappresenta il tipo di dato\r\n */\r\n public typecode: number;\r\n\r\n /**\r\n * Indica se il campo specificato dev'essere di sola lettura o meno\r\n */\r\n public isreadonly: boolean;\r\n\r\n /**\r\n * Valore del parametro\r\n */\r\n public value: any;\r\n\r\n /**\r\n * Indica se questo parametro dev'essere inserito o no. In caso contrario viene semplicemente nascosto\r\n */\r\n public insertthis: boolean;\r\n\r\n /**\r\n * Tipo Enum, valorizzato dal Backend\r\n */\r\n public enumtype: string;\r\n\r\n /**\r\n * Tipo Dizionario, valorizzato dal Backend\r\n */\r\n public dicttype: string;\r\n}","/*\r\n * Public API Surface of parameters\r\n */\r\nexport * from './lib/es_parameters.module';\r\nexport * from './lib/tokens';\r\nexport * from './lib/models/GenericParameter';\r\nexport * from './lib/es_parameters.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EsParametersLoc as ɵa} from './lib/es_parameters.component.loc';"],"names":["InjectionToken","LocalizationService","Injectable","Inject","NgControl","Component","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","UtilityService","ChangeDetectorRef","Injector","Input","NgModule","CommonModule","LocalizationModule","FormsModule","FullExtensionsModule","FormsAndValidationsModule"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"EsParametersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"EsParametersComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":16,"character":4},{"__symbolic":"reference","module":"@esfaenza/extensions","name":"FullExtensionsModule","line":17,"character":4},{"__symbolic":"reference","module":"@esfaenza/forms-and-validations","name":"FormsAndValidationsModule","line":18,"character":4}],"exports":[{"__symbolic":"reference","name":"EsParametersComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"EsParametersModule"},"providers":[{"provide":{"__symbolic":"reference","name":"PAR_LOCALE"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"locale"},"right":"it-IT"}}]}}}},"PAR_LOCALE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":54},"arguments":["PAR_LOCALE"]},"GenericParameter":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Expression form not supported","line":21,"character":14,"module":"./lib/models/GenericParameter"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":24,"character":27,"module":"./lib/models/GenericParameter"}]},{"__symbolic":"reference","name":"boolean"}]}]}},"EsParametersComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"es-parameters","providers":[{"provide":{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":20,"character":19},"useClass":{"__symbolic":"reference","name":"ɵa"}},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":22,"character":21},"useExisting":{"__symbolic":"reference","name":"EsParametersComponent"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":27,"character":21},"useExisting":{"__symbolic":"reference","name":"EsParametersComponent"},"multi":true}],"template":"<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n <!--Gestione input obbligatorio-->\r\n <ng-container *ngIf=\"par.mandatory\">\r\n <!--Se data-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <val-date [submitted]=\"submitted\" [readonly]=\"Readonly\" required [(ngModel)]=\"par.value\" name=\"par{{i}}\" autocomplete=\"off\" (inputChange)=\"changed();\"></val-date>\r\n </div>\r\n <!--Se stringa-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'string'\">\r\n <val-input [submitted]=\"submitted\" [readonly]=\"Readonly\" type=\"text\" required [(ngModel)]=\"par.value\" name=\"per{{i}}\" autocomplete=\"off\" (inputChange)=\"changed();\"></val-input>\r\n </div>\r\n <!--Se numero-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'number'\">\r\n <val-input [submitted]=\"submitted\" [readonly]=\"Readonly\" type=\"text\" pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\" required [(ngModel)]=\"par.value\" name=\"per{{i}}\" autocomplete=\"off\" (inputChange)=\"changed();\"></val-input>\r\n </div>\r\n <!--Se boolean-->\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\" *ngIf=\"par.type == 'boolean'\">\r\n <input type=\"checkbox\" required [disabled]=\"Readonly ? true : null\" [(ngModel)]=\"par.value\" name=\"per{{i}}\" autocomplete=\"off\" (ngModelChange)=\"changed();\" />\r\n </div>\r\n <!--Se enum single select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && !par.multienum\">\r\n <val-select [submitted]=\"submitted\" [readonly]=\"Readonly\" [placeHolderValue]=\"''\" [placeholder]=\"('Select' | localize : lc) + '...'\" required [(ngModel)]=\"par.value\" (inputChange)=\"changed();\" name=\"value{{i}}\">\r\n <option *ngFor=\"let val of par.enumvalues\" [value]=\"val.id\">{{val.description}}</option>\r\n </val-select>\r\n </div>\r\n <!--Se enum multi select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && par.multienum\">\r\n <form-multiselect [FormLayout]=\"false\" [SelectLabel]=\"('Select' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly\" [Source]=\"par.enumvalues\" required (inputChange)=\"changed();\"></form-multiselect>\r\n </div>\r\n </ng-container>\r\n\r\n <!--Gestione input opzionale-->\r\n <ng-container *ngIf=\"!par.mandatory\">\r\n <!--Se data-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <val-date type=\"text\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" [readonly]=\"Readonly\" autocomplete=\"off\" (inputChange)=\"changed();\"></val-date>\r\n </div>\r\n <!--Se stringa-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'string'\">\r\n <val-input type=\"text\" [(ngModel)]=\"par.value\" name=\"per{{i}}\" [readonly]=\"Readonly\" autocomplete=\"off\" (inputChange)=\"changed();\"></val-input>\r\n </div>\r\n <!--Se numero-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'number'\">\r\n <val-input [submitted]=\"submitted\" type=\"text\" [readonly]=\"Readonly\" pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\" [(ngModel)]=\"par.value\" name=\"per{{i}}\" autocomplete=\"off\" (inputChange)=\"changed();\"></val-input>\r\n </div>\r\n <!--Se boolean-->\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\" *ngIf=\"par.type == 'boolean'\">\r\n <input type=\"checkbox\" [disabled]=\"Readonly ? true : null\" [(ngModel)]=\"par.value\" name=\"per{{i}}\" autocomplete=\"off\" (ngModelChange)=\"changed();\" />\r\n </div>\r\n <!--Se enum single select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && !par.multienum\">\r\n <val-select [(ngModel)]=\"par.value\" [readonly]=\"Readonly\" name=\"value{{i}}\" (inputChange)=\"changed();\">\r\n <option *ngFor=\"let val of par.enumvalues\" [value]=\"val.id\">{{val.description}}</option>\r\n </val-select>\r\n </div>\r\n <!--Se enum multi select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && par.multienum\">\r\n <form-multiselect [FormLayout]=\"false\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly\" [Source]=\"par.enumvalues\" (inputChange)=\"changed();\"></form-multiselect>\r\n </div>\r\n </ng-container>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n</div>"}]}],"members":{"LastParameterNoMargin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"LabelColWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"InputColWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"EmptyMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}}]}],"Removal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":5}}]}],"Readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":5}}]}],"LabelInputRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@esfaenza/extensions","name":"UtilityService","line":96,"character":33},{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":96,"character":60},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":96,"character":93}]}],"writeValue":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"changed":[{"__symbolic":"method"}],"removeParameter":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":8,"character":37},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":15,"character":17},"arguments":[{"__symbolic":"reference","name":"PAR_LOCALE"}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}]}}},"origins":{"EsParametersModule":"./lib/es_parameters.module","PAR_LOCALE":"./lib/tokens","GenericParameter":"./lib/models/GenericParameter","EsParametersComponent":"./lib/es_parameters.component","ɵa":"./lib/es_parameters.component.loc"},"importAs":"@esfaenza/parameters"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"EsParametersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"EsParametersComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":16,"character":4},{"__symbolic":"reference","module":"@esfaenza/extensions","name":"FullExtensionsModule","line":17,"character":4},{"__symbolic":"reference","module":"@esfaenza/forms-and-validations","name":"FormsAndValidationsModule","line":18,"character":4}],"exports":[{"__symbolic":"reference","name":"EsParametersComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"EsParametersModule"},"providers":[{"provide":{"__symbolic":"reference","name":"PAR_LOCALE"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"locale"},"right":"it-IT"}}]}}}},"PAR_LOCALE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":5,"character":54},"arguments":["PAR_LOCALE"]},"GenericParameter":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Expression form not supported","line":21,"character":14,"module":"./lib/models/GenericParameter"},{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":24,"character":27,"module":"./lib/models/GenericParameter"}]},{"__symbolic":"reference","name":"boolean"}]}]}},"EsParametersComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"es-parameters","providers":[{"provide":{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":20,"character":19},"useClass":{"__symbolic":"reference","name":"ɵa"}},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":22,"character":21},"useExisting":{"__symbolic":"reference","name":"EsParametersComponent"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":27,"character":21},"useExisting":{"__symbolic":"reference","name":"EsParametersComponent"},"multi":true}],"template":"<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <form-date [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-date>\r\n </div>\r\n <!--Se stringa-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'string'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-input>\r\n </div>\r\n <!--Se numero-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'number'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\"></form-input>\r\n </div>\r\n <!--Se boolean-->\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\" *ngIf=\"par.type == 'boolean'\">\r\n <form-checkbox [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-checkbox>\r\n </div>\r\n <!--Se enum single select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && !par.multienum\">\r\n <form-select [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator [Source]=\"par.enumvalues\"></form-select>\r\n </div>\r\n <!--Se enum multi select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && par.multienum\">\r\n <form-multiselect [FormLayout]=\"false\" [SelectLabel]=\"('Select' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly || par.isreadonly\" [Source]=\"par.enumvalues\" required (inputChange)=\"changed();\" #validator></form-multiselect>\r\n </div>\r\n\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n</div>"}]}],"members":{"LastParameterNoMargin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}}]}],"LabelColWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5}}]}],"InputColWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":5}}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":5}}]}],"EmptyMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":5}}]}],"Removal":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":5}}]}],"Readonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":5}}]}],"LabelInputRatio":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@esfaenza/extensions","name":"UtilityService","line":96,"character":33},{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":96,"character":60},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":96,"character":93},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":96,"character":125}]}],"writeValue":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"changed":[{"__symbolic":"method"}],"removeParameter":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@esfaenza/localizations","name":"LocalizationService","line":8,"character":37},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":7,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":15,"character":17},"arguments":[{"__symbolic":"reference","name":"PAR_LOCALE"}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}]}}},"origins":{"EsParametersModule":"./lib/es_parameters.module","PAR_LOCALE":"./lib/tokens","GenericParameter":"./lib/models/GenericParameter","EsParametersComponent":"./lib/es_parameters.component","ɵa":"./lib/es_parameters.component.loc"},"importAs":"@esfaenza/parameters"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Angular
|
|
2
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
-
import { ChangeDetectorRef, Component, forwardRef, Input } from "@angular/core";
|
|
2
|
+
import { NgControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { ChangeDetectorRef, Component, forwardRef, Injector, Input } from "@angular/core";
|
|
4
4
|
// Configurazioni
|
|
5
5
|
import { LocalizationService } from "@esfaenza/localizations";
|
|
6
6
|
import { UtilityService } from "@esfaenza/extensions";
|
|
@@ -15,10 +15,11 @@ export class EsParametersComponent {
|
|
|
15
15
|
*
|
|
16
16
|
* @ignore
|
|
17
17
|
*/
|
|
18
|
-
constructor(utiExts, lc, cdr) {
|
|
18
|
+
constructor(utiExts, lc, cdr, inj) {
|
|
19
19
|
this.utiExts = utiExts;
|
|
20
20
|
this.lc = lc;
|
|
21
21
|
this.cdr = cdr;
|
|
22
|
+
this.inj = inj;
|
|
22
23
|
/**
|
|
23
24
|
* Pipeline di Angular
|
|
24
25
|
*
|
|
@@ -74,6 +75,10 @@ export class EsParametersComponent {
|
|
|
74
75
|
this.Parameters.forEach(t => {
|
|
75
76
|
if (t.typecode && !t.type)
|
|
76
77
|
t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
78
|
+
if (t.type != this.utiExts.getJsTypeFromTypeCode(t.typecode))
|
|
79
|
+
throw "Rilevate inconsistenze fra il tipo " + t.type + " e il tipo " + this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
80
|
+
if (t.type == "boolean")
|
|
81
|
+
t.value = t.value.toString().toLowerCase() === "true";
|
|
77
82
|
if (t.enumtype || t.dicttype)
|
|
78
83
|
t.type = 'enum';
|
|
79
84
|
});
|
|
@@ -84,6 +89,13 @@ export class EsParametersComponent {
|
|
|
84
89
|
* @ignore
|
|
85
90
|
*/
|
|
86
91
|
validate(c) {
|
|
92
|
+
var _a;
|
|
93
|
+
// Se la validazione è richiamata da un componente non me stesso vuol dire che i componenti di validazione interni stanno richiamando
|
|
94
|
+
// questo validator, ma dal loro punto di vista non se ne devono preoccupare quindi faccio finta non ci siano errori.
|
|
95
|
+
// Se invece vengo richiamato direttamente significa che è il form in cui vive es-parameters e lì devo effettuare la validazione
|
|
96
|
+
let control = (_a = this.inj.get(NgControl, null)) === null || _a === void 0 ? void 0 : _a.control;
|
|
97
|
+
if (c != control)
|
|
98
|
+
return null;
|
|
87
99
|
let valid = true;
|
|
88
100
|
if (this.Parameters && this.Parameters.length > 0) {
|
|
89
101
|
this.Parameters.forEach(t => {
|
|
@@ -91,6 +103,8 @@ export class EsParametersComponent {
|
|
|
91
103
|
valid = false;
|
|
92
104
|
else if (t.value && t.type == 'number')
|
|
93
105
|
valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);
|
|
106
|
+
else if (t.value && t.pattern)
|
|
107
|
+
valid = new RegExp(t.pattern).test(t.value);
|
|
94
108
|
});
|
|
95
109
|
}
|
|
96
110
|
if (valid)
|
|
@@ -142,13 +156,14 @@ EsParametersComponent.decorators = [
|
|
|
142
156
|
multi: true
|
|
143
157
|
}
|
|
144
158
|
],
|
|
145
|
-
template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n
|
|
159
|
+
template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <form-date [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-date>\r\n </div>\r\n <!--Se stringa-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'string'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-input>\r\n </div>\r\n <!--Se numero-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'number'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\"></form-input>\r\n </div>\r\n <!--Se boolean-->\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\" *ngIf=\"par.type == 'boolean'\">\r\n <form-checkbox [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-checkbox>\r\n </div>\r\n <!--Se enum single select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && !par.multienum\">\r\n <form-select [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator [Source]=\"par.enumvalues\"></form-select>\r\n </div>\r\n <!--Se enum multi select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && par.multienum\">\r\n <form-multiselect [FormLayout]=\"false\" [SelectLabel]=\"('Select' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly || par.isreadonly\" [Source]=\"par.enumvalues\" required (inputChange)=\"changed();\" #validator></form-multiselect>\r\n </div>\r\n\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n</div>"
|
|
146
160
|
},] }
|
|
147
161
|
];
|
|
148
162
|
EsParametersComponent.ctorParameters = () => [
|
|
149
163
|
{ type: UtilityService },
|
|
150
164
|
{ type: LocalizationService },
|
|
151
|
-
{ type: ChangeDetectorRef }
|
|
165
|
+
{ type: ChangeDetectorRef },
|
|
166
|
+
{ type: Injector }
|
|
152
167
|
];
|
|
153
168
|
EsParametersComponent.propDecorators = {
|
|
154
169
|
LastParameterNoMargin: [{ type: Input }],
|
|
@@ -160,4 +175,4 @@ EsParametersComponent.propDecorators = {
|
|
|
160
175
|
Readonly: [{ type: Input }],
|
|
161
176
|
LabelInputRatio: [{ type: Input }]
|
|
162
177
|
};
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfcGFyYW1ldGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXJhbWV0ZXJzL3NyYy9saWIvZXNfcGFyYW1ldGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBcUMsYUFBYSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFLdEQsZUFBZTtBQUNmLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRTs7R0FFRztBQWlCSCxNQUFNLE9BQU8scUJBQXFCO0lBMEQ5Qjs7OztPQUlHO0lBQ0gsWUFBb0IsT0FBdUIsRUFBUyxFQUF1QixFQUFTLEdBQXNCO1FBQXRGLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXhEMUc7Ozs7V0FJRztRQUNILG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVsQzs7V0FFRztRQUNNLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUVoRDs7V0FFRztRQUNNLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRXBDOztXQUVHO1FBQ00saUJBQVksR0FBVyxFQUFFLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRWxDOztXQUVHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztJQWdCMkUsQ0FBQztJQWQvRzs7T0FFRztJQUNILElBQWEsZUFBZSxDQUFDLEtBQWE7UUFDdEMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBU0Q7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxHQUFHO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQixPQUFPO1FBRVgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ3JCLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFNUQsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRO2dCQUN4QixDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLENBQWM7UUFDbkIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO29CQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDO3FCQUNiLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVE7b0JBQ2xDLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxLQUFLO1lBQ0wsT0FBTyxJQUFJLENBQUM7UUFDaEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLEVBQUUsSUFBVSxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFaEU7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLEVBQUUsSUFBVSxDQUFDO0lBRXRDOztPQUVHO0lBQ0ksT0FBTztRQUNWLElBQUksdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxHQUFxQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7O1lBeEpKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsU0FBUyxFQUFFO29CQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUU7b0JBQzNEO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNkO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3dCQUNwRCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFBQztnQkFDTixvNEtBQTZDO2FBQ2hEOzs7WUExQlEsY0FBYztZQURkLG1CQUFtQjtZQUhuQixpQkFBaUI7OztvQ0FnRHJCLEtBQUs7NEJBS0wsS0FBSzs0QkFLTCxLQUFLO3dCQUtMLEtBQUs7MkJBS0wsS0FBSztzQkFLTCxLQUFLO3VCQUtMLEtBQUs7OEJBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbi8vIENsYXNzaVxyXG5pbXBvcnQgeyBHZW5lcmljUGFyYW1ldGVyIH0gZnJvbSAnLi9tb2RlbHMvR2VuZXJpY1BhcmFtZXRlcic7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgRXNQYXJhbWV0ZXJzTG9jIH0gZnJvbSBcIi4vZXNfcGFyYW1ldGVycy5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgcGVybWV0dGUgZGkgZ3JhZmljYXJlIHVuYSBsaXN0YSBkaSAqKkdlbmVyaWNQYXJhbWV0ZXIqKiBjb21lIElucHV0IGluIGJhc2UgYWwgbG9ybyB0aXBvIHNwZWNpZmljb1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJlcy1wYXJhbWV0ZXJzXCIsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBFc1BhcmFtZXRlcnNMb2MgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFc1BhcmFtZXRlcnNDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFc1BhcmFtZXRlcnNDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1dLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9lc19wYXJhbWV0ZXJzLmNvbXBvbmVudC5odG1sXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzUGFyYW1ldGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9kZWxsbyBkZWwgY29tcG9uZW50ZSBzdSBjdWkgdmVuZ29ubyBlZmZldHR1YXRlIGxlIGdyYWZpY2F6aW9uaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgUGFyYW1ldGVyczogR2VuZXJpY1BhcmFtZXRlcltdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGlwZWxpbmUgZGkgQW5ndWxhciBcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2EgY2hlIGwndWx0aW1vIHBhcmFtZXRybyBub24gZGV2ZSBhdmVyZSBtYXJnaW5lIGluIGZvbmRvXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIExhc3RQYXJhbWV0ZXJOb01hcmdpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogY29sLW1kLVggcGVyIGxhIGxhYmVsXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIExhYmVsQ29sV2lkdGg6IG51bWJlciA9IDQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBjb2wtbWQtWCBwZXIgbCdpbnB1dFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBJbnB1dENvbFdpZHRoOiBudW1iZXIgPSA4O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5wdXQgYSBjdWkgY29sbGVnYXJlIGxhIHZhcmlhYmlsZSAqKnN1Ym1pdHRlZCoqIGRlbCBmb3JtIGFsbCdpbnRlcm5vIGRlbCBxdWFsZSB2aWVuZSB1dGlsaXp6YXRvIHF1ZXN0byBjb21wb25lbnRlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN1Ym1pdHRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsb3JlIGRhIG1vc3RyYXJlIHF1YWxvcmEgbm9uIGZvc3Nlcm8gYW5jb3JhIHJpY2V2dXRpIGkgKipQYXJhbWV0ZXJzKiogZGEgbW9zdHJhcmVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgRW1wdHlNZXNzYWdlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgZGkgcmltdW92ZXJlIGkgcGFyYW1ldHJpIGRhbGxhIGxpc3RhIGNsaWNjYW5kbyBzdWxsYSBYIGRhdmFudGkgYWxsYSBMYWJlbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBSZW1vdmFsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaSBjb21wb25lbnRpIGRpIElucHV0IGdlbmVyYXRpIHNvbm8gUmVhZG9ubHkgbyBub1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgZGkgc2V0dGFyZSBpbiB1bmEgdm9sdGEgc29sbyBnbGkgaW5wdXQgKipMYWJlbENvbFdpZHRoKiogZSAqKklucHV0Q29sV2lkdGgqKiwgYmFzdGEgc2NyaXZlcmxvIGNvbiBsYSBzaW50YXNzaSBcIlggWVwiXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBMYWJlbElucHV0UmF0aW8oaW5wdXQ6IHN0cmluZykge1xyXG4gICAgICAgIHZhciByYXRpbyA9IGlucHV0LnNwbGl0KC9cXHMvKTtcclxuICAgICAgICB0aGlzLkxhYmVsQ29sV2lkdGggPSBwYXJzZUludChyYXRpb1swXSk7XHJcbiAgICAgICAgdGhpcy5JbnB1dENvbFdpZHRoID0gcGFyc2VJbnQocmF0aW9bMV0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmVcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBpcGVsaW5lIGRpIEFuZ3VsYXJcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShvYmopOiB2b2lkIHtcclxuICAgICAgICB0aGlzLlBhcmFtZXRlcnMgPSBvYmo7XHJcbiAgICAgICAgaWYgKCF0aGlzLlBhcmFtZXRlcnMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5QYXJhbWV0ZXJzLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0LnR5cGVjb2RlICYmICF0LnR5cGUpXHJcbiAgICAgICAgICAgICAgICB0LnR5cGUgPSB0aGlzLnV0aUV4dHMuZ2V0SnNUeXBlRnJvbVR5cGVDb2RlKHQudHlwZWNvZGUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHQuZW51bXR5cGUgfHwgdC5kaWN0dHlwZSlcclxuICAgICAgICAgICAgICAgIHQudHlwZSA9ICdlbnVtJztcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBpcGVsaW5lIGRpIEFuZ3VsYXJcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCk6IGFueSB7XHJcbiAgICAgICAgbGV0IHZhbGlkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuUGFyYW1ldGVycyAmJiB0aGlzLlBhcmFtZXRlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLlBhcmFtZXRlcnMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0Lm1hbmRhdG9yeSAmJiAhdC52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodC52YWx1ZSAmJiB0LnR5cGUgPT0gJ251bWJlcicpXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBuZXcgUmVnRXhwKHQucGF0dGVybiB8fCAvXlsrLV0/WzAtOV0qWyxdP1swLTldKyQvKS50ZXN0KHQudmFsdWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWxpZClcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHsgXCJlcy1wYXJhbWV0ZXJzXCI6IHZhbGlkIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQaXBlbGluZSBkaSBBbmd1bGFyXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm4pOiB2b2lkIHsgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGlwZWxpbmUgZGkgQW5ndWxhclxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbik6IHZvaWQgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRvZG8gY2hlIHNpIG9jY3VwYSBkaSBnZXN0aXJlIGlsIG1vZGVsbG8gaW4gdXNjaXRhIGUgcHJvcGFnYXJsbyBzdWwgYmluZGluZyBuZ01vZGVsXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGFuZ2VkKCkge1xyXG4gICAgICAgIHZhciB0aHlDbGVhblNoYWx0Tm90QmxhbmtNZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5QYXJhbWV0ZXJzKSk7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGh5Q2xlYW5TaGFsdE5vdEJsYW5rTWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmltdW92ZSBpbCBwYXJhbWV0cm8gc2VsZXppb25hdG8gZSBwcm9wYWdhIGlsIG1vZGVsbG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtHZW5lcmljUGFyYW1ldGVyfSBwYXIgUGFyYW1ldHJvIGRhIHJpbXVvdmVyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVtb3ZlUGFyYW1ldGVyKHBhcjogR2VuZXJpY1BhcmFtZXRlcikge1xyXG4gICAgICAgIHRoaXMuUGFyYW1ldGVycy5zcGxpY2UodGhpcy5QYXJhbWV0ZXJzLmluZGV4T2YocGFyKSwgMSk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VkKCk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfcGFyYW1ldGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYXJhbWV0ZXJzL3NyYy9saWIvZXNfcGFyYW1ldGVycy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBcUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUt0RCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFOztHQUVHO0FBaUJILE1BQU0sT0FBTyxxQkFBcUI7SUEwRDlCOzs7O09BSUc7SUFDSCxZQUFvQixPQUF1QixFQUFTLEVBQXVCLEVBQVMsR0FBc0IsRUFBVSxHQUFhO1FBQTdHLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQVU7UUF4RGpJOzs7O1dBSUc7UUFDSCxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFbEM7O1dBRUc7UUFDTSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFFaEQ7O1dBRUc7UUFDTSxrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUVuQzs7V0FFRztRQUNNLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sY0FBUyxHQUFZLEtBQUssQ0FB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cUJBQXFCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUFDO2dCQUNOLDYyRkFBNkM7YUFDaEQ7OztZQTFCUSxjQUFjO1lBRGQsbUJBQW1CO1lBSG5CLGlCQUFpQjtZQUF5QixRQUFROzs7b0NBZ0R0RCxLQUFLOzRCQUtMLEtBQUs7NEJBS0wsS0FBSzt3QkFLTCxLQUFLOzJCQUtMLEtBQUs7c0JBS0wsS0FBSzt1QkFLTCxLQUFLOzhCQUtMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGZvcndhcmRSZWYsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBDbGFzc2lcclxuaW1wb3J0IHsgR2VuZXJpY1BhcmFtZXRlciB9IGZyb20gJy4vbW9kZWxzL0dlbmVyaWNQYXJhbWV0ZXInO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IEVzUGFyYW1ldGVyc0xvYyB9IGZyb20gXCIuL2VzX3BhcmFtZXRlcnMuY29tcG9uZW50LmxvY1wiO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgY2hlIHBlcm1ldHRlIGRpIGdyYWZpY2FyZSB1bmEgbGlzdGEgZGkgKipHZW5lcmljUGFyYW1ldGVyKiogY29tZSBJbnB1dCBpbiBiYXNlIGFsIGxvcm8gdGlwbyBzcGVjaWZpY29cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZXMtcGFyYW1ldGVyc1wiLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRXNQYXJhbWV0ZXJzTG9jIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXNQYXJhbWV0ZXJzQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXNQYXJhbWV0ZXJzQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXNfcGFyYW1ldGVycy5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc1BhcmFtZXRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1vZGVsbG8gZGVsIGNvbXBvbmVudGUgc3UgY3VpIHZlbmdvbm8gZWZmZXR0dWF0ZSBsZSBncmFmaWNhemlvbmlcclxuICAgICAqL1xyXG4gICAgcHVibGljIFBhcmFtZXRlcnM6IEdlbmVyaWNQYXJhbWV0ZXJbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBpcGVsaW5lIGRpIEFuZ3VsYXIgXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIGNoZSBsJ3VsdGltbyBwYXJhbWV0cm8gbm9uIGRldmUgYXZlcmUgbWFyZ2luZSBpbiBmb25kb1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBMYXN0UGFyYW1ldGVyTm9NYXJnaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIGNvbC1tZC1YIHBlciBsYSBsYWJlbFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBMYWJlbENvbFdpZHRoOiBudW1iZXIgPSA0O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogY29sLW1kLVggcGVyIGwnaW5wdXRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgSW5wdXRDb2xXaWR0aDogbnVtYmVyID0gODtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElucHV0IGEgY3VpIGNvbGxlZ2FyZSBsYSB2YXJpYWJpbGUgKipzdWJtaXR0ZWQqKiBkZWwgZm9ybSBhbGwnaW50ZXJubyBkZWwgcXVhbGUgdmllbmUgdXRpbGl6emF0byBxdWVzdG8gY29tcG9uZW50ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFZhbG9yZSBkYSBtb3N0cmFyZSBxdWFsb3JhIG5vbiBmb3NzZXJvIGFuY29yYSByaWNldnV0aSBpICoqUGFyYW1ldGVycyoqIGRhIG1vc3RyYXJlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEVtcHR5TWVzc2FnZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGRpIHJpbXVvdmVyZSBpIHBhcmFtZXRyaSBkYWxsYSBsaXN0YSBjbGljY2FuZG8gc3VsbGEgWCBkYXZhbnRpIGFsbGEgTGFiZWxcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgUmVtb3ZhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGkgY29tcG9uZW50aSBkaSBJbnB1dCBnZW5lcmF0aSBzb25vIFJlYWRvbmx5IG8gbm9cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgUmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGRpIHNldHRhcmUgaW4gdW5hIHZvbHRhIHNvbG8gZ2xpIGlucHV0ICoqTGFiZWxDb2xXaWR0aCoqIGUgKipJbnB1dENvbFdpZHRoKiosIGJhc3RhIHNjcml2ZXJsbyBjb24gbGEgc2ludGFzc2kgXCJYIFlcIlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzZXQgTGFiZWxJbnB1dFJhdGlvKGlucHV0OiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgcmF0aW8gPSBpbnB1dC5zcGxpdCgvXFxzLyk7XHJcbiAgICAgICAgdGhpcy5MYWJlbENvbFdpZHRoID0gcGFyc2VJbnQocmF0aW9bMF0pO1xyXG4gICAgICAgIHRoaXMuSW5wdXRDb2xXaWR0aCA9IHBhcnNlSW50KHJhdGlvWzFdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1dGlFeHRzOiBVdGlsaXR5U2VydmljZSwgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBpbmo6IEluamVjdG9yKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBpcGVsaW5lIGRpIEFuZ3VsYXJcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShvYmopOiB2b2lkIHtcclxuICAgICAgICB0aGlzLlBhcmFtZXRlcnMgPSBvYmo7XHJcbiAgICAgICAgaWYgKCF0aGlzLlBhcmFtZXRlcnMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5QYXJhbWV0ZXJzLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0LnR5cGVjb2RlICYmICF0LnR5cGUpXHJcbiAgICAgICAgICAgICAgICB0LnR5cGUgPSB0aGlzLnV0aUV4dHMuZ2V0SnNUeXBlRnJvbVR5cGVDb2RlKHQudHlwZWNvZGUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHQudHlwZSAhPSB0aGlzLnV0aUV4dHMuZ2V0SnNUeXBlRnJvbVR5cGVDb2RlKHQudHlwZWNvZGUpKVxyXG4gICAgICAgICAgICAgICAgdGhyb3cgXCJSaWxldmF0ZSBpbmNvbnNpc3RlbnplIGZyYSBpbCB0aXBvIFwiICsgdC50eXBlICsgXCIgZSBpbCB0aXBvIFwiICsgdGhpcy51dGlFeHRzLmdldEpzVHlwZUZyb21UeXBlQ29kZSh0LnR5cGVjb2RlKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0LnR5cGUgPT0gXCJib29sZWFuXCIpXHJcbiAgICAgICAgICAgICAgICB0LnZhbHVlID0gKDxzdHJpbmc+dC52YWx1ZS50b1N0cmluZygpKS50b0xvd2VyQ2FzZSgpID09PSBcInRydWVcIjtcclxuXHJcbiAgICAgICAgICAgIGlmICh0LmVudW10eXBlIHx8IHQuZGljdHR5cGUpXHJcbiAgICAgICAgICAgICAgICB0LnR5cGUgPSAnZW51bSc7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQaXBlbGluZSBkaSBBbmd1bGFyXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpOiBhbnkge1xyXG4gICAgICAgIC8vIFNlIGxhIHZhbGlkYXppb25lIMOoIHJpY2hpYW1hdGEgZGEgdW4gY29tcG9uZW50ZSBub24gbWUgc3Rlc3NvIHZ1b2wgZGlyZSBjaGUgaSBjb21wb25lbnRpIGRpIHZhbGlkYXppb25lIGludGVybmkgc3Rhbm5vIHJpY2hpYW1hbmRvXHJcbiAgICAgICAgLy8gcXVlc3RvIHZhbGlkYXRvciwgbWEgZGFsIGxvcm8gcHVudG8gZGkgdmlzdGEgbm9uIHNlIG5lIGRldm9ubyBwcmVvY2N1cGFyZSBxdWluZGkgZmFjY2lvIGZpbnRhIG5vbiBjaSBzaWFubyBlcnJvcmkuXHJcbiAgICAgICAgLy8gU2UgaW52ZWNlIHZlbmdvIHJpY2hpYW1hdG8gZGlyZXR0YW1lbnRlIHNpZ25pZmljYSBjaGUgw6ggaWwgZm9ybSBpbiBjdWkgdml2ZSBlcy1wYXJhbWV0ZXJzIGUgbMOsIGRldm8gZWZmZXR0dWFyZSBsYSB2YWxpZGF6aW9uZVxyXG4gICAgICAgIGxldCBjb250cm9sID0gdGhpcy5pbmouZ2V0KE5nQ29udHJvbCwgbnVsbCk/LmNvbnRyb2w7XHJcbiAgICAgICAgaWYgKGMgIT0gY29udHJvbClcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGxldCB2YWxpZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMuUGFyYW1ldGVycyAmJiB0aGlzLlBhcmFtZXRlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLlBhcmFtZXRlcnMuZm9yRWFjaCh0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0Lm1hbmRhdG9yeSAmJiAhdC52YWx1ZSlcclxuICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodC52YWx1ZSAmJiB0LnR5cGUgPT0gJ251bWJlcicpXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBuZXcgUmVnRXhwKHQucGF0dGVybiB8fCAvXlsrLV0/WzAtOV0qWyxdP1swLTldKyQvKS50ZXN0KHQudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodC52YWx1ZSAmJiB0LnBhdHRlcm4pXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBuZXcgUmVnRXhwKHQucGF0dGVybikudGVzdCh0LnZhbHVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsaWQpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiB7IFwiZXMtcGFyYW1ldGVyc1wiOiB2YWxpZCB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGlwZWxpbmUgZGkgQW5ndWxhclxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuKTogdm9pZCB7IHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFBpcGVsaW5lIGRpIEFuZ3VsYXJcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm4pOiB2b2lkIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBzaSBvY2N1cGEgZGkgZ2VzdGlyZSBpbCBtb2RlbGxvIGluIHVzY2l0YSBlIHByb3BhZ2FybG8gc3VsIGJpbmRpbmcgbmdNb2RlbFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hhbmdlZCgpIHtcclxuICAgICAgICB2YXIgdGh5Q2xlYW5TaGFsdE5vdEJsYW5rTWUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuUGFyYW1ldGVycykpO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoeUNsZWFuU2hhbHROb3RCbGFua01lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJpbXVvdmUgaWwgcGFyYW1ldHJvIHNlbGV6aW9uYXRvIGUgcHJvcGFnYSBpbCBtb2RlbGxvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7R2VuZXJpY1BhcmFtZXRlcn0gcGFyIFBhcmFtZXRybyBkYSByaW11b3ZlcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlbW92ZVBhcmFtZXRlcihwYXI6IEdlbmVyaWNQYXJhbWV0ZXIpIHtcclxuICAgICAgICB0aGlzLlBhcmFtZXRlcnMuc3BsaWNlKHRoaXMuUGFyYW1ldGVycy5pbmRleE9mKHBhciksIDEpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlZCgpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -24,10 +24,11 @@ export class GenericParameter {
|
|
|
24
24
|
this.type = type == 'enum' ? "" : type;
|
|
25
25
|
this.insertthis = true;
|
|
26
26
|
this.enumtype = type == 'enum' ? type : "";
|
|
27
|
+
this.isreadonly = false;
|
|
27
28
|
if (!this.enumtype && enumvalues.length != 0)
|
|
28
29
|
console.error("impossibile gestire valori di dizionario per un parametro non di tipo enum");
|
|
29
30
|
if (v_default != null)
|
|
30
31
|
this.value = v_default;
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJpY1BhcmFtZXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhcmFtZXRlcnMvc3JjL2xpYi9tb2RlbHMvR2VuZXJpY1BhcmFtZXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFFekI7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxZQUNXLEVBQVUsRUFDVixXQUFtQixFQUNuQixPQUFlLEVBQ3RCLElBQXVELEVBQ2hELFNBQWtCLEVBQ3pCLFlBQWlCLElBQUksRUFDZCxhQUFvRCxFQUFFLEVBQ3RELFNBQW1CO1FBUG5CLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRWYsY0FBUyxHQUFULFNBQVMsQ0FBUztRQUVsQixlQUFVLEdBQVYsVUFBVSxDQUE0QztRQUN0RCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBRTFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUV4QixJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDdkMsT0FBTyxDQUFDLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBRWhHLElBQUksU0FBUyxJQUFJLElBQUk7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztDQW9DSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDbGFzc2UgY2hlIHJhcHByZXNlbnRhIHVuIHBhcmFtZXRybyBnZW5lcmljb1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEdlbmVyaWNQYXJhbWV0ZXIge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIENvZGljZSBkZWwgcGFyYW1ldHJvXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gRGVzY3JpemlvbmUgZGVsIHBhcmFtZXRyb1xyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdHRlcm4gUGF0dGVybiBkaSB2YWxpZGF6aW9uZVxyXG4gICAgICogQHBhcmFtIHsnZGF0ZScgfCAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2Jvb2xlYW4nIHwgJ2VudW0nfSB0eXBlIFRpcG8gZGkgaW5wdXQgXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IG1hbmRhdG9yeSBJbmRpY2Egc2UgaWwgdmFsb3JlIMOoIG9iYmxpZ2F0b3JpbyBvIG1lbm9cclxuICAgICAqIEBwYXJhbSB7YW55fSB2X2RlZmF1bHQgVmFsb3JlIGRpIGRlZmF1bHQgcGVyIHF1ZXN0byBQYXJhbWV0cm9cclxuICAgICAqIEBwYXJhbSB7eyBpZDogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH1bXX0gZW51bXZhbHVlcyBRdWFsb3JhIGlsICoqdHlwZSoqIGZvc3NlIGRpIHRpcG8gKiplbnVtKiosIHF1aSBkZXZvbm8gZXNzZXJjaSB0dXR0aSBpIHZhbG9yaSBjaGUgcHXDsiBhc3N1bWVyZSBcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gbXVsdGllbnVtIFF1YWxvcmEgaWwgKip0eXBlKiogZm9zc2UgZGkgdGlwbyAqKmVudW0qKiwgaW5kaWNhIHNlIMOoIHBvc3NpYmlsZSBzZWxlemlvbmFyZSBwacO5IHZhbG9yaSAobXVsdGlzZWxlY3QpXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyBpZDogc3RyaW5nLCBcclxuICAgICAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZywgXHJcbiAgICAgICAgcHVibGljIHBhdHRlcm46IHN0cmluZyxcclxuICAgICAgICB0eXBlOiAnZGF0ZScgfCAnc3RyaW5nJyB8ICdudW1iZXInIHwgJ2Jvb2xlYW4nIHwgJ2VudW0nLCBcclxuICAgICAgICBwdWJsaWMgbWFuZGF0b3J5OiBib29sZWFuLCBcclxuICAgICAgICB2X2RlZmF1bHQ6IGFueSA9IG51bGwsIFxyXG4gICAgICAgIHB1YmxpYyBlbnVtdmFsdWVzOiB7IGlkOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcgfVtdID0gW10sXHJcbiAgICAgICAgcHVibGljIG11bHRpZW51bT86IGJvb2xlYW4pIHtcclxuXHJcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZSA9PSAnZW51bScgPyBcIlwiIDogdHlwZTtcclxuICAgICAgICB0aGlzLmluc2VydHRoaXMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZW51bXR5cGUgPSB0eXBlID09ICdlbnVtJyA/IHR5cGUgOiBcIlwiO1xyXG4gICAgICAgIHRoaXMuaXNyZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICAgICAgICBpZighdGhpcy5lbnVtdHlwZSAmJiBlbnVtdmFsdWVzLmxlbmd0aCAhPSAwKVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiaW1wb3NzaWJpbGUgZ2VzdGlyZSB2YWxvcmkgZGkgZGl6aW9uYXJpbyBwZXIgdW4gcGFyYW1ldHJvIG5vbiBkaSB0aXBvIGVudW1cIik7XHJcblxyXG4gICAgICAgIGlmICh2X2RlZmF1bHQgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZfZGVmYXVsdDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBUaXBvIGRpIGRhdG8gcmFwcHJlc2VudGF0byBkYSBxdWVzdG8gcGFyYW1ldHJvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0eXBlOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUeXBlY29kZSBsYXRvIEMjIGNoZSByYXBwcmVzZW50YSBpbCB0aXBvIGRpIGRhdG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIHR5cGVjb2RlOiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgaWwgY2FtcG8gc3BlY2lmaWNhdG8gZGV2J2Vzc2VyZSBkaSBzb2xhIGxldHR1cmEgbyBtZW5vXHJcbiAgICAgKi9cclxuICAgICBwdWJsaWMgaXNyZWFkb25seTogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFZhbG9yZSBkZWwgcGFyYW1ldHJvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHF1ZXN0byBwYXJhbWV0cm8gZGV2J2Vzc2VyZSBpbnNlcml0byBvIG5vLiBJbiBjYXNvIGNvbnRyYXJpbyB2aWVuZSBzZW1wbGljZW1lbnRlIG5hc2Nvc3RvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpbnNlcnR0aGlzOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGlwbyBFbnVtLCB2YWxvcml6emF0byBkYWwgQmFja2VuZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZW51bXR5cGU6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRpcG8gRGl6aW9uYXJpbywgdmFsb3JpenphdG8gZGFsIEJhY2tlbmRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRpY3R0eXBlOiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { InjectionToken, Injectable, Inject, Component, forwardRef, ChangeDetectorRef, Input, NgModule } from '@angular/core';
|
|
1
|
+
import { InjectionToken, Injectable, Inject, Component, forwardRef, ChangeDetectorRef, Injector, Input, NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule } from '@angular/forms';
|
|
3
|
+
import { NgControl, NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule } from '@angular/forms';
|
|
4
4
|
import { FormsAndValidationsModule } from '@esfaenza/forms-and-validations';
|
|
5
5
|
import { LocalizationService, LocalizationModule } from '@esfaenza/localizations';
|
|
6
6
|
import { UtilityService, FullExtensionsModule } from '@esfaenza/extensions';
|
|
@@ -40,10 +40,11 @@ class EsParametersComponent {
|
|
|
40
40
|
*
|
|
41
41
|
* @ignore
|
|
42
42
|
*/
|
|
43
|
-
constructor(utiExts, lc, cdr) {
|
|
43
|
+
constructor(utiExts, lc, cdr, inj) {
|
|
44
44
|
this.utiExts = utiExts;
|
|
45
45
|
this.lc = lc;
|
|
46
46
|
this.cdr = cdr;
|
|
47
|
+
this.inj = inj;
|
|
47
48
|
/**
|
|
48
49
|
* Pipeline di Angular
|
|
49
50
|
*
|
|
@@ -99,6 +100,10 @@ class EsParametersComponent {
|
|
|
99
100
|
this.Parameters.forEach(t => {
|
|
100
101
|
if (t.typecode && !t.type)
|
|
101
102
|
t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
103
|
+
if (t.type != this.utiExts.getJsTypeFromTypeCode(t.typecode))
|
|
104
|
+
throw "Rilevate inconsistenze fra il tipo " + t.type + " e il tipo " + this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
105
|
+
if (t.type == "boolean")
|
|
106
|
+
t.value = t.value.toString().toLowerCase() === "true";
|
|
102
107
|
if (t.enumtype || t.dicttype)
|
|
103
108
|
t.type = 'enum';
|
|
104
109
|
});
|
|
@@ -109,6 +114,13 @@ class EsParametersComponent {
|
|
|
109
114
|
* @ignore
|
|
110
115
|
*/
|
|
111
116
|
validate(c) {
|
|
117
|
+
var _a;
|
|
118
|
+
// Se la validazione è richiamata da un componente non me stesso vuol dire che i componenti di validazione interni stanno richiamando
|
|
119
|
+
// questo validator, ma dal loro punto di vista non se ne devono preoccupare quindi faccio finta non ci siano errori.
|
|
120
|
+
// Se invece vengo richiamato direttamente significa che è il form in cui vive es-parameters e lì devo effettuare la validazione
|
|
121
|
+
let control = (_a = this.inj.get(NgControl, null)) === null || _a === void 0 ? void 0 : _a.control;
|
|
122
|
+
if (c != control)
|
|
123
|
+
return null;
|
|
112
124
|
let valid = true;
|
|
113
125
|
if (this.Parameters && this.Parameters.length > 0) {
|
|
114
126
|
this.Parameters.forEach(t => {
|
|
@@ -116,6 +128,8 @@ class EsParametersComponent {
|
|
|
116
128
|
valid = false;
|
|
117
129
|
else if (t.value && t.type == 'number')
|
|
118
130
|
valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);
|
|
131
|
+
else if (t.value && t.pattern)
|
|
132
|
+
valid = new RegExp(t.pattern).test(t.value);
|
|
119
133
|
});
|
|
120
134
|
}
|
|
121
135
|
if (valid)
|
|
@@ -167,13 +181,14 @@ EsParametersComponent.decorators = [
|
|
|
167
181
|
multi: true
|
|
168
182
|
}
|
|
169
183
|
],
|
|
170
|
-
template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n
|
|
184
|
+
template: "<div *ngIf=\"(!Parameters || Parameters.length == 0) && EmptyMessage\">\r\n <em>{{EmptyMessage}}</em>\r\n</div>\r\n\r\n<div *ngIf=\"Parameters && Parameters.length > 0\">\r\n <div class=\"row form-group\" *ngFor=\"let par of Parameters; let i= index; let last = last;\" [class.app-margin-bottom-0]=\"LastParameterNoMargin && last\" [hidden]=\"!par.insertthis\">\r\n <label class=\"col-md-{{LabelColWidth}} m-t-5\"><span *ngIf=\"Removal\" class=\"fa fa-remove text-danger\" (click)=\"removeParameter(par)\"></span> {{par.description}}{{par.mandatory ? '*' : ''}}:</label>\r\n\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <form-date [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-date>\r\n </div>\r\n <!--Se stringa-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'string'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-input>\r\n </div>\r\n <!--Se numero-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'number'\">\r\n <form-input [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator pattern=\"{{par.pattern || '^[+-]?[0-9]*[,]?[0-9]+$'}}\"></form-input>\r\n </div>\r\n <!--Se boolean-->\r\n <div class=\"col-md-{{InputColWidth}} m-t-5\" *ngIf=\"par.type == 'boolean'\">\r\n <form-checkbox [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator></form-checkbox>\r\n </div>\r\n <!--Se enum single select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && !par.multienum\">\r\n <form-select [FormLayout]=\"false\" [Readonly]=\"Readonly || par.isreadonly\" [required]=\"par.mandatory\" [(ngModel)]=\"par.value\" name=\"par{{i}}\" (inputChange)=\"changed();\" #validator [Source]=\"par.enumvalues\"></form-select>\r\n </div>\r\n <!--Se enum multi select-->\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'enum' && par.multienum\">\r\n <form-multiselect [FormLayout]=\"false\" [SelectLabel]=\"('Select' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly || par.isreadonly\" [Source]=\"par.enumvalues\" required (inputChange)=\"changed();\" #validator></form-multiselect>\r\n </div>\r\n\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n</div>"
|
|
171
185
|
},] }
|
|
172
186
|
];
|
|
173
187
|
EsParametersComponent.ctorParameters = () => [
|
|
174
188
|
{ type: UtilityService },
|
|
175
189
|
{ type: LocalizationService },
|
|
176
|
-
{ type: ChangeDetectorRef }
|
|
190
|
+
{ type: ChangeDetectorRef },
|
|
191
|
+
{ type: Injector }
|
|
177
192
|
];
|
|
178
193
|
EsParametersComponent.propDecorators = {
|
|
179
194
|
LastParameterNoMargin: [{ type: Input }],
|
|
@@ -236,6 +251,7 @@ class GenericParameter {
|
|
|
236
251
|
this.type = type == 'enum' ? "" : type;
|
|
237
252
|
this.insertthis = true;
|
|
238
253
|
this.enumtype = type == 'enum' ? type : "";
|
|
254
|
+
this.isreadonly = false;
|
|
239
255
|
if (!this.enumtype && enumvalues.length != 0)
|
|
240
256
|
console.error("impossibile gestire valori di dizionario per un parametro non di tipo enum");
|
|
241
257
|
if (v_default != null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esfaenza-parameters.js","sources":["../../../projects/parameters/src/lib/tokens.ts","../../../projects/parameters/src/lib/es_parameters.component.loc.ts","../../../projects/parameters/src/lib/es_parameters.component.ts","../../../projects/parameters/src/lib/es_parameters.module.ts","../../../projects/parameters/src/lib/models/GenericParameter.ts","../../../projects/parameters/src/public-api.ts","../../../projects/parameters/src/esfaenza-parameters.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Token che indica il locale da utilizzare per l'applicazione. Sono supportati i locali \"it-IT\" ed \"en-US\"\r\n */\r\nexport const PAR_LOCALE: InjectionToken<string> = new InjectionToken<string>('PAR_LOCALE');","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n/**\r\n * Classe di localizzazione per il componente **EsParametersComponent**\r\n */\r\n@Injectable()\r\nexport class EsParametersLoc extends LocalizationService {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(PAR_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n }\r\n}","// Angular\r\nimport { ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\nimport { ChangeDetectorRef, Component, forwardRef, Input } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { UtilityService } from \"@esfaenza/extensions\";\r\n\r\n// Classi\r\nimport { GenericParameter } from './models/GenericParameter';\r\n\r\n// Applicazione\r\nimport { EsParametersLoc } from \"./es_parameters.component.loc\";\r\n\r\n/**\r\n * Componente che permette di graficare una lista di **GenericParameter** come Input in base al loro tipo specifico\r\n */\r\n@Component({\r\n selector: \"es-parameters\",\r\n providers: [\r\n { provide: LocalizationService, useClass: EsParametersLoc },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n }],\r\n templateUrl: \"./es_parameters.component.html\"\r\n})\r\nexport class EsParametersComponent implements ControlValueAccessor, Validator {\r\n\r\n /**\r\n * Modello del componente su cui vengono effettuate le graficazioni\r\n */\r\n public Parameters: GenericParameter[];\r\n\r\n /**\r\n * Pipeline di Angular \r\n * \r\n * @ignore\r\n */\r\n propagateChange = (_: any) => { };\r\n\r\n /**\r\n * Indica che l'ultimo parametro non deve avere margine in fondo\r\n */\r\n @Input() LastParameterNoMargin: boolean = false;\r\n\r\n /**\r\n * col-md-X per la label\r\n */\r\n @Input() LabelColWidth: number = 4;\r\n\r\n /**\r\n * col-md-X per l'input\r\n */\r\n @Input() InputColWidth: number = 8;\r\n\r\n /**\r\n * Input a cui collegare la variabile **submitted** del form all'interno del quale viene utilizzato questo componente\r\n */\r\n @Input() submitted: boolean = false;\r\n\r\n /**\r\n * Valore da mostrare qualora non fossero ancora ricevuti i **Parameters** da mostrare\r\n */\r\n @Input() EmptyMessage: string = \"\";\r\n\r\n /**\r\n * Permette di rimuovere i parametri dalla lista cliccando sulla X davanti alla Label\r\n */\r\n @Input() Removal: boolean = false;\r\n\r\n /**\r\n * Indica se i componenti di Input generati sono Readonly o no\r\n */\r\n @Input() Readonly: boolean = false;\r\n\r\n /**\r\n * Permette di settare in una volta solo gli input **LabelColWidth** e **InputColWidth**, basta scriverlo con la sintassi \"X Y\"\r\n */\r\n @Input() set LabelInputRatio(input: string) {\r\n var ratio = input.split(/\\s/);\r\n this.LabelColWidth = parseInt(ratio[0]);\r\n this.InputColWidth = parseInt(ratio[1]);\r\n }\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(private utiExts: UtilityService, public lc: LocalizationService, public cdr: ChangeDetectorRef) { }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public writeValue(obj): void {\r\n this.Parameters = obj;\r\n if (!this.Parameters)\r\n return;\r\n\r\n this.Parameters.forEach(t => {\r\n if (t.typecode && !t.type)\r\n t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.enumtype || t.dicttype)\r\n t.type = 'enum';\r\n });\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n validate(c: FormControl): any {\r\n let valid = true;\r\n\r\n if (this.Parameters && this.Parameters.length > 0) {\r\n this.Parameters.forEach(t => {\r\n if (t.mandatory && !t.value)\r\n valid = false;\r\n else if (t.value && t.type == 'number')\r\n valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);\r\n });\r\n }\r\n\r\n if (valid)\r\n return null;\r\n return { \"es-parameters\": valid };\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnChange(fn): void { this.propagateChange = fn; }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnTouched(fn): void { }\r\n\r\n /**\r\n * Metodo che si occupa di gestire il modello in uscita e propagarlo sul binding ngModel\r\n */\r\n public changed() {\r\n var thyCleanShaltNotBlankMe = JSON.parse(JSON.stringify(this.Parameters));\r\n this.propagateChange(thyCleanShaltNotBlankMe);\r\n }\r\n\r\n /**\r\n * Rimuove il parametro selezionato e propaga il modello\r\n * \r\n * @param {GenericParameter} par Parametro da rimuovere\r\n */\r\n public removeParameter(par: GenericParameter) {\r\n this.Parameters.splice(this.Parameters.indexOf(par), 1);\r\n this.changed();\r\n }\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FormsAndValidationsModule } from \"@esfaenza/forms-and-validations\";\r\nimport { LocalizationModule } from '@esfaenza/localizations';\r\nimport { FullExtensionsModule } from '@esfaenza/extensions';\r\nimport { EsParametersComponent } from './es_parameters.component';\r\nimport { EsParametersModuleConfig } from './models/EsParametersModuleConfig';\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n\r\n@NgModule({\r\n declarations: [EsParametersComponent],\r\n imports: [\r\n CommonModule,\r\n LocalizationModule,\r\n FormsModule,\r\n FullExtensionsModule,\r\n FormsAndValidationsModule,\r\n ],\r\n exports: [EsParametersComponent]\r\n})\r\nexport class EsParametersModule {\r\n static forRoot(config?: EsParametersModuleConfig): ModuleWithProviders<EsParametersModule> {\r\n return {\r\n ngModule: EsParametersModule,\r\n providers: [\r\n { provide: PAR_LOCALE, useValue: config?.locale || 'it-IT' }\r\n ]\r\n };\r\n }\r\n }\r\n","/**\r\n * Classe che rappresenta un parametro generico\r\n */\r\nexport class GenericParameter {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @param {string} id Codice del parametro\r\n * @param {string} description Descrizione del parametro\r\n * @param {string} pattern Pattern di validazione\r\n * @param {'date' | 'string' | 'number' | 'boolean' | 'enum'} type Tipo di input \r\n * @param {boolean} mandatory Indica se il valore è obbligatorio o meno\r\n * @param {any} v_default Valore di default per questo Parametro\r\n * @param {{ id: string, description: string }[]} enumvalues Qualora il **type** fosse di tipo **enum**, qui devono esserci tutti i valori che può assumere \r\n * @param {boolean} multienum Qualora il **type** fosse di tipo **enum**, indica se è possibile selezionare più valori (multiselect)\r\n */\r\n constructor(\r\n public id: string, \r\n public description: string, \r\n public pattern: string,\r\n type: 'date' | 'string' | 'number' | 'boolean' | 'enum', \r\n public mandatory: boolean, \r\n v_default: any = null, \r\n public enumvalues: { id: string, description: string }[] = [],\r\n public multienum?: boolean) {\r\n\r\n this.type = type == 'enum' ? \"\" : type;\r\n this.insertthis = true;\r\n this.enumtype = type == 'enum' ? type : \"\";\r\n \r\n if(!this.enumtype && enumvalues.length != 0)\r\n console.error(\"impossibile gestire valori di dizionario per un parametro non di tipo enum\");\r\n\r\n if (v_default != null)\r\n this.value = v_default;\r\n }\r\n \r\n /**\r\n * Tipo di dato rappresentato da questo parametro\r\n */\r\n public type: string;\r\n\r\n /**\r\n * Typecode lato C# che rappresenta il tipo di dato\r\n */\r\n public typecode: number;\r\n\r\n /**\r\n * Valore del parametro\r\n */\r\n public value: any;\r\n\r\n /**\r\n * Indica se questo parametro dev'essere inserito o no. In caso contrario viene semplicemente nascosto\r\n */\r\n public insertthis: boolean;\r\n\r\n /**\r\n * Tipo Enum, valorizzato dal Backend\r\n */\r\n public enumtype: string;\r\n\r\n /**\r\n * Tipo Dizionario, valorizzato dal Backend\r\n */\r\n public dicttype: string;\r\n}","/*\r\n * Public API Surface of parameters\r\n */\r\nexport * from './lib/es_parameters.module';\r\nexport * from './lib/tokens';\r\nexport * from './lib/models/GenericParameter';\r\nexport * from './lib/es_parameters.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EsParametersLoc as ɵa} from './lib/es_parameters.component.loc';"],"names":[],"mappings":";;;;;;;AAEA;;;MAGa,UAAU,GAA2B,IAAI,cAAc,CAAS,YAAY;;ACDzF;;;MAIa,eAAgB,SAAQ,mBAAmB;;;;;;IAOpD,YAAgC,UAAkB;QAC9C,KAAK,CAAC,UAAU,CAAC,CAAC;KACrB;;;YAVJ,UAAU;;;yCAQM,MAAM,SAAC,UAAU;;;ACflC;AAcA;;;MAmBa,qBAAqB;;;;;;IA+D9B,YAAoB,OAAuB,EAAS,EAAuB,EAAS,GAAsB;QAAtF,YAAO,GAAP,OAAO,CAAgB;QAAS,OAAE,GAAF,EAAE,CAAqB;QAAS,QAAG,GAAH,GAAG,CAAmB;;;;;;QAnD1G,oBAAe,GAAG,CAAC,CAAM,QAAQ,CAAC;;;;QAKzB,0BAAqB,GAAY,KAAK,CAAC;;;;QAKvC,kBAAa,GAAW,CAAC,CAAC;;;;QAK1B,kBAAa,GAAW,CAAC,CAAC;;;;QAK1B,cAAS,GAAY,KAAK,CAAC;;;;QAK3B,iBAAY,GAAW,EAAE,CAAC;;;;QAK1B,YAAO,GAAY,KAAK,CAAC;;;;QAKzB,aAAQ,GAAY,KAAK,CAAC;KAgB4E;;;;IAX/G,IAAa,eAAe,CAAC,KAAa;QACtC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;;;;;;IAcM,UAAU,CAAC,GAAG;QACjB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU;YAChB,OAAO;QAEX,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI;gBACrB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE5D,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;gBACxB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;SACvB,CAAC,CAAC;KACN;;;;;;IAOD,QAAQ,CAAC,CAAc;QACnB,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK;oBACvB,KAAK,GAAG,KAAK,CAAC;qBACb,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ;oBAClC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAChF,CAAC,CAAC;SACN;QAED,IAAI,KAAK;YACL,OAAO,IAAI,CAAC;QAChB,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;KACrC;;;;;;IAOM,gBAAgB,CAAC,EAAE,IAAU,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EAAE;;;;;;IAOzD,iBAAiB,CAAC,EAAE,KAAW;;;;IAK/B,OAAO;QACV,IAAI,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;KACjD;;;;;;IAOM,eAAe,CAAC,GAAqB;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;;;YAxJJ,SAAS,SAAC;gBACP,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE;oBACP,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE;oBAC3D;wBACI,OAAO,EAAE,iBAAiB;wBAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;wBACpD,KAAK,EAAE,IAAI;qBACd;oBACD;wBACI,OAAO,EAAE,aAAa;wBACtB,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;wBACpD,KAAK,EAAE,IAAI;qBACd;iBAAC;gBACN,o4KAA6C;aAChD;;;YA1BQ,cAAc;YADd,mBAAmB;YAHnB,iBAAiB;;;oCAgDrB,KAAK;4BAKL,KAAK;4BAKL,KAAK;wBAKL,KAAK;2BAKL,KAAK;sBAKL,KAAK;uBAKL,KAAK;8BAKL,KAAK;;;MC/DG,kBAAkB;IAC7B,OAAO,OAAO,CAAC,MAAiC;QAC9C,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,OAAO,EAAE;aAC7D;SACF,CAAC;KACH;;;YAnBF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;gBACrC,OAAO,EAAE;oBACP,YAAY;oBACZ,kBAAkB;oBAClB,WAAW;oBACX,oBAAoB;oBACpB,yBAAyB;iBAC1B;gBACD,OAAO,EAAE,CAAC,qBAAqB,CAAC;aACjC;;;ACrBD;;;MAGa,gBAAgB;;;;;;;;;;;;;IAczB,YACW,EAAU,EACV,WAAmB,EACnB,OAAe,EACtB,IAAuD,EAChD,SAAkB,EACzB,YAAiB,IAAI,EACd,aAAoD,EAAE,EACtD,SAAmB;QAPnB,OAAE,GAAF,EAAE,CAAQ;QACV,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAQ;QAEf,cAAS,GAAT,SAAS,CAAS;QAElB,eAAU,GAAV,UAAU,CAA4C;QACtD,cAAS,GAAT,SAAS,CAAU;QAE1B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QAE3C,IAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAEhG,IAAI,SAAS,IAAI,IAAI;YACjB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;KAC9B;;;ACpCL;;;;ACAA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"esfaenza-parameters.js","sources":["../../../projects/parameters/src/lib/tokens.ts","../../../projects/parameters/src/lib/es_parameters.component.loc.ts","../../../projects/parameters/src/lib/es_parameters.component.ts","../../../projects/parameters/src/lib/es_parameters.module.ts","../../../projects/parameters/src/lib/models/GenericParameter.ts","../../../projects/parameters/src/public-api.ts","../../../projects/parameters/src/esfaenza-parameters.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * Token che indica il locale da utilizzare per l'applicazione. Sono supportati i locali \"it-IT\" ed \"en-US\"\r\n */\r\nexport const PAR_LOCALE: InjectionToken<string> = new InjectionToken<string>('PAR_LOCALE');","import { Injectable, Inject } from \"@angular/core\";\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n/**\r\n * Classe di localizzazione per il componente **EsParametersComponent**\r\n */\r\n@Injectable()\r\nexport class EsParametersLoc extends LocalizationService {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(PAR_LOCALE) LOC_LOCALE: string) {\r\n super(LOC_LOCALE);\r\n }\r\n}","// Angular\r\nimport { ControlValueAccessor, FormControl, NgControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from \"@angular/forms\";\r\nimport { ChangeDetectorRef, Component, forwardRef, Injector, Input } from \"@angular/core\";\r\n\r\n// Configurazioni\r\nimport { LocalizationService } from \"@esfaenza/localizations\";\r\nimport { UtilityService } from \"@esfaenza/extensions\";\r\n\r\n// Classi\r\nimport { GenericParameter } from './models/GenericParameter';\r\n\r\n// Applicazione\r\nimport { EsParametersLoc } from \"./es_parameters.component.loc\";\r\n\r\n/**\r\n * Componente che permette di graficare una lista di **GenericParameter** come Input in base al loro tipo specifico\r\n */\r\n@Component({\r\n selector: \"es-parameters\",\r\n providers: [\r\n { provide: LocalizationService, useClass: EsParametersLoc },\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => EsParametersComponent),\r\n multi: true\r\n }],\r\n templateUrl: \"./es_parameters.component.html\"\r\n})\r\nexport class EsParametersComponent implements ControlValueAccessor, Validator {\r\n\r\n /**\r\n * Modello del componente su cui vengono effettuate le graficazioni\r\n */\r\n public Parameters: GenericParameter[];\r\n\r\n /**\r\n * Pipeline di Angular \r\n * \r\n * @ignore\r\n */\r\n propagateChange = (_: any) => { };\r\n\r\n /**\r\n * Indica che l'ultimo parametro non deve avere margine in fondo\r\n */\r\n @Input() LastParameterNoMargin: boolean = false;\r\n\r\n /**\r\n * col-md-X per la label\r\n */\r\n @Input() LabelColWidth: number = 4;\r\n\r\n /**\r\n * col-md-X per l'input\r\n */\r\n @Input() InputColWidth: number = 8;\r\n\r\n /**\r\n * Input a cui collegare la variabile **submitted** del form all'interno del quale viene utilizzato questo componente\r\n */\r\n @Input() submitted: boolean = false;\r\n\r\n /**\r\n * Valore da mostrare qualora non fossero ancora ricevuti i **Parameters** da mostrare\r\n */\r\n @Input() EmptyMessage: string = \"\";\r\n\r\n /**\r\n * Permette di rimuovere i parametri dalla lista cliccando sulla X davanti alla Label\r\n */\r\n @Input() Removal: boolean = false;\r\n\r\n /**\r\n * Indica se i componenti di Input generati sono Readonly o no\r\n */\r\n @Input() Readonly: boolean = false;\r\n\r\n /**\r\n * Permette di settare in una volta solo gli input **LabelColWidth** e **InputColWidth**, basta scriverlo con la sintassi \"X Y\"\r\n */\r\n @Input() set LabelInputRatio(input: string) {\r\n var ratio = input.split(/\\s/);\r\n this.LabelColWidth = parseInt(ratio[0]);\r\n this.InputColWidth = parseInt(ratio[1]);\r\n }\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(private utiExts: UtilityService, public lc: LocalizationService, public cdr: ChangeDetectorRef, private inj: Injector) { }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public writeValue(obj): void {\r\n this.Parameters = obj;\r\n if (!this.Parameters)\r\n return;\r\n\r\n this.Parameters.forEach(t => {\r\n if (t.typecode && !t.type)\r\n t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.type != this.utiExts.getJsTypeFromTypeCode(t.typecode))\r\n throw \"Rilevate inconsistenze fra il tipo \" + t.type + \" e il tipo \" + this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.type == \"boolean\")\r\n t.value = (<string>t.value.toString()).toLowerCase() === \"true\";\r\n\r\n if (t.enumtype || t.dicttype)\r\n t.type = 'enum';\r\n });\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n validate(c: FormControl): any {\r\n // Se la validazione è richiamata da un componente non me stesso vuol dire che i componenti di validazione interni stanno richiamando\r\n // questo validator, ma dal loro punto di vista non se ne devono preoccupare quindi faccio finta non ci siano errori.\r\n // Se invece vengo richiamato direttamente significa che è il form in cui vive es-parameters e lì devo effettuare la validazione\r\n let control = this.inj.get(NgControl, null)?.control;\r\n if (c != control)\r\n return null;\r\n\r\n let valid = true;\r\n if (this.Parameters && this.Parameters.length > 0) {\r\n this.Parameters.forEach(t => {\r\n if (t.mandatory && !t.value)\r\n valid = false;\r\n else if (t.value && t.type == 'number')\r\n valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);\r\n else if (t.value && t.pattern)\r\n valid = new RegExp(t.pattern).test(t.value);\r\n });\r\n }\r\n\r\n if (valid)\r\n return null;\r\n return { \"es-parameters\": valid };\r\n }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnChange(fn): void { this.propagateChange = fn; }\r\n\r\n /**\r\n * Pipeline di Angular\r\n * \r\n * @ignore\r\n */\r\n public registerOnTouched(fn): void { }\r\n\r\n /**\r\n * Metodo che si occupa di gestire il modello in uscita e propagarlo sul binding ngModel\r\n */\r\n public changed() {\r\n var thyCleanShaltNotBlankMe = JSON.parse(JSON.stringify(this.Parameters));\r\n this.propagateChange(thyCleanShaltNotBlankMe);\r\n }\r\n\r\n /**\r\n * Rimuove il parametro selezionato e propaga il modello\r\n * \r\n * @param {GenericParameter} par Parametro da rimuovere\r\n */\r\n public removeParameter(par: GenericParameter) {\r\n this.Parameters.splice(this.Parameters.indexOf(par), 1);\r\n this.changed();\r\n }\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FormsAndValidationsModule } from \"@esfaenza/forms-and-validations\";\r\nimport { LocalizationModule } from '@esfaenza/localizations';\r\nimport { FullExtensionsModule } from '@esfaenza/extensions';\r\nimport { EsParametersComponent } from './es_parameters.component';\r\nimport { EsParametersModuleConfig } from './models/EsParametersModuleConfig';\r\nimport { PAR_LOCALE } from './tokens';\r\n\r\n\r\n@NgModule({\r\n declarations: [EsParametersComponent],\r\n imports: [\r\n CommonModule,\r\n LocalizationModule,\r\n FormsModule,\r\n FullExtensionsModule,\r\n FormsAndValidationsModule,\r\n ],\r\n exports: [EsParametersComponent]\r\n})\r\nexport class EsParametersModule {\r\n static forRoot(config?: EsParametersModuleConfig): ModuleWithProviders<EsParametersModule> {\r\n return {\r\n ngModule: EsParametersModule,\r\n providers: [\r\n { provide: PAR_LOCALE, useValue: config?.locale || 'it-IT' }\r\n ]\r\n };\r\n }\r\n }\r\n","/**\r\n * Classe che rappresenta un parametro generico\r\n */\r\nexport class GenericParameter {\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @param {string} id Codice del parametro\r\n * @param {string} description Descrizione del parametro\r\n * @param {string} pattern Pattern di validazione\r\n * @param {'date' | 'string' | 'number' | 'boolean' | 'enum'} type Tipo di input \r\n * @param {boolean} mandatory Indica se il valore è obbligatorio o meno\r\n * @param {any} v_default Valore di default per questo Parametro\r\n * @param {{ id: string, description: string }[]} enumvalues Qualora il **type** fosse di tipo **enum**, qui devono esserci tutti i valori che può assumere \r\n * @param {boolean} multienum Qualora il **type** fosse di tipo **enum**, indica se è possibile selezionare più valori (multiselect)\r\n */\r\n constructor(\r\n public id: string, \r\n public description: string, \r\n public pattern: string,\r\n type: 'date' | 'string' | 'number' | 'boolean' | 'enum', \r\n public mandatory: boolean, \r\n v_default: any = null, \r\n public enumvalues: { id: string, description: string }[] = [],\r\n public multienum?: boolean) {\r\n\r\n this.type = type == 'enum' ? \"\" : type;\r\n this.insertthis = true;\r\n this.enumtype = type == 'enum' ? type : \"\";\r\n this.isreadonly = false;\r\n\r\n if(!this.enumtype && enumvalues.length != 0)\r\n console.error(\"impossibile gestire valori di dizionario per un parametro non di tipo enum\");\r\n\r\n if (v_default != null)\r\n this.value = v_default;\r\n }\r\n \r\n /**\r\n * Tipo di dato rappresentato da questo parametro\r\n */\r\n public type: string;\r\n\r\n /**\r\n * Typecode lato C# che rappresenta il tipo di dato\r\n */\r\n public typecode: number;\r\n\r\n /**\r\n * Indica se il campo specificato dev'essere di sola lettura o meno\r\n */\r\n public isreadonly: boolean;\r\n\r\n /**\r\n * Valore del parametro\r\n */\r\n public value: any;\r\n\r\n /**\r\n * Indica se questo parametro dev'essere inserito o no. In caso contrario viene semplicemente nascosto\r\n */\r\n public insertthis: boolean;\r\n\r\n /**\r\n * Tipo Enum, valorizzato dal Backend\r\n */\r\n public enumtype: string;\r\n\r\n /**\r\n * Tipo Dizionario, valorizzato dal Backend\r\n */\r\n public dicttype: string;\r\n}","/*\r\n * Public API Surface of parameters\r\n */\r\nexport * from './lib/es_parameters.module';\r\nexport * from './lib/tokens';\r\nexport * from './lib/models/GenericParameter';\r\nexport * from './lib/es_parameters.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EsParametersLoc as ɵa} from './lib/es_parameters.component.loc';"],"names":[],"mappings":";;;;;;;AAEA;;;MAGa,UAAU,GAA2B,IAAI,cAAc,CAAS,YAAY;;ACDzF;;;MAIa,eAAgB,SAAQ,mBAAmB;;;;;;IAOpD,YAAgC,UAAkB;QAC9C,KAAK,CAAC,UAAU,CAAC,CAAC;KACrB;;;YAVJ,UAAU;;;yCAQM,MAAM,SAAC,UAAU;;;ACflC;AAcA;;;MAmBa,qBAAqB;;;;;;IA+D9B,YAAoB,OAAuB,EAAS,EAAuB,EAAS,GAAsB,EAAU,GAAa;QAA7G,YAAO,GAAP,OAAO,CAAgB;QAAS,OAAE,GAAF,EAAE,CAAqB;QAAS,QAAG,GAAH,GAAG,CAAmB;QAAU,QAAG,GAAH,GAAG,CAAU;;;;;;QAnDjI,oBAAe,GAAG,CAAC,CAAM,QAAQ,CAAC;;;;QAKzB,0BAAqB,GAAY,KAAK,CAAC;;;;QAKvC,kBAAa,GAAW,CAAC,CAAC;;;;QAK1B,kBAAa,GAAW,CAAC,CAAC;;;;QAK1B,cAAS,GAAY,KAAK,CAAC;;;;QAK3B,iBAAY,GAAW,EAAE,CAAC;;;;QAK1B,YAAO,GAAY,KAAK,CAAC;;;;QAKzB,aAAQ,GAAY,KAAK,CAAC;KAgBmG;;;;IAXtI,IAAa,eAAe,CAAC,KAAa;QACtC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;;;;;;IAcM,UAAU,CAAC,GAAG;QACjB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,UAAU;YAChB,OAAO;QAEX,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI;gBACrB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE5D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACxD,MAAM,qCAAqC,GAAG,CAAC,CAAC,IAAI,GAAG,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAE1H,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS;gBACnB,CAAC,CAAC,KAAK,GAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;YAEpE,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;gBACxB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;SACvB,CAAC,CAAC;KACN;;;;;;IAOD,QAAQ,CAAC,CAAc;;;;;QAInB,IAAI,OAAO,GAAG,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,0CAAE,OAAO,CAAC;QACrD,IAAI,CAAC,IAAI,OAAO;YACZ,OAAO,IAAI,CAAC;QAEhB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK;oBACvB,KAAK,GAAG,KAAK,CAAC;qBACb,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ;oBAClC,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBACxE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO;oBACzB,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACnD,CAAC,CAAC;SACN;QAED,IAAI,KAAK;YACL,OAAO,IAAI,CAAC;QAChB,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;KACrC;;;;;;IAOM,gBAAgB,CAAC,EAAE,IAAU,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,EAAE;;;;;;IAOzD,iBAAiB,CAAC,EAAE,KAAW;;;;IAK/B,OAAO;QACV,IAAI,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;KACjD;;;;;;IAOM,eAAe,CAAC,GAAqB;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;;;YAtKJ,SAAS,SAAC;gBACP,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE;oBACP,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE;oBAC3D;wBACI,OAAO,EAAE,iBAAiB;wBAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;wBACpD,KAAK,EAAE,IAAI;qBACd;oBACD;wBACI,OAAO,EAAE,aAAa;wBACtB,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;wBACpD,KAAK,EAAE,IAAI;qBACd;iBAAC;gBACN,62FAA6C;aAChD;;;YA1BQ,cAAc;YADd,mBAAmB;YAHnB,iBAAiB;YAAyB,QAAQ;;;oCAgDtD,KAAK;4BAKL,KAAK;4BAKL,KAAK;wBAKL,KAAK;2BAKL,KAAK;sBAKL,KAAK;uBAKL,KAAK;8BAKL,KAAK;;;MC/DG,kBAAkB;IAC7B,OAAO,OAAO,CAAC,MAAiC;QAC9C,OAAO;YACL,QAAQ,EAAE,kBAAkB;YAC5B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,OAAO,EAAE;aAC7D;SACF,CAAC;KACH;;;YAnBF,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;gBACrC,OAAO,EAAE;oBACP,YAAY;oBACZ,kBAAkB;oBAClB,WAAW;oBACX,oBAAoB;oBACpB,yBAAyB;iBAC1B;gBACD,OAAO,EAAE,CAAC,qBAAqB,CAAC;aACjC;;;ACrBD;;;MAGa,gBAAgB;;;;;;;;;;;;;IAczB,YACW,EAAU,EACV,WAAmB,EACnB,OAAe,EACtB,IAAuD,EAChD,SAAkB,EACzB,YAAiB,IAAI,EACd,aAAoD,EAAE,EACtD,SAAmB;QAPnB,OAAE,GAAF,EAAE,CAAQ;QACV,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAQ;QAEf,cAAS,GAAT,SAAS,CAAS;QAElB,eAAU,GAAV,UAAU,CAA4C;QACtD,cAAS,GAAT,SAAS,CAAU;QAE1B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAEhG,IAAI,SAAS,IAAI,IAAI;YACjB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;KAC9B;;;ACrCL;;;;ACAA;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ControlValueAccessor, FormControl, Validator } from "@angular/forms";
|
|
2
|
-
import { ChangeDetectorRef } from "@angular/core";
|
|
2
|
+
import { ChangeDetectorRef, Injector } from "@angular/core";
|
|
3
3
|
import { LocalizationService } from "@esfaenza/localizations";
|
|
4
4
|
import { UtilityService } from "@esfaenza/extensions";
|
|
5
5
|
import { GenericParameter } from './models/GenericParameter';
|
|
@@ -10,6 +10,7 @@ export declare class EsParametersComponent implements ControlValueAccessor, Vali
|
|
|
10
10
|
private utiExts;
|
|
11
11
|
lc: LocalizationService;
|
|
12
12
|
cdr: ChangeDetectorRef;
|
|
13
|
+
private inj;
|
|
13
14
|
/**
|
|
14
15
|
* Modello del componente su cui vengono effettuate le graficazioni
|
|
15
16
|
*/
|
|
@@ -57,7 +58,7 @@ export declare class EsParametersComponent implements ControlValueAccessor, Vali
|
|
|
57
58
|
*
|
|
58
59
|
* @ignore
|
|
59
60
|
*/
|
|
60
|
-
constructor(utiExts: UtilityService, lc: LocalizationService, cdr: ChangeDetectorRef);
|
|
61
|
+
constructor(utiExts: UtilityService, lc: LocalizationService, cdr: ChangeDetectorRef, inj: Injector);
|
|
61
62
|
/**
|
|
62
63
|
* Pipeline di Angular
|
|
63
64
|
*
|
|
@@ -35,6 +35,10 @@ export declare class GenericParameter {
|
|
|
35
35
|
* Typecode lato C# che rappresenta il tipo di dato
|
|
36
36
|
*/
|
|
37
37
|
typecode: number;
|
|
38
|
+
/**
|
|
39
|
+
* Indica se il campo specificato dev'essere di sola lettura o meno
|
|
40
|
+
*/
|
|
41
|
+
isreadonly: boolean;
|
|
38
42
|
/**
|
|
39
43
|
* Valore del parametro
|
|
40
44
|
*/
|
package/package.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esfaenza/parameters",
|
|
3
|
-
"version": "12.2.
|
|
3
|
+
"version": "12.2.12",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.0.0"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@angular/common": "~12.2.
|
|
9
|
-
"@angular/core": "~12.2.
|
|
10
|
-
"@angular/forms": "~12.2.
|
|
11
|
-
"@angular/material": "12.2.
|
|
12
|
-
"@esfaenza/localizations": "^12.2.
|
|
13
|
-
"@esfaenza/access-control": "^12.2.
|
|
14
|
-
"@esfaenza/extensions": "^12.2.
|
|
15
|
-
"@esfaenza/material-dayjs-adapter": "^12.2.
|
|
16
|
-
"@esfaenza/ngx-currency-mask": "^12.2.
|
|
17
|
-
"@esfaenza/forms-and-validations": "^12.2.
|
|
18
|
-
"@angular-material-components/datetime-picker": "6.0.
|
|
19
|
-
"angular2-multiselect-dropdown": "
|
|
20
|
-
"ngx-toastr": "
|
|
21
|
-
"ngx-bootstrap": "
|
|
22
|
-
"dayjs": "
|
|
23
|
-
"cerialize": "
|
|
24
|
-
"sweetalert2": "
|
|
8
|
+
"@angular/common": "~12.2.15",
|
|
9
|
+
"@angular/core": "~12.2.15",
|
|
10
|
+
"@angular/forms": "~12.2.15",
|
|
11
|
+
"@angular/material": "12.2.13",
|
|
12
|
+
"@esfaenza/localizations": "^12.2.8",
|
|
13
|
+
"@esfaenza/access-control": "^12.2.7",
|
|
14
|
+
"@esfaenza/extensions": "^12.2.10",
|
|
15
|
+
"@esfaenza/material-dayjs-adapter": "^12.2.6",
|
|
16
|
+
"@esfaenza/ngx-currency-mask": "^12.2.6",
|
|
17
|
+
"@esfaenza/forms-and-validations": "^12.2.19",
|
|
18
|
+
"@angular-material-components/datetime-picker": "6.0.3",
|
|
19
|
+
"angular2-multiselect-dropdown": "5.0.4",
|
|
20
|
+
"ngx-toastr": "14.2.1",
|
|
21
|
+
"ngx-bootstrap": "7.0.0",
|
|
22
|
+
"dayjs": "1.10.7",
|
|
23
|
+
"cerialize": "0.1.18",
|
|
24
|
+
"sweetalert2": "11.3.0"
|
|
25
25
|
},
|
|
26
26
|
"main": "bundles/esfaenza-parameters.umd.js",
|
|
27
27
|
"module": "fesm2015/esfaenza-parameters.js",
|