@esfaenza/parameters 11.2.8 → 11.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 +96 -13
- package/bundles/esfaenza-parameters.umd.js.map +1 -1
- package/bundles/esfaenza-parameters.umd.min.js +2 -2
- package/bundles/esfaenza-parameters.umd.min.js.map +1 -1
- package/esfaenza-parameters.metadata.json +1 -1
- package/esm2015/lib/es_parameters.component.js +93 -10
- package/esm2015/lib/models/GenericParameter.js +6 -6
- package/fesm2015/esfaenza-parameters.js +97 -14
- package/fesm2015/esfaenza-parameters.js.map +1 -1
- package/lib/es_parameters.component.d.ts +35 -3
- package/lib/models/GenericParameter.d.ts +13 -5
- package/package.json +1 -1
|
@@ -350,11 +350,12 @@
|
|
|
350
350
|
*
|
|
351
351
|
* @ignore
|
|
352
352
|
*/
|
|
353
|
-
function EsParametersComponent(utiExts, lc, cdr, inj) {
|
|
353
|
+
function EsParametersComponent(utiExts, lc, cdr, inj, dates) {
|
|
354
354
|
this.utiExts = utiExts;
|
|
355
355
|
this.lc = lc;
|
|
356
356
|
this.cdr = cdr;
|
|
357
357
|
this.inj = inj;
|
|
358
|
+
this.dates = dates;
|
|
358
359
|
/**
|
|
359
360
|
* Pipeline di Angular
|
|
360
361
|
*
|
|
@@ -389,6 +390,10 @@
|
|
|
389
390
|
* Indica se i componenti di Input generati sono Readonly o no
|
|
390
391
|
*/
|
|
391
392
|
this.Readonly = false;
|
|
393
|
+
/**
|
|
394
|
+
* Form che utilizza il componente. Fondamentale collegarlo se si vogliono le validazioni sul submit
|
|
395
|
+
*/
|
|
396
|
+
this.Form = null;
|
|
392
397
|
}
|
|
393
398
|
Object.defineProperty(EsParametersComponent.prototype, "LabelInputRatio", {
|
|
394
399
|
/**
|
|
@@ -410,18 +415,23 @@
|
|
|
410
415
|
EsParametersComponent.prototype.writeValue = function (obj) {
|
|
411
416
|
var _this = this;
|
|
412
417
|
this.Parameters = obj;
|
|
418
|
+
this.ParametersCache = {};
|
|
413
419
|
if (!this.Parameters)
|
|
414
420
|
return;
|
|
415
421
|
this.Parameters.forEach(function (t) {
|
|
422
|
+
_this.ParametersCache[t.id] = t;
|
|
423
|
+
if (!t.typecode && !t.type)
|
|
424
|
+
console.warn("Non è stato specificato né un type né un typecode");
|
|
416
425
|
if (t.typecode && !t.type)
|
|
417
426
|
t.type = _this.utiExts.getJsTypeFromTypeCode(t.typecode);
|
|
418
|
-
if (t.type != _this.utiExts.getJsTypeFromTypeCode(t.typecode))
|
|
419
|
-
|
|
427
|
+
if (t.typecode && t.type != _this.utiExts.getJsTypeFromTypeCode(t.typecode))
|
|
428
|
+
console.warn("Rilevate inconsistenze fra il tipo " + t.type + " e il tipo " + _this.utiExts.getJsTypeFromTypeCode(t.typecode));
|
|
420
429
|
if (t.type == "boolean")
|
|
421
|
-
t.value = t.value.toString().toLowerCase() === "true";
|
|
430
|
+
t.value = t.value ? t.value.toString().toLowerCase() === "true" : false;
|
|
422
431
|
if (t.enumtype || t.dicttype)
|
|
423
432
|
t.type = 'enum';
|
|
424
433
|
});
|
|
434
|
+
this.reviewParametersBindings();
|
|
425
435
|
};
|
|
426
436
|
/**
|
|
427
437
|
* Pipeline di Angular
|
|
@@ -439,10 +449,14 @@
|
|
|
439
449
|
var valid = true;
|
|
440
450
|
if (this.Parameters && this.Parameters.length > 0) {
|
|
441
451
|
this.Parameters.forEach(function (t) {
|
|
442
|
-
if (
|
|
452
|
+
if (!t.visible)
|
|
453
|
+
return;
|
|
454
|
+
var emptyNumber = t.type == 'number' && (t.value == null || t.value == undefined);
|
|
455
|
+
var emptyNonNumber = t.type != 'number' && !t.value;
|
|
456
|
+
if (t.required && (emptyNumber || emptyNonNumber))
|
|
443
457
|
valid = false;
|
|
444
458
|
else if (t.value && t.type == 'number')
|
|
445
|
-
valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value);
|
|
459
|
+
valid = new RegExp(t.pattern || /^[+-]?[0-9]*[,]?[0-9]+$/).test(t.value.toString());
|
|
446
460
|
else if (t.value && t.pattern)
|
|
447
461
|
valid = new RegExp(t.pattern).test(t.value);
|
|
448
462
|
});
|
|
@@ -469,6 +483,7 @@
|
|
|
469
483
|
EsParametersComponent.prototype.changed = function () {
|
|
470
484
|
var thyCleanShaltNotBlankMe = JSON.parse(JSON.stringify(this.Parameters));
|
|
471
485
|
this.propagateChange(thyCleanShaltNotBlankMe);
|
|
486
|
+
this.reviewParametersBindings();
|
|
472
487
|
};
|
|
473
488
|
/**
|
|
474
489
|
* Rimuove il parametro selezionato e propaga il modello
|
|
@@ -479,6 +494,72 @@
|
|
|
479
494
|
this.Parameters.splice(this.Parameters.indexOf(par), 1);
|
|
480
495
|
this.changed();
|
|
481
496
|
};
|
|
497
|
+
/**
|
|
498
|
+
* Rivede i bindings dei parametri in base a loro eventuali espressioni di controllo
|
|
499
|
+
*/
|
|
500
|
+
EsParametersComponent.prototype.reviewParametersBindings = function () {
|
|
501
|
+
for (var i = 0; i < this.Parameters.length; i++) {
|
|
502
|
+
var p = this.Parameters[i];
|
|
503
|
+
if (p.requiredexp)
|
|
504
|
+
p.required = this.evaluate(p.requiredexp);
|
|
505
|
+
if (p.visibleexp)
|
|
506
|
+
p.visible = this.evaluate(p.visibleexp);
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
/**
|
|
510
|
+
* Valuta un'espressione in base ai parametri presenti nel modello attuale
|
|
511
|
+
*
|
|
512
|
+
* @param expr Espressione da valutare scritta nel formato (ripetibile) "ID (==|!=|<|>|>=|<=) (`valore` | null)" separato eventualmente da && ed ||
|
|
513
|
+
*
|
|
514
|
+
* @returns **true** se la condizione è verificata, **false** altrimenti
|
|
515
|
+
*/
|
|
516
|
+
EsParametersComponent.prototype.evaluate = function (expr) {
|
|
517
|
+
var regex = /\s?([a-zA-Z0-9]+)\s?(!=|==|<|>|<=|>=)\s?(`[^`]+`|null|[0-9,]+|true|false)/gm;
|
|
518
|
+
var matches = [];
|
|
519
|
+
var finalExpr = expr;
|
|
520
|
+
while (matches = regex.exec(expr)) {
|
|
521
|
+
var fullMatch = matches[0].trim();
|
|
522
|
+
var id = matches[1].trim();
|
|
523
|
+
var operation = matches[2].trim();
|
|
524
|
+
var value = matches[3].trim().trim().replace('`', '').replace('`', '');
|
|
525
|
+
finalExpr = finalExpr.replace(fullMatch, "this.checkValue('" + id + "', '" + operation + "', '" + value + "')");
|
|
526
|
+
}
|
|
527
|
+
return eval(finalExpr);
|
|
528
|
+
};
|
|
529
|
+
/**
|
|
530
|
+
* Restituisce l'operazione di comparazione fra un singolo valore di un parametro e un suo valore di confronto in base ad un operatore
|
|
531
|
+
* Richiamata da EVAL
|
|
532
|
+
*
|
|
533
|
+
* @param {string} key Chiave del parametro di cui verificare il valore
|
|
534
|
+
* @param {string} operator Operatore con cui verificare il valore: ==, !=, >, <, >=, <=
|
|
535
|
+
* @param {string} value Valore di confronto da utilizzare
|
|
536
|
+
*
|
|
537
|
+
* @returns **true** se la condizione è verificata, **false** altrimenti
|
|
538
|
+
*/
|
|
539
|
+
EsParametersComponent.prototype.checkValue = function (key, operator, value) {
|
|
540
|
+
var rPar = this.ParametersCache[key];
|
|
541
|
+
switch (rPar.type) {
|
|
542
|
+
case "string":
|
|
543
|
+
case "enum":
|
|
544
|
+
return eval("\"" + rPar.value + "\" " + operator + " \"" + value + "\"");
|
|
545
|
+
case "boolean":
|
|
546
|
+
return eval(rPar.value.toString() + " " + operator + " " + value);
|
|
547
|
+
case "number":
|
|
548
|
+
return eval(rPar.value.replace(',', '.') + " " + operator + " " + value.replace(',', '.'));
|
|
549
|
+
case "date":
|
|
550
|
+
var parDateConv = "this.dates.getDateConvertion(\"" + rPar.value + "\")";
|
|
551
|
+
var valDateConv = "this.dates.getDateConvertion(\"" + value + "\")";
|
|
552
|
+
switch (operator) {
|
|
553
|
+
case "==": return eval(parDateConv + " == " + valDateConv + " || (" + parDateConv + " != null && " + parDateConv + ".isSame(" + valDateConv + "))");
|
|
554
|
+
case "!=": return eval(parDateConv + " != " + valDateConv + " && " + parDateConv + " != null && !" + parDateConv + ".isSame(" + valDateConv + ")");
|
|
555
|
+
case ">": return eval(parDateConv + " != null && " + valDateConv + " != null && " + parDateConv + ".isAfter(" + valDateConv + ")");
|
|
556
|
+
case "<": return eval(parDateConv + " != null && " + valDateConv + " != null && " + parDateConv + ".isBefore(" + valDateConv + ")");
|
|
557
|
+
case ">=": return eval(parDateConv + " != null && " + valDateConv + " != null && (" + parDateConv + ".isAfter(" + valDateConv + ") || " + parDateConv + "?.isSame(" + valDateConv + "))");
|
|
558
|
+
case "<=": return eval(parDateConv + " != null && " + valDateConv + " != null && (" + parDateConv + ".isBefore(" + valDateConv + ") || " + parDateConv + "?.isSame(" + valDateConv + "))");
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
throw "@esfaenza/parameters: Tipo parametro " + key + " non riconosciuto: " + rPar.type;
|
|
562
|
+
};
|
|
482
563
|
return EsParametersComponent;
|
|
483
564
|
}());
|
|
484
565
|
EsParametersComponent.decorators = [
|
|
@@ -497,14 +578,15 @@
|
|
|
497
578
|
multi: true
|
|
498
579
|
}
|
|
499
580
|
],
|
|
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.
|
|
581
|
+
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.visible\">\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.required ? '*' : ''}}:</label>\r\n\r\n <div class=\"col-md-{{InputColWidth}}\" *ngIf=\"par.type == 'date'\">\r\n <form-date [Form]=\"Form\" [FormLayout]=\"false\" [Readonly]=\"Readonly || par.readonly\" [required]=\"par.required\" [(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 [Form]=\"Form\" [FormLayout]=\"false\" [Readonly]=\"Readonly || par.readonly\" [required]=\"par.required\" [(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 [Form]=\"Form\" [FormLayout]=\"false\" [Readonly]=\"Readonly || par.readonly\" [required]=\"par.required\" [(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 [Form]=\"Form\" [FormLayout]=\"false\" [Readonly]=\"Readonly || par.readonly\" [(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 [Form]=\"Form\" [FormLayout]=\"false\" [Readonly]=\"Readonly || par.readonly\" [required]=\"par.required\" [(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 [Form]=\"Form\" [FormLayout]=\"false\" [SelectLabel]=\"('Select' | localize : lc) + '...'\" [(ngModel)]=\"par.value\" name=\"mtu\" [Readonly]=\"Readonly || par.readonly\" [Source]=\"par.enumvalues\" [required]=\"par.required\" (inputChange)=\"changed();\" #validator></form-multiselect>\r\n </div>\r\n\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n</div>"
|
|
501
582
|
},] }
|
|
502
583
|
];
|
|
503
584
|
EsParametersComponent.ctorParameters = function () { return [
|
|
504
585
|
{ type: extensions.UtilityService },
|
|
505
586
|
{ type: localizations.LocalizationService },
|
|
506
587
|
{ type: core.ChangeDetectorRef },
|
|
507
|
-
{ type: core.Injector }
|
|
588
|
+
{ type: core.Injector },
|
|
589
|
+
{ type: extensions.DateService }
|
|
508
590
|
]; };
|
|
509
591
|
EsParametersComponent.propDecorators = {
|
|
510
592
|
LastParameterNoMargin: [{ type: core.Input }],
|
|
@@ -514,6 +596,7 @@
|
|
|
514
596
|
EmptyMessage: [{ type: core.Input }],
|
|
515
597
|
Removal: [{ type: core.Input }],
|
|
516
598
|
Readonly: [{ type: core.Input }],
|
|
599
|
+
Form: [{ type: core.Input }],
|
|
517
600
|
LabelInputRatio: [{ type: core.Input }]
|
|
518
601
|
};
|
|
519
602
|
|
|
@@ -555,24 +638,24 @@
|
|
|
555
638
|
* @param {string} description Descrizione del parametro
|
|
556
639
|
* @param {string} pattern Pattern di validazione
|
|
557
640
|
* @param {'date' | 'string' | 'number' | 'boolean' | 'enum'} type Tipo di input
|
|
558
|
-
* @param {boolean}
|
|
641
|
+
* @param {boolean} required Indica se il valore è obbligatorio o meno
|
|
559
642
|
* @param {any} v_default Valore di default per questo Parametro
|
|
560
643
|
* @param {{ id: string, description: string }[]} enumvalues Qualora il **type** fosse di tipo **enum**, qui devono esserci tutti i valori che può assumere
|
|
561
644
|
* @param {boolean} multienum Qualora il **type** fosse di tipo **enum**, indica se è possibile selezionare più valori (multiselect)
|
|
562
645
|
*/
|
|
563
|
-
function GenericParameter(id, description, pattern, type,
|
|
646
|
+
function GenericParameter(id, description, pattern, type, required, v_default, enumvalues, multienum) {
|
|
564
647
|
if (v_default === void 0) { v_default = null; }
|
|
565
648
|
if (enumvalues === void 0) { enumvalues = []; }
|
|
566
649
|
this.id = id;
|
|
567
650
|
this.description = description;
|
|
568
651
|
this.pattern = pattern;
|
|
569
|
-
this.
|
|
652
|
+
this.required = required;
|
|
570
653
|
this.enumvalues = enumvalues;
|
|
571
654
|
this.multienum = multienum;
|
|
572
655
|
this.type = type == 'enum' ? "" : type;
|
|
573
|
-
this.
|
|
656
|
+
this.visible = true;
|
|
574
657
|
this.enumtype = type == 'enum' ? type : "";
|
|
575
|
-
this.
|
|
658
|
+
this.readonly = false;
|
|
576
659
|
if (!this.enumtype && enumvalues.length != 0)
|
|
577
660
|
console.error("impossibile gestire valori di dizionario per un parametro non di tipo enum");
|
|
578
661
|
if (v_default != null)
|
|
@@ -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, 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
|
+
{"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, NgForm, 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 { DateService, 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 * Cache per fare lookup rapidi in fase di valutazione espressioni di visibilità e obbligatorietà\r\n */\r\n private ParametersCache: {[id: string]: 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 * Form che utilizza il componente. Fondamentale collegarlo se si vogliono le validazioni sul submit\r\n */\r\n @Input() Form : NgForm = null;\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, public dates: DateService) { }\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 this.ParametersCache = {};\r\n if (!this.Parameters)\r\n return;\r\n\r\n this.Parameters.forEach(t => {\r\n this.ParametersCache[t.id] = t;\r\n\r\n if(!t.typecode && !t.type)\r\n console.warn(\"Non è stato specificato né un type né un typecode\");\r\n\r\n if (t.typecode && !t.type)\r\n t.type = this.utiExts.getJsTypeFromTypeCode(t.typecode);\r\n\r\n if (t.typecode && t.type != this.utiExts.getJsTypeFromTypeCode(t.typecode))\r\n console.warn(\"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 = t.value ? (<string>t.value.toString()).toLowerCase() === \"true\" : false;\r\n\r\n if (t.enumtype || t.dicttype)\r\n t.type = 'enum';\r\n });\r\n\r\n this.reviewParametersBindings();\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.visible)\r\n return;\r\n \r\n let emptyNumber = t.type == 'number' && (t.value == null || t.value == undefined);\r\n let emptyNonNumber = t.type != 'number' && !t.value\r\n\r\n if (t.required && (emptyNumber || emptyNonNumber))\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.toString());\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 this.reviewParametersBindings();\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\r\n /**\r\n * Rivede i bindings dei parametri in base a loro eventuali espressioni di controllo\r\n */\r\n private reviewParametersBindings() {\r\n for (let i = 0; i < this.Parameters.length; i++) {\r\n var p = this.Parameters[i];\r\n\r\n if (p.requiredexp)\r\n p.required = this.evaluate(p.requiredexp);\r\n if (p.visibleexp)\r\n p.visible = this.evaluate(p.visibleexp);\r\n }\r\n }\r\n\r\n /**\r\n * Valuta un'espressione in base ai parametri presenti nel modello attuale\r\n * \r\n * @param expr Espressione da valutare scritta nel formato (ripetibile) \"ID (==|!=|<|>|>=|<=) (`valore` | null)\" separato eventualmente da && ed ||\r\n * \r\n * @returns **true** se la condizione è verificata, **false** altrimenti\r\n */\r\n private evaluate(expr: string): boolean {\r\n var regex = /\\s?([a-zA-Z0-9]+)\\s?(!=|==|<|>|<=|>=)\\s?(`[^`]+`|null|[0-9,]+|true|false)/gm;\r\n\r\n var matches: string[] = [];\r\n var finalExpr = expr;\r\n while (matches = regex.exec(expr)) {\r\n var fullMatch = matches[0].trim();\r\n var id = matches[1].trim();\r\n var operation = matches[2].trim();\r\n var value = matches[3].trim().trim().replace('`', '').replace('`', '');\r\n\r\n finalExpr = finalExpr.replace(fullMatch, `this.checkValue('${id}', '${operation}', '${value}')`);\r\n }\r\n\r\n return eval(finalExpr);\r\n }\r\n\r\n /**\r\n * Restituisce l'operazione di comparazione fra un singolo valore di un parametro e un suo valore di confronto in base ad un operatore\r\n * Richiamata da EVAL\r\n * \r\n * @param {string} key Chiave del parametro di cui verificare il valore\r\n * @param {string} operator Operatore con cui verificare il valore: ==, !=, >, <, >=, <=\r\n * @param {string} value Valore di confronto da utilizzare\r\n * \r\n * @returns **true** se la condizione è verificata, **false** altrimenti\r\n */\r\n public checkValue(key: string, operator: string, value: string): boolean {\r\n var rPar = this.ParametersCache[key];\r\n switch (rPar.type) {\r\n case \"string\":\r\n case \"enum\":\r\n return eval(`\"${rPar.value}\" ${operator} \"${value}\"`);\r\n case \"boolean\":\r\n return eval(`${rPar.value.toString()} ${operator} ${value}`);\r\n case \"number\":\r\n return eval(`${rPar.value.replace(',', '.')} ${operator} ${value.replace(',', '.')}`);\r\n case \"date\":\r\n let parDateConv = `this.dates.getDateConvertion(\"${rPar.value}\")`;\r\n let valDateConv = `this.dates.getDateConvertion(\"${value}\")`;\r\n\r\n switch (operator) {\r\n\r\n case \"==\": return eval(`${parDateConv} == ${valDateConv} || (${parDateConv} != null && ${parDateConv}.isSame(${valDateConv}))`);\r\n case \"!=\": return eval(`${parDateConv} != ${valDateConv} && ${parDateConv} != null && !${parDateConv}.isSame(${valDateConv})`);\r\n case \">\": return eval(`${parDateConv} != null && ${valDateConv} != null && ${parDateConv}.isAfter(${valDateConv})`);\r\n case \"<\": return eval(`${parDateConv} != null && ${valDateConv} != null && ${parDateConv}.isBefore(${valDateConv})`);\r\n case \">=\": return eval(`${parDateConv} != null && ${valDateConv} != null && (${parDateConv}.isAfter(${valDateConv}) || ${parDateConv}?.isSame(${valDateConv}))`);\r\n case \"<=\": return eval(`${parDateConv} != null && ${valDateConv} != null && (${parDateConv}.isBefore(${valDateConv}) || ${parDateConv}?.isSame(${valDateConv}))`);\r\n }\r\n }\r\n throw `@esfaenza/parameters: Tipo parametro ${key} non riconosciuto: ${rPar.type}`;\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} required 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 required: 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.visible = true;\r\n this.enumtype = type == 'enum' ? type : \"\";\r\n this.readonly = 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 readonly: 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 visible: 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 /**\r\n * Espressione di obbligatorietà\r\n */\r\n public requiredexp?: string;\r\n\r\n /**\r\n * Espressione di visibilità\r\n */\r\n public visibleexp?: 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","DateService","Input","NgModule","CommonModule","LocalizationModule","FormsModule","FullExtensionsModule","FormsAndValidationsModule"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@esfaenza/forms-and-validations"),require("@esfaenza/localizations"),require("@esfaenza/extensions")):"function"==typeof define&&define.amd?define("@esfaenza/parameters",["exports","@angular/core","@angular/common","@angular/forms","@esfaenza/forms-and-validations","@esfaenza/localizations","@esfaenza/extensions"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).esfaenza=e.esfaenza||{},e.esfaenza.parameters={}),e.ng.core,e.ng.common,e.ng.forms,e.formsAndValidations,e.localizations,e.extensions)}(this,(function(
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@esfaenza/forms-and-validations"),require("@esfaenza/localizations"),require("@esfaenza/extensions")):"function"==typeof define&&define.amd?define("@esfaenza/parameters",["exports","@angular/core","@angular/common","@angular/forms","@esfaenza/forms-and-validations","@esfaenza/localizations","@esfaenza/extensions"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).esfaenza=e.esfaenza||{},e.esfaenza.parameters={}),e.ng.core,e.ng.common,e.ng.forms,e.formsAndValidations,e.localizations,e.extensions)}(this,(function(exports,core,common,forms,formsAndValidations,localizations,extensions){"use strict";
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */var s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};Object.create;Object.create;var l=new t.InjectionToken("PAR_LOCALE"),p=function(e){function t(t){return e.call(this,t)||this}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t}(o.LocalizationService);p.decorators=[{type:t.Injectable}],p.ctorParameters=function(){return[{type:String,decorators:[{type:t.Inject,args:[l]}]}]};var u=function(){function e(e,t,r,a){this.utiExts=e,this.lc=t,this.cdr=r,this.inj=a,this.propagateChange=function(e){},this.LastParameterNoMargin=!1,this.LabelColWidth=4,this.InputColWidth=8,this.submitted=!1,this.EmptyMessage="",this.Removal=!1,this.Readonly=!1}return Object.defineProperty(e.prototype,"LabelInputRatio",{set:function(e){var t=e.split(/\s/);this.LabelColWidth=parseInt(t[0]),this.InputColWidth=parseInt(t[1])},enumerable:!1,configurable:!0}),e.prototype.writeValue=function(e){var t=this;this.Parameters=e,this.Parameters&&this.Parameters.forEach((function(e){if(e.typecode&&!e.type&&(e.type=t.utiExts.getJsTypeFromTypeCode(e.typecode)),e.type!=t.utiExts.getJsTypeFromTypeCode(e.typecode))throw"Rilevate inconsistenze fra il tipo "+e.type+" e il tipo "+t.utiExts.getJsTypeFromTypeCode(e.typecode);"boolean"==e.type&&(e.value="true"===e.value.toString().toLowerCase()),(e.enumtype||e.dicttype)&&(e.type="enum")}))},e.prototype.validate=function(e){var t;if(e!=(null===(t=this.inj.get(a.NgControl,null))||void 0===t?void 0:t.control))return null;var r=!0;return this.Parameters&&this.Parameters.length>0&&this.Parameters.forEach((function(e){e.mandatory&&!e.value?r=!1:e.value&&"number"==e.type?r=new RegExp(e.pattern||/^[+-]?[0-9]*[,]?[0-9]+$/).test(e.value):e.value&&e.pattern&&(r=new RegExp(e.pattern).test(e.value))})),r?null:{"es-parameters":r}},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){},e.prototype.changed=function(){var e=JSON.parse(JSON.stringify(this.Parameters));this.propagateChange(e)},e.prototype.removeParameter=function(e){this.Parameters.splice(this.Parameters.indexOf(e),1),this.changed()},e}();u.decorators=[{type:t.Component,args:[{selector:"es-parameters",providers:[{provide:o.LocalizationService,useClass:p},{provide:a.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return u})),multi:!0},{provide:a.NG_VALIDATORS,useExisting:t.forwardRef((function(){return u})),multi:!0}],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 \x3c!--Se stringa--\x3e\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 \x3c!--Se numero--\x3e\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 \x3c!--Se boolean--\x3e\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 \x3c!--Se enum single select--\x3e\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 \x3c!--Se enum multi select--\x3e\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>'}]}],u.ctorParameters=function(){return[{type:i.UtilityService},{type:o.LocalizationService},{type:t.ChangeDetectorRef},{type:t.Injector}]},u.propDecorators={LastParameterNoMargin:[{type:t.Input}],LabelColWidth:[{type:t.Input}],InputColWidth:[{type:t.Input}],submitted:[{type:t.Input}],EmptyMessage:[{type:t.Input}],Removal:[{type:t.Input}],Readonly:[{type:t.Input}],LabelInputRatio:[{type:t.Input}]};var d=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:l,useValue:(null==t?void 0:t.locale)||"it-IT"}]}},e}();d.decorators=[{type:t.NgModule,args:[{declarations:[u],imports:[r.CommonModule,o.LocalizationModule,a.FormsModule,i.FullExtensionsModule,n.FormsAndValidationsModule],exports:[u]}]}];var c=function(e,t,r,a,n,o,i,s){void 0===o&&(o=null),void 0===i&&(i=[]),this.id=e,this.description=t,this.pattern=r,this.mandatory=n,this.enumvalues=i,this.multienum=s,this.type="enum"==a?"":a,this.insertthis=!0,this.enumtype="enum"==a?a:"",this.isreadonly=!1,this.enumtype||0==i.length||console.error("impossibile gestire valori di dizionario per un parametro non di tipo enum"),null!=o&&(this.value=o)};e.EsParametersComponent=u,e.EsParametersModule=d,e.GenericParameter=c,e.PAR_LOCALE=l,e["ɵa"]=p,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
15
|
+
***************************************************************************** */var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function __extends(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}extendStatics(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]])}return r}function __decorate(e,t,r,n){var a,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(i=(o<3?a(i):o>3?a(t,r,i):a(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}function __param(e,t){return function(r,n){t(r,n,e)}}function __metadata(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){return new(r||(r=Promise))((function(a,o){function i(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}l((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;i;)try{if(r=1,n&&(a=2&o[0]?n.return:o[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,o[1])).done)return a;switch(n=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,n=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(6===o[0]&&i.label<a[1]){i.label=a[1],a=o;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(o);break}a[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e],n=0}finally{r=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}var __createBinding=Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]};function __exportStar(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)}function __values(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,a,o=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(e){a={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),a=0;for(t=0;t<r;t++)for(var o=arguments[t],i=0,s=o.length;i<s;i++,a++)n[a]=o[i];return n}function __spreadArray(e,t){for(var r=0,n=t.length,a=e.length;r<n;r++,a++)e[a]=t[r];return e}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,a=r.apply(e,t||[]),o=[];return n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n;function i(e){a[e]&&(n[e]=function(t){return new Promise((function(r,n){o.push([e,t,r,n])>1||s(e,t)}))})}function s(e,t){try{(r=a[e](t)).value instanceof __await?Promise.resolve(r.value.v).then(l,u):c(o[0][2],r)}catch(e){c(o[0][3],e)}var r}function l(e){s("next",e)}function u(e){s("throw",e)}function c(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function __asyncDelegator(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,a){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:"return"===n}:a?a(t):t}:a}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,a){(function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)})(n,a,(t=e[r](t)).done,t.value)}))}}}function __makeTemplateObject(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var __setModuleDefault=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function __importStar(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function __classPrivateFieldSet(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}var PAR_LOCALE=new core.InjectionToken("PAR_LOCALE"),EsParametersLoc=function(e){function t(t){return e.call(this,t)||this}return __extends(t,e),t}(localizations.LocalizationService);EsParametersLoc.decorators=[{type:core.Injectable}],EsParametersLoc.ctorParameters=function(){return[{type:String,decorators:[{type:core.Inject,args:[PAR_LOCALE]}]}]};var EsParametersComponent=function(){function EsParametersComponent(e,t,r,n,a){this.utiExts=e,this.lc=t,this.cdr=r,this.inj=n,this.dates=a,this.propagateChange=function(e){},this.LastParameterNoMargin=!1,this.LabelColWidth=4,this.InputColWidth=8,this.submitted=!1,this.EmptyMessage="",this.Removal=!1,this.Readonly=!1,this.Form=null}return Object.defineProperty(EsParametersComponent.prototype,"LabelInputRatio",{set:function(e){var t=e.split(/\s/);this.LabelColWidth=parseInt(t[0]),this.InputColWidth=parseInt(t[1])},enumerable:!1,configurable:!0}),EsParametersComponent.prototype.writeValue=function(e){var t=this;this.Parameters=e,this.ParametersCache={},this.Parameters&&(this.Parameters.forEach((function(e){t.ParametersCache[e.id]=e,e.typecode||e.type||console.warn("Non è stato specificato né un type né un typecode"),e.typecode&&!e.type&&(e.type=t.utiExts.getJsTypeFromTypeCode(e.typecode)),e.typecode&&e.type!=t.utiExts.getJsTypeFromTypeCode(e.typecode)&&console.warn("Rilevate inconsistenze fra il tipo "+e.type+" e il tipo "+t.utiExts.getJsTypeFromTypeCode(e.typecode)),"boolean"==e.type&&(e.value=!!e.value&&"true"===e.value.toString().toLowerCase()),(e.enumtype||e.dicttype)&&(e.type="enum")})),this.reviewParametersBindings())},EsParametersComponent.prototype.validate=function(e){var t;if(e!=(null===(t=this.inj.get(forms.NgControl,null))||void 0===t?void 0:t.control))return null;var r=!0;return this.Parameters&&this.Parameters.length>0&&this.Parameters.forEach((function(e){if(e.visible){var t="number"==e.type&&(null==e.value||null==e.value),n="number"!=e.type&&!e.value;e.required&&(t||n)?r=!1:e.value&&"number"==e.type?r=new RegExp(e.pattern||/^[+-]?[0-9]*[,]?[0-9]+$/).test(e.value.toString()):e.value&&e.pattern&&(r=new RegExp(e.pattern).test(e.value))}})),r?null:{"es-parameters":r}},EsParametersComponent.prototype.registerOnChange=function(e){this.propagateChange=e},EsParametersComponent.prototype.registerOnTouched=function(e){},EsParametersComponent.prototype.changed=function(){var e=JSON.parse(JSON.stringify(this.Parameters));this.propagateChange(e),this.reviewParametersBindings()},EsParametersComponent.prototype.removeParameter=function(e){this.Parameters.splice(this.Parameters.indexOf(e),1),this.changed()},EsParametersComponent.prototype.reviewParametersBindings=function(){for(var e=0;e<this.Parameters.length;e++){var t=this.Parameters[e];t.requiredexp&&(t.required=this.evaluate(t.requiredexp)),t.visibleexp&&(t.visible=this.evaluate(t.visibleexp))}},EsParametersComponent.prototype.evaluate=function(expr){for(var regex=/\s?([a-zA-Z0-9]+)\s?(!=|==|<|>|<=|>=)\s?(`[^`]+`|null|[0-9,]+|true|false)/gm,matches=[],finalExpr=expr;matches=regex.exec(expr);){var fullMatch=matches[0].trim(),id=matches[1].trim(),operation=matches[2].trim(),value=matches[3].trim().trim().replace("`","").replace("`","");finalExpr=finalExpr.replace(fullMatch,"this.checkValue('"+id+"', '"+operation+"', '"+value+"')")}return eval(finalExpr)},EsParametersComponent.prototype.checkValue=function(key,operator,value){var rPar=this.ParametersCache[key];switch(rPar.type){case"string":case"enum":return eval('"'+rPar.value+'" '+operator+' "'+value+'"');case"boolean":return eval(rPar.value.toString()+" "+operator+" "+value);case"number":return eval(rPar.value.replace(",",".")+" "+operator+" "+value.replace(",","."));case"date":var parDateConv='this.dates.getDateConvertion("'+rPar.value+'")',valDateConv='this.dates.getDateConvertion("'+value+'")';switch(operator){case"==":return eval(parDateConv+" == "+valDateConv+" || ("+parDateConv+" != null && "+parDateConv+".isSame("+valDateConv+"))");case"!=":return eval(parDateConv+" != "+valDateConv+" && "+parDateConv+" != null && !"+parDateConv+".isSame("+valDateConv+")");case">":return eval(parDateConv+" != null && "+valDateConv+" != null && "+parDateConv+".isAfter("+valDateConv+")");case"<":return eval(parDateConv+" != null && "+valDateConv+" != null && "+parDateConv+".isBefore("+valDateConv+")");case">=":return eval(parDateConv+" != null && "+valDateConv+" != null && ("+parDateConv+".isAfter("+valDateConv+") || "+parDateConv+"?.isSame("+valDateConv+"))");case"<=":return eval(parDateConv+" != null && "+valDateConv+" != null && ("+parDateConv+".isBefore("+valDateConv+") || "+parDateConv+"?.isSame("+valDateConv+"))")}}throw"@esfaenza/parameters: Tipo parametro "+key+" non riconosciuto: "+rPar.type},EsParametersComponent}();EsParametersComponent.decorators=[{type:core.Component,args:[{selector:"es-parameters",providers:[{provide:localizations.LocalizationService,useClass:EsParametersLoc},{provide:forms.NG_VALUE_ACCESSOR,useExisting:core.forwardRef((function(){return EsParametersComponent})),multi:!0},{provide:forms.NG_VALIDATORS,useExisting:core.forwardRef((function(){return EsParametersComponent})),multi:!0}],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.visible">\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.required ? \'*\' : \'\'}}:</label>\r\n\r\n <div class="col-md-{{InputColWidth}}" *ngIf="par.type == \'date\'">\r\n <form-date [Form]="Form" [FormLayout]="false" [Readonly]="Readonly || par.readonly" [required]="par.required" [(ngModel)]="par.value" name="par{{i}}" (inputChange)="changed();" #validator></form-date>\r\n </div>\r\n \x3c!--Se stringa--\x3e\r\n <div class="col-md-{{InputColWidth}}" *ngIf="par.type == \'string\'">\r\n <form-input [Form]="Form" [FormLayout]="false" [Readonly]="Readonly || par.readonly" [required]="par.required" [(ngModel)]="par.value" name="par{{i}}" (inputChange)="changed();" #validator></form-input>\r\n </div>\r\n \x3c!--Se numero--\x3e\r\n <div class="col-md-{{InputColWidth}}" *ngIf="par.type == \'number\'">\r\n <form-input [Form]="Form" [FormLayout]="false" [Readonly]="Readonly || par.readonly" [required]="par.required" [(ngModel)]="par.value" name="par{{i}}" (inputChange)="changed();" #validator pattern="{{par.pattern || \'^[+-]?[0-9]*[,]?[0-9]+$\'}}"></form-input>\r\n </div>\r\n \x3c!--Se boolean--\x3e\r\n <div class="col-md-{{InputColWidth}} m-t-5" *ngIf="par.type == \'boolean\'">\r\n <form-checkbox [Form]="Form" [FormLayout]="false" [Readonly]="Readonly || par.readonly" [(ngModel)]="par.value" name="par{{i}}" (inputChange)="changed();" #validator></form-checkbox>\r\n </div>\r\n \x3c!--Se enum single select--\x3e\r\n <div class="col-md-{{InputColWidth}}" *ngIf="par.type == \'enum\' && !par.multienum">\r\n <form-select [Form]="Form" [FormLayout]="false" [Readonly]="Readonly || par.readonly" [required]="par.required" [(ngModel)]="par.value" name="par{{i}}" (inputChange)="changed();" #validator [Source]="par.enumvalues"></form-select>\r\n </div>\r\n \x3c!--Se enum multi select--\x3e\r\n <div class="col-md-{{InputColWidth}}" *ngIf="par.type == \'enum\' && par.multienum">\r\n <form-multiselect [Form]="Form" [FormLayout]="false" [SelectLabel]="(\'Select\' | localize : lc) + \'...\'" [(ngModel)]="par.value" name="mtu" [Readonly]="Readonly || par.readonly" [Source]="par.enumvalues" [required]="par.required" (inputChange)="changed();" #validator></form-multiselect>\r\n </div>\r\n\r\n <div class="clearfix"></div>\r\n </div>\r\n</div>'}]}],EsParametersComponent.ctorParameters=function(){return[{type:extensions.UtilityService},{type:localizations.LocalizationService},{type:core.ChangeDetectorRef},{type:core.Injector},{type:extensions.DateService}]},EsParametersComponent.propDecorators={LastParameterNoMargin:[{type:core.Input}],LabelColWidth:[{type:core.Input}],InputColWidth:[{type:core.Input}],submitted:[{type:core.Input}],EmptyMessage:[{type:core.Input}],Removal:[{type:core.Input}],Readonly:[{type:core.Input}],Form:[{type:core.Input}],LabelInputRatio:[{type:core.Input}]};var EsParametersModule=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:PAR_LOCALE,useValue:(null==t?void 0:t.locale)||"it-IT"}]}},e}();EsParametersModule.decorators=[{type:core.NgModule,args:[{declarations:[EsParametersComponent],imports:[common.CommonModule,localizations.LocalizationModule,forms.FormsModule,extensions.FullExtensionsModule,formsAndValidations.FormsAndValidationsModule],exports:[EsParametersComponent]}]}];var GenericParameter=function(e,t,r,n,a,o,i,s){void 0===o&&(o=null),void 0===i&&(i=[]),this.id=e,this.description=t,this.pattern=r,this.required=a,this.enumvalues=i,this.multienum=s,this.type="enum"==n?"":n,this.visible=!0,this.enumtype="enum"==n?n:"",this.readonly=!1,this.enumtype||0==i.length||console.error("impossibile gestire valori di dizionario per un parametro non di tipo enum"),null!=o&&(this.value=o)};exports.EsParametersComponent=EsParametersComponent,exports.EsParametersModule=EsParametersModule,exports.GenericParameter=GenericParameter,exports.PAR_LOCALE=PAR_LOCALE,exports["ɵa"]=EsParametersLoc,Object.defineProperty(exports,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=esfaenza-parameters.umd.min.js.map
|