@esfaenza/es-table 11.2.122 → 11.2.123

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.
Files changed (44) hide show
  1. package/bundles/esfaenza-es-table.umd.js +471 -263
  2. package/bundles/esfaenza-es-table.umd.js.map +1 -1
  3. package/bundles/esfaenza-es-table.umd.min.js +1 -1
  4. package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
  5. package/esfaenza-es-table.d.ts +8 -4
  6. package/esfaenza-es-table.metadata.json +1 -1
  7. package/esm2015/esfaenza-es-table.js +9 -5
  8. package/esm2015/lib/components/es-table/es_table.component.js +145 -79
  9. package/esm2015/lib/components/es-td/es_td.component.js +10 -52
  10. package/esm2015/lib/components/es-th/es_th.component.js +2 -2
  11. package/esm2015/lib/components/pipes/est-renderer.pipe.js +36 -0
  12. package/esm2015/lib/components/pipes/est-routerlink.pipe.js +37 -0
  13. package/esm2015/lib/components/pipes/est_editor.pipe.js +36 -0
  14. package/esm2015/lib/core/CopyPasteDetector.js +4 -2
  15. package/esm2015/lib/core/Logger.js +23 -0
  16. package/esm2015/lib/core/handlers/ColumnMetadataHandler.js +14 -12
  17. package/esm2015/lib/core/handlers/DynamicModeHandler.js +59 -37
  18. package/esm2015/lib/core/handlers/SelectionHandler.js +46 -50
  19. package/esm2015/lib/core/handlers/UtilitiesHandler.js +2 -5
  20. package/esm2015/lib/directives/es_th.directive.js +9 -2
  21. package/esm2015/lib/domain/externals/EsTableColumnsDefinition.js +4 -3
  22. package/esm2015/lib/domain/externals/ItemPropEditableReference.js +1 -1
  23. package/esm2015/lib/domain/internals/EsTableColumn.js +2 -2
  24. package/esm2015/lib/domain/internals/PagerInfos.js +15 -0
  25. package/esm2015/lib/domain/internals/ThGroup.js +2 -0
  26. package/esm2015/lib/es-table.module.js +42 -19
  27. package/fesm2015/esfaenza-es-table.js +451 -251
  28. package/fesm2015/esfaenza-es-table.js.map +1 -1
  29. package/lib/components/es-table/es_table.component.d.ts +55 -60
  30. package/lib/components/es-td/es_td.component.d.ts +6 -34
  31. package/lib/components/pipes/est-renderer.pipe.d.ts +12 -0
  32. package/lib/components/pipes/est-routerlink.pipe.d.ts +17 -0
  33. package/lib/components/pipes/est_editor.pipe.d.ts +12 -0
  34. package/lib/core/Logger.d.ts +7 -0
  35. package/lib/core/handlers/DynamicModeHandler.d.ts +11 -23
  36. package/lib/core/handlers/SelectionHandler.d.ts +16 -3
  37. package/lib/core/handlers/UtilitiesHandler.d.ts +4 -1
  38. package/lib/directives/es_th.directive.d.ts +25 -0
  39. package/lib/domain/externals/EsTableColumnsDefinition.d.ts +3 -9
  40. package/lib/domain/externals/ItemPropEditableReference.d.ts +4 -0
  41. package/lib/domain/internals/EsTableColumn.d.ts +3 -1
  42. package/lib/domain/internals/PagerInfos.d.ts +13 -0
  43. package/lib/domain/internals/ThGroup.d.ts +10 -0
  44. package/package.json +1 -1
@@ -1,58 +1,24 @@
1
- //Angular
2
- import { Component, Input, Renderer2, ElementRef, ChangeDetectionStrategy, EventEmitter, Output, ChangeDetectorRef } from "@angular/core";
3
- import { DomSanitizer } from '@angular/platform-browser';
1
+ // Angular
2
+ import { Component, Input, ChangeDetectionStrategy, EventEmitter, Output, ChangeDetectorRef } from "@angular/core";
4
3
  /** Componente rappresentante una singola cella del body della tabella */
5
4
  export class EsTd {
6
5
  /** @ignore */
7
- constructor(cdr, myself, renderer, sanitizer) {
6
+ constructor(cdr) {
8
7
  this.cdr = cdr;
9
- this.myself = myself;
10
- this.renderer = renderer;
11
- this.sanitizer = sanitizer;
12
8
  /** Id della cella, dev'essere lo stesso della colonna **EsTh** relativa */
13
9
  this.ID = "";
14
- /** Valore da mostrare all'interno della cella. Se omesso verrà proiettato il contenuto dal template in cui è stata usata */
15
- this.Display = null;
16
- /** Template Angular da istanziare per questo TD */
17
- this.Template = null;
18
10
  /** Quando questa cella viene generata questo evento permette di dire "ehi, sono nato!" */
19
11
  this.onCellGeneration = new EventEmitter();
20
- // Ema commenta grazie
12
+ /** Errore attualmente presente sulla cella */
21
13
  this.ValidationError = "";
22
14
  }
23
- /**
24
- * Imposta la visibilità o meno della cella, si traduce nell'applicazione o rimozione della classe **app-display-none**
25
- *
26
- * @param {boolean} expression Indicazione della visibilità
27
- */
28
- set Visible(expression) {
29
- this._Visible = expression;
30
- if (expression)
31
- this.renderer.removeClass(this.myself.nativeElement, "app-display-none");
32
- else
33
- this.renderer.addClass(this.myself.nativeElement, "app-display-none");
34
- }
35
- /**
36
- * Restituisce lo stato di Visibilità della cella in oggetto
37
- *
38
- * @returns {boolean} **true** se visibile, **false** altrimenti
39
- */
40
- get Visible() {
41
- if (this._Visible == undefined)
42
- this._Visible = true;
43
- return this._Visible;
44
- }
45
15
  /** @ignore */
46
16
  ngAfterViewInit() {
47
17
  this.onCellGeneration.emit({ id: this.ID, hash: this.Context, self: this });
48
- // Se è Internal significa che è gestita internamente da ES-TABLE quindi evito di fare sti due passaggi di lettura del DOM
49
- if (this.Internal)
50
- return;
51
- this.Content = this.Display === null || this.Display === "" ? this.sanitizer.bypassSecurityTrustHtml(this.myself.nativeElement.innerHTML) : this.sanitizer.bypassSecurityTrustHtml(this.Display);
52
- this.Class = this.myself.nativeElement.className.replace("app-display-none", "");
53
18
  }
54
- validationError(isError, error) {
55
- this.ValidationError = isError ? error : "";
19
+ /** Api per impostare un "errore" su questa cella in maniera programmatica */
20
+ validationError(error) {
21
+ this.ValidationError = error;
56
22
  this.cdr.markForCheck();
57
23
  }
58
24
  }
@@ -65,19 +31,11 @@ EsTd.decorators = [
65
31
  },] }
66
32
  ];
67
33
  EsTd.ctorParameters = () => [
68
- { type: ChangeDetectorRef },
69
- { type: ElementRef },
70
- { type: Renderer2 },
71
- { type: DomSanitizer }
34
+ { type: ChangeDetectorRef }
72
35
  ];
73
36
  EsTd.propDecorators = {
74
37
  ID: [{ type: Input, args: ['es-td',] }],
75
- Internal: [{ type: Input }],
76
- RouterLink: [{ type: Input }],
77
- Display: [{ type: Input }],
78
- Template: [{ type: Input }],
79
38
  Context: [{ type: Input }],
80
- onCellGeneration: [{ type: Output }],
81
- Visible: [{ type: Input }]
39
+ onCellGeneration: [{ type: Output }]
82
40
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRkL2VzX3RkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUVuRSx5RUFBeUU7QUFPekUsTUFBTSxPQUFPLElBQUk7SUFnQ2IsY0FBYztJQUNkLFlBQW9CLEdBQXNCLEVBQVUsTUFBa0IsRUFBVSxRQUFtQixFQUFZLFNBQXVCO1FBQWxILFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBWSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBL0J0SSwyRUFBMkU7UUFDM0QsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQVFoQyw0SEFBNEg7UUFDbkgsWUFBTyxHQUFZLElBQUksQ0FBQztRQUVqQyxtREFBbUQ7UUFDMUMsYUFBUSxHQUFTLElBQUksQ0FBQztRQVcvQiwyRkFBMkY7UUFDakYscUJBQWdCLEdBQXlELElBQUksWUFBWSxFQUEwQyxDQUFDO1FBOEM5SSxzQkFBc0I7UUFDZixvQkFBZSxHQUFXLEVBQUUsQ0FBQztJQXpDc0csQ0FBQztJQUUzSTs7OztPQUlHO0lBQ0gsSUFBYSxPQUFPLENBQUMsVUFBbUI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFFM0IsSUFBSSxVQUFVO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzs7WUFFekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksT0FBTztRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXpCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWU7UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFNUUsMEhBQTBIO1FBQzFILElBQUksSUFBSSxDQUFDLFFBQVE7WUFDYixPQUFPO1FBRVgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDak0sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFJRCxlQUFlLENBQUMsT0FBZ0IsRUFBRSxLQUFjO1FBQzVDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7OztZQXBGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLHlKQUFxQztnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBRWxEOzs7WUFUZ0csaUJBQWlCO1lBQTVFLFVBQVU7WUFBckIsU0FBUztZQUMzQixZQUFZOzs7aUJBWWhCLEtBQUssU0FBQyxPQUFPO3VCQUdiLEtBQUs7eUJBR0wsS0FBSztzQkFHTCxLQUFLO3VCQUdMLEtBQUs7c0JBU0wsS0FBSzsrQkFHTCxNQUFNO3NCQWFOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIHNpbmdvbGEgY2VsbGEgZGVsIGJvZHkgZGVsbGEgdGFiZWxsYSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcIltlcy10ZF1cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXNfdGQuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3R5bGVVcmxzOiBbXCJlc190ZC5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNUZCB7XHJcblxyXG4gICAgLyoqIElkIGRlbGxhIGNlbGxhLCBkZXYnZXNzZXJlIGxvIHN0ZXNzbyBkZWxsYSBjb2xvbm5hICoqRXNUaCoqIHJlbGF0aXZhICovXHJcbiAgICBASW5wdXQoJ2VzLXRkJykgSUQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSDDqCB1bmEgY2VsbGEgaW50ZXJuYSAocmlnZW5lcmF0YSBwcm9ncmFtbWF0aWNhbWVudGUpIG8gbm8gKi9cclxuICAgIEBJbnB1dCgpIEludGVybmFsPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogUm91dGVyTGluayBxdWFsb3JhIGlsIGNsaWNrIHN1IHF1ZXN0YSBjZWxsYSBkZWJiYSBuYXZpZ2FyZSBkYSBxdWFsY2hlIHBhcnRlICovXHJcbiAgICBASW5wdXQoKSBSb3V0ZXJMaW5rPzogYW55O1xyXG5cclxuICAgIC8qKiBWYWxvcmUgZGEgbW9zdHJhcmUgYWxsJ2ludGVybm8gZGVsbGEgY2VsbGEuIFNlIG9tZXNzbyB2ZXJyw6AgcHJvaWV0dGF0byBpbCBjb250ZW51dG8gZGFsIHRlbXBsYXRlIGluIGN1aSDDqCBzdGF0YSB1c2F0YSAqL1xyXG4gICAgQElucHV0KCkgRGlzcGxheT86IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgLyoqIFRlbXBsYXRlIEFuZ3VsYXIgZGEgaXN0YW56aWFyZSBwZXIgcXVlc3RvIFREICovXHJcbiAgICBASW5wdXQoKSBUZW1wbGF0ZT86IGFueSA9IG51bGw7XHJcblxyXG4gICAgLyoqIENsYXNzaSBkYSBhcHBsaWNhcmUgYWxsYSBjZWxsYSAqL1xyXG4gICAgcHVibGljIENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBDb250ZW51dG8gZGEgbW9zdHJhcmUgcHJvaWV0dGF0byBkYWwgY29tcG9uZW50ZSBwYWRyZSAqL1xyXG4gICAgcHVibGljIENvbnRlbnQ/OiBTYWZlSHRtbDtcclxuXHJcbiAgICAvKiogQ29udGVzdG8gZGVsbCdvZ2dldHRvIGEgY3VpIHNpIHJpZmVyaXNjZSBpbCBkYXRvIHZpc3VhbGl6emF0by4gQ29udGllbmUgbCdoYXNoIGRlbGwnb2dnZXR0byBpbiBxdWVzdGlvbmUgKi9cclxuICAgIEBJbnB1dCgpIENvbnRleHQ6IHN0cmluZztcclxuXHJcbiAgICAvKiogUXVhbmRvIHF1ZXN0YSBjZWxsYSB2aWVuZSBnZW5lcmF0YSBxdWVzdG8gZXZlbnRvIHBlcm1ldHRlIGRpIGRpcmUgXCJlaGksIHNvbm8gbmF0byFcIiAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkNlbGxHZW5lcmF0aW9uOiBFdmVudEVtaXR0ZXI8e2lkOiBzdHJpbmcsIGhhc2g6IHN0cmluZywgc2VsZjogRXNUZH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7aWQ6IHN0cmluZywgaGFzaDogc3RyaW5nLCBzZWxmOiBFc1RkfT4oKTtcclxuXHJcbiAgICAvKiogSW5kaWNhemlvbmkgc3VsbGEgdmlzaWJpbGl0w6AgZGVsbGEgY2VsbGEgKi9cclxuICAgIHByaXZhdGUgX1Zpc2libGU/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgbXlzZWxmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByb3RlY3RlZCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGxhIHZpc2liaWxpdMOgIG8gbWVubyBkZWxsYSBjZWxsYSwgc2kgdHJhZHVjZSBuZWxsJ2FwcGxpY2F6aW9uZSBvIHJpbW96aW9uZSBkZWxsYSBjbGFzc2UgKiphcHAtZGlzcGxheS1ub25lKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBleHByZXNzaW9uIEluZGljYXppb25lIGRlbGxhIHZpc2liaWxpdMOgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBWaXNpYmxlKGV4cHJlc3Npb246IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9WaXNpYmxlID0gZXhwcmVzc2lvbjtcclxuXHJcbiAgICAgICAgaWYgKGV4cHJlc3Npb24pXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSBsbyBzdGF0byBkaSBWaXNpYmlsaXTDoCBkZWxsYSBjZWxsYSBpbiBvZ2dldHRvXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSAqKnRydWUqKiBzZSB2aXNpYmlsZSwgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgZ2V0IFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuX1Zpc2libGUgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLl9WaXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX1Zpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLm9uQ2VsbEdlbmVyYXRpb24uZW1pdCh7IGlkOiB0aGlzLklELCBoYXNoOiB0aGlzLkNvbnRleHQsIHNlbGY6IHRoaXMgfSk7XHJcblxyXG4gICAgICAgIC8vIFNlIMOoIEludGVybmFsIHNpZ25pZmljYSBjaGUgw6ggZ2VzdGl0YSBpbnRlcm5hbWVudGUgZGEgRVMtVEFCTEUgcXVpbmRpIGV2aXRvIGRpIGZhcmUgc3RpIGR1ZSBwYXNzYWdnaSBkaSBsZXR0dXJhIGRlbCBET01cclxuICAgICAgICBpZiAodGhpcy5JbnRlcm5hbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLkNvbnRlbnQgPSB0aGlzLkRpc3BsYXkgPT09IG51bGwgfHwgdGhpcy5EaXNwbGF5ID09PSBcIlwiID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwpIDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5EaXNwbGF5KTtcclxuICAgICAgICB0aGlzLkNsYXNzID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShcImFwcC1kaXNwbGF5LW5vbmVcIiwgXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRW1hIGNvbW1lbnRhIGdyYXppZVxyXG4gICAgcHVibGljIFZhbGlkYXRpb25FcnJvcjogc3RyaW5nID0gXCJcIjtcclxuICAgIHZhbGlkYXRpb25FcnJvcihpc0Vycm9yOiBib29sZWFuLCBlcnJvcj86IHN0cmluZykgeyBcclxuICAgICAgICB0aGlzLlZhbGlkYXRpb25FcnJvciA9IGlzRXJyb3IgPyBlcnJvciA6IFwiXCI7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbn0iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRkL2VzX3RkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuSCx5RUFBeUU7QUFPekUsTUFBTSxPQUFPLElBQUk7SUFjYixjQUFjO0lBQ2QsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFiMUMsMkVBQTJFO1FBQzNELE9BQUUsR0FBVyxFQUFFLENBQUM7UUFLaEMsMkZBQTJGO1FBQ2pGLHFCQUFnQixHQUF5RCxJQUFJLFlBQVksRUFBMEMsQ0FBQztRQUU5SSw4Q0FBOEM7UUFDdkMsb0JBQWUsR0FBVyxFQUFFLENBQUM7SUFHVSxDQUFDO0lBRS9DLGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCw2RUFBNkU7SUFDdEUsZUFBZSxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUFoQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxTQUFTO2dCQUNuQix5SkFBcUM7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUVsRDs7O1lBUnlFLGlCQUFpQjs7O2lCQVl0RixLQUFLLFNBQUMsT0FBTztzQkFHYixLQUFLOytCQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIHNpbmdvbGEgY2VsbGEgZGVsIGJvZHkgZGVsbGEgdGFiZWxsYSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcIltlcy10ZF1cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXNfdGQuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3R5bGVVcmxzOiBbXCJlc190ZC5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNUZCB7XHJcblxyXG4gICAgLyoqIElkIGRlbGxhIGNlbGxhLCBkZXYnZXNzZXJlIGxvIHN0ZXNzbyBkZWxsYSBjb2xvbm5hICoqRXNUaCoqIHJlbGF0aXZhICovXHJcbiAgICBASW5wdXQoJ2VzLXRkJykgSUQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIENvbnRlc3RvIGRlbGwnb2dnZXR0byBhIGN1aSBzaSByaWZlcmlzY2UgaWwgZGF0byB2aXN1YWxpenphdG8uIENvbnRpZW5lIGwnaGFzaCBkZWxsJ29nZ2V0dG8gaW4gcXVlc3Rpb25lICovXHJcbiAgICBASW5wdXQoKSBDb250ZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFF1YW5kbyBxdWVzdGEgY2VsbGEgdmllbmUgZ2VuZXJhdGEgcXVlc3RvIGV2ZW50byBwZXJtZXR0ZSBkaSBkaXJlIFwiZWhpLCBzb25vIG5hdG8hXCIgICovXHJcbiAgICBAT3V0cHV0KCkgb25DZWxsR2VuZXJhdGlvbjogRXZlbnRFbWl0dGVyPHtpZDogc3RyaW5nLCBoYXNoOiBzdHJpbmcsIHNlbGY6IEVzVGR9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e2lkOiBzdHJpbmcsIGhhc2g6IHN0cmluZywgc2VsZjogRXNUZH0+KCk7XHJcblxyXG4gICAgLyoqIEVycm9yZSBhdHR1YWxtZW50ZSBwcmVzZW50ZSBzdWxsYSBjZWxsYSAqL1xyXG4gICAgcHVibGljIFZhbGlkYXRpb25FcnJvcjogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMub25DZWxsR2VuZXJhdGlvbi5lbWl0KHsgaWQ6IHRoaXMuSUQsIGhhc2g6IHRoaXMuQ29udGV4dCwgc2VsZjogdGhpcyB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQXBpIHBlciBpbXBvc3RhcmUgdW4gXCJlcnJvcmVcIiBzdSBxdWVzdGEgY2VsbGEgaW4gbWFuaWVyYSBwcm9ncmFtbWF0aWNhICovXHJcbiAgICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yKGVycm9yPzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5WYWxpZGF0aW9uRXJyb3IgPSBlcnJvcjtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxufSJdfQ==
@@ -130,7 +130,7 @@ export class EsTh {
130
130
  EsTh.decorators = [
131
131
  { type: Component, args: [{
132
132
  selector: "[es-th]",
133
- template: "<span (click)=\"setupNextOrderAndNotify()\" [class.app-no-selection]=\"!!ID && Orderable\" [class.app-pointer]=\"!!ID && Orderable\">\r\n <span #content>\r\n <ng-container *ngIf=\"Template\">\r\n <ng-container *ngTemplateOutlet=\"Template\"></ng-container>\r\n </ng-container>\r\n <ng-content *ngIf=\"!Template\"></ng-content>\r\n </span>&nbsp;\r\n <span class=\"fa\" [class.fa-chevron-down]=\"Order == 'DESC'\" [class.fa-chevron-up]=\"Order == 'ASC'\"></span>\r\n</span>\r\n<span *ngIf=\"Pinned && !Fixed\" class=\"app-pointer fa fa-thumb-tack est-quick-unpin\" (click)=\"unpin()\"></span>\r\n<div [hidden]=\"!Resizable || Fixed || Pinned\" class=\"est-head-resizer\" (mousedown)=\"onResizeStart($event)\">\r\n <div class=\"est-head-resizer-internal\"></div>\r\n</div>",
133
+ template: "<span (click)=\"setupNextOrderAndNotify()\" [class.app-no-selection]=\"!!ID && Orderable\" [class.app-pointer]=\"!!ID && Orderable\">\r\n <span #content>\r\n <ng-container *ngIf=\"!!Template\">\r\n <ng-container *ngTemplateOutlet=\"Template\"></ng-container>\r\n </ng-container>\r\n <ng-content *ngIf=\"!Template\"></ng-content>\r\n </span>&nbsp;\r\n <span class=\"fa\" [class.fa-chevron-down]=\"Order == 'DESC'\" [class.fa-chevron-up]=\"Order == 'ASC'\"></span>\r\n</span>\r\n<span *ngIf=\"Pinned && !Fixed\" class=\"app-pointer fa fa-thumb-tack est-quick-unpin\" (click)=\"unpin()\"></span>\r\n<div [hidden]=\"!Resizable || Fixed || Pinned\" class=\"est-head-resizer\" (mousedown)=\"onResizeStart($event)\">\r\n <div class=\"est-head-resizer-internal\"></div>\r\n</div>",
134
134
  changeDetection: ChangeDetectionStrategy.OnPush
135
135
  },] }
136
136
  ];
@@ -157,4 +157,4 @@ EsTh.propDecorators = {
157
157
  onMouseUp: [{ type: HostListener, args: ['window:mouseup.out-zone',] }],
158
158
  onMouseMove: [{ type: HostListener, args: ['window:mousemove.out-zone', ['$event'],] }]
159
159
  };
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRoL2VzX3RoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEosMERBQTBEO0FBTTFELE1BQU0sT0FBTyxJQUFJO0lBd0ViLGNBQWM7SUFDZCxZQUFvQixNQUFrQixFQUFVLFFBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdkVuRSwrR0FBK0c7UUFDdkcsY0FBUyxHQUErQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFLL0csNkVBQTZFO1FBQ3JFLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXRDOzs7O1dBSUc7UUFDSyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUVuQyw2RUFBNkU7UUFDN0QsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUtoQyxtREFBbUQ7UUFDMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUVuQyw4SEFBOEg7UUFDckgsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUU5Qix3RUFBd0U7UUFDL0QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQyx5R0FBeUc7UUFDaEcsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFLM0MsZ0dBQWdHO1FBQ3ZGLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFL0IscUlBQXFJO1FB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QztJQUN4RSxDQUFDO0lBRUQscURBQXFEO0lBRTlDLFNBQVM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDZixPQUFPO1FBRVgsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxXQUFXLENBQUMsTUFBTTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ3JDLE9BQU87UUFFWCw0R0FBNEc7UUFDNUcsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFakYsNENBQTRDO1FBQzVDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUF0TEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxTQUFTO2dCQUNuQix5ekJBQXFDO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O1lBUGdELFVBQVU7WUFBYSxTQUFTOzs7aUJBMkI1RSxLQUFLLFNBQUMsT0FBTztvQkFHYixLQUFLO3dCQUdMLEtBQUs7c0JBR0wsS0FBSzt3QkFHTCxLQUFLO3FCQUdMLEtBQUs7K0JBTUwsS0FBSztzQkFHTCxLQUFLO21CQUdMLEtBQUs7b0JBR0wsS0FBSzt1QkFHTCxLQUFLOzRCQUdMLE1BQU07MEJBR04sTUFBTTtzQkFHTixTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtzQkFtQnRDLEtBQUs7d0JBeUVMLFlBQVksU0FBQyx5QkFBeUI7MEJBYXRDLFlBQVksU0FBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBSZW5kZXJlcjIsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIENvbG9ubmEgZGVsbGEgdGFiZWxsYSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcIltlcy10aF1cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXNfdGguY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc1RoIHtcclxuXHJcbiAgICAvKiogRGl6aW9uYXJpbyBkaSBtYXBwYXR1cmEgY29uIG9yZGluYW1lbnRvIGF0dHVhbGUgZSBvcmRpbmFtZW50byBzdWNjZXNzaXZvIHBlciBnZXN0aXJlIGkgcGFzc2FnZ2kgZGkgc3RhdG8gKi9cclxuICAgIHByaXZhdGUgb3JkZXJOZXh0OiB7IFtpbmRleDogc3RyaW5nXTogJ0RFU0MnIHwgJ0FTQycgfCBudWxsIH0gPSB7IFwiTk9ORVwiOiBcIkRFU0NcIiwgXCJERVNDXCI6IFwiQVNDXCIsIFwiQVNDXCI6IG51bGwgfTtcclxuXHJcbiAgICAvKiogSW5kaWNhemlvbmUgc3VsbGEgdmlzaWJpbGl0w6AgZGVsbGEgY29sb25uYSAqL1xyXG4gICAgcHJpdmF0ZSBfVmlzaWJsZTogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHNpIHN0YSBlZmZldHR1YW5kbyB1bidvcGVyYXppb25lIGRpIHJlc2l6ZSBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgcHJpdmF0ZSByZXNpemluZ1RoaXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0b3JpY2l6emEgbCdvZmZzZXQgZGkgcGFydGVuemEgZGVsIHJlc2l6ZSBkZWxsJ2VsZW1lbnRvIEhUTUwgcGVyIHBvdGVyIGNhbGNvbGFyZSBsYSBudW92YSBkaW1lbnNpb25lIHJpY2hpZXN0YSBkdXJlbnRlIGlsIHJlc2l6ZSBcclxuICAgICAqIFxyXG4gICAgICogbnVvdmEgd2lkdGggPSBzdGFydE9mZnNldCArIHBvc2l6aW9uZSBYIGRlbCBtb3VzZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXJ0T2Zmc2V0OiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAgIC8qKiBJZCBkZWxsYSBjb2xvbm5hLCBkZXYnZXNzZXJlIGxvIHN0ZXNzbyBwZXIgdHV0dGkgZ2xpICoqRXNUZCoqIHJlbGF0aXZpICovXHJcbiAgICBASW5wdXQoJ2VzLXRoJykgSUQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIE9yZGluYW1lbnRvIGF0dHVhbGUgZGVsbGEgY29sb25uYSAqL1xyXG4gICAgQElucHV0KCkgT3JkZXI/OiAnREVTQycgfCAnQVNDJztcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHF1ZXN0YSBjb2xvbm5hIMOoIG9yZGluYWJpbGUgbyBtZW5vICovXHJcbiAgICBASW5wdXQoKSBPcmRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBWYWxvcmUgZGEgbW9zdHJhcmUgYWxsJ2ludGVybm8gZGVsbGEgY29sb25uYS4gU2Ugb21lc3NvIHZlcnLDoCBwcm9pZXR0YXRvIGlsIGNvbnRlbnV0byBkYWwgdGVtcGxhdGUgaW4gY3VpIMOoIHN0YXRhIHVzYXRhICovXHJcbiAgICBASW5wdXQoKSBEaXNwbGF5OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGUgZGltbnNpb25pIGRpIHF1ZXN0YSBjb2xvbm5hIHNvbm8gbW9kaWZpY2FiaWxpIG8gbWVubyAqL1xyXG4gICAgQElucHV0KCkgUmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBxdWVzdG8gaGVhZGVyIMOoIHBpbm5hdG8uIEluIGNhc28gbG8gZm9zc2UgcHJlc2VudGEgaWwgdGFzdGlubyBwZXIgZWZmZXR0dWFyZSBsbyBzcGlubmluZyAqL1xyXG4gICAgQElucHV0KCkgUGlubmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2Ugc3RhIHZlbmVuZG8gZXNlZ3VpdGEgdW5hIG9wZXJhemlvbmUgZGkgcmljZXJjYSBvIG1lbm8sIHNlcnZlIHBlciBldml0YXJlIGwnZXNlY3V6aW9uZSBkaSBldmVudHVhbGUgY29kaWNlIGNoZSBwb3RyZWJiZSBkYXJlIGZhc3RpZGlvIFxyXG4gICAgICogY29tZSBhZCBlc2VtcGlvIGwnZXNjdXppb25lIGRpIHVuIG9yZGluYW1lbnRvIGR1cmFudGUgaWwgY2FyaWNhbWVudG8gZGkgZGF0aSBudW92aVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBTZWFyY2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEltcG9zdGF0byBkYWxsJyoqRXNUYWJsZSoqLCBzZXJ2ZSBwZXIgcGVybWV0dGVyZSBvIG1lbm8gZGkgZWZmZXR0dWFyZSBvcmRpbmFtZW50aSBkYXRpIHN1IHF1ZXN0YSBjb2xvbm5hICovXHJcbiAgICBASW5wdXQoKSBPcmRlckJ5OiBib29sZWFuO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgaWwgdGVzdG8gcHJlc2VudGUgaW4gcXVlc3RvIEhlYWRlciBwdcOyIGFuZGFyZSBhIGNhcG8gbyBtZW5vLCBkaSBkZWZhdWx0IG5vbiBwdcOyICovXHJcbiAgICBASW5wdXQoKSBXcmFwOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBsYSBjb2xvbm5hIMOoIGZpeGVkLCBjaW/DqCBzZSBub24gcHXDsiBuw6kgZXNzZXJlIG5hc2Nvc3RhLCBuw6kgcmlwb3NpemlvbmF0YS4gU29sbyBsZSBwcmltZSBjb2xvbm5lIHBvc3Nvbm8gZXNzZXJlIEZpeGVkICovXHJcbiAgICBASW5wdXQoKSBGaXhlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBUZW1wbGF0ZSBBbmd1bGFyIGRhIGlzdGFuemlhcmUgcGVyIHF1ZXN0byBUSCAqL1xyXG4gICAgQElucHV0KCkgVGVtcGxhdGU/OiBhbnkgPSBudWxsO1xyXG5cclxuICAgIC8qKiBFdmVudG8gZW1lc3NvIGFsIGNhbWJpbyBkaSBvcmRpbmFtZW50byBlZmZldHR1YXRvIHN1IHF1ZXN0YSBjb2xvbm5hICovXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uT3JkZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjwnREVTQycgfCAnQVNDJyB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjwnREVTQycgfCAnQVNDJyB8IG51bGw+KCk7XHJcblxyXG4gICAgLyoqIEV2ZW50byBlbWVzc28gYWxsJ3VucGlubmluZyBkZWxsYSBjb2xvbm5hICovXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uVW5waW5uaW5nOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKiBQcm9pZXppb25lIGRlbCBjb250ZW51dG8gZGkgcXVlc3RhIGNvbG9ubmEgKi9cclxuICAgIEBWaWV3Q2hpbGQoXCJjb250ZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIC8qKiBDbGFzc2kgZGEgYXBwbGljYXJlIGFsbGEgY29sb25uYSAqL1xyXG4gICAgcHVibGljIENsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEltcG9zdGF0byBkYWxsJyoqRXNUYWJsZSoqLCBwZXIgY29udHJvbGxhcmUgY2hlIGNpIHNpYSBhbG1lbm8gdW4gVEQgY2hlIHV0aWxpenppIHF1ZXN0J2hlYWRlciAqL1xyXG4gICAgcHVibGljIF9yZWZlcmVuY2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIFZhcmlhYmlsZSBmaW5hbGUgc3UgY3VpIMOoIGJpbmRhdG8gaWwgY29udGVudXRvIGRlbGxhIGNlbGxhLiBTYXLDoCB2YWxvcml6emF0byBhICoqRGlzcGxheSoqIHNlIHNwZWNpZmljYXRvLCBhbGwnKippbm5lckhUTUwqKiBkZWxsJ2VsZW1lbnRvIHByb2lldHRhdG8gYWx0cmltZW50aSAqL1xyXG4gICAgcHVibGljIERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXlzZWxmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBsYSB2aXNpYmlsaXTDoCBvIG1lbm8gZGVsbGEgY29sb25uYSwgc2kgdHJhZHVjZSBuZWxsJ2FwcGxpY2F6aW9uZSBvIHJpbW96aW9uZSBkZWxsYSBjbGFzc2UgKiphcHAtZGlzcGxheS1ub25lKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBleHByZXNzaW9uIEluZGljYXppb25lIGRlbGxhIHZpc2liaWxpdMOgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBWaXNpYmxlKGV4cHJlc3Npb246IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9WaXNpYmxlID0gZXhwcmVzc2lvbjtcclxuXHJcbiAgICAgICAgaWYgKGV4cHJlc3Npb24pXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSBsbyBzdGF0byBkaSBWaXNpYmlsaXTDoCBkZWxsYSBjb2xvbm5hIGluIG9nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIHZpc2liaWxlLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBnZXQgVmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5fVmlzaWJsZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX1Zpc2libGUgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fVmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vQXNzZWduYXJlIGRpcmV0dGFtZW50ZSBpbCBjb250ZW50IMOoIHBpw7kgdmVsb2NlIGNoZSBwYXNzYXJlIGRhbCBuYXRpdmUgZWxlbWVudCBwZXIgcXVhbGNoZSBtb3Rpdm9cclxuICAgICAgICB0aGlzLkRlc2NyaXB0aW9uID0gdGhpcy5EaXNwbGF5ID09PSBudWxsIHx8IHRoaXMuRGlzcGxheSA9PT0gXCJcIiA/IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA6IHRoaXMuRGlzcGxheTtcclxuXHJcbiAgICAgICAgdGhpcy5DbGFzcyA9IHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoXCJhcHAtZGlzcGxheS1ub25lXCIsIFwiXCIpO1xyXG5cclxuICAgICAgICAvL1Jlc2l6ZVxyXG4gICAgICAgIGlmICh0aGlzLlJlc2l6YWJsZSlcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1yZWxhdGl2ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRW1ldHRlIGwnZXZlbnRvIGRpIHVucGlubmluZyAqL1xyXG4gICAgdW5waW4oKSB7XHJcbiAgICAgICAgdGhpcy5vblVucGlubmluZy5lbWl0KHRoaXMuSUQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBHZXN0aXNjZSBsYSBtb2RpZmljYSBkZWxsJ29yZGluYW1lbnRvIHF1YWxvcmEgdmVuaXNzZSBjbGljY2F0byBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgc2V0dXBOZXh0T3JkZXJBbmROb3RpZnkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLklEKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQXR0ZW1wdCB0byBvcmRlciBhIGNvbHVtbiB3aXRob3V0IElELiBPcGVyYXRpb24gaWdub3JlZFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoSW5Qcm9ncmVzcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkF0dGVtcHQgdG8gb3JkZXIgYSBjb2x1bW4gZHVyaW5nIGEgc2VhcmNoLiBPcGVyYXRpb24gaWdub3JlZFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLk9yZGVyQnkgfHwgIXRoaXMuT3JkZXJhYmxlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHZhciBuZXh0T3JkZXIgPSB0aGlzLm9yZGVyTmV4dFt0aGlzLk9yZGVyIHx8IFwiTk9ORVwiXTtcclxuICAgICAgICB0aGlzLk9yZGVyID0gbmV4dE9yZGVyO1xyXG5cclxuICAgICAgICB0aGlzLm9uT3JkZXJDaGFuZ2UuZW1pdCh0aGlzLk9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBkaSBpbml6aW8gcmVzaXplIGRlbGxhIGNvbG9ubmFcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IGV2IEV2ZW50byBNb3VzZURvd25cclxuICAgICAqL1xyXG4gICAgb25SZXNpemVTdGFydChldikge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5yZXNpemluZ1RoaXMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRPZmZzZXQgPSB0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gZXYucGFnZVg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIExpc3RlbmVyIHBlciBsYSBmaW5lIGRlbGwnb3BlcmF6aW9uZSBkaSByZXNpemUgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXVwLm91dC16b25lJylcclxuICAgIHB1YmxpYyBvbk1vdXNlVXAoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLlJlc2l6YWJsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLnJlc2l6aW5nVGhpcyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGlzdGVuZXIgcGVyIGdlc3RpcmUgaWwgbW92aW1lbnRvIGRlbCBtb3VzZSBxdWFsb3JhIHVuJ29wZXJhemlvbmUgZGkgcmVzaXplIGZvc3NlIGluIGVzZWN1emlvbmVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHskZXZlbnR9IGV2IEV2ZW50byBNb3VzZU1vdmVcclxuICAgICAqL1xyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNlbW92ZS5vdXQtem9uZScsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25Nb3VzZU1vdmUoJGV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLlJlc2l6YWJsZSB8fCAhdGhpcy5yZXNpemluZ1RoaXMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgLy9Vc28ganF1ZXJ5IHBlciBub24gZG92ZXIgZmFyIHBhcnRpcmUgdW4gaW50ZXJvIGNpY2xvIGRpIGNoYW5nZSBkZXRlY3Rpb24gc29sbyBwZXIgZmFyZSB1biByZXNpemUgZGVsIGNhenpvXHJcbiAgICAgICAgLy8oYW5jaGUgcGVyY2jDqSB2aWVuZSBsYW5jaWF0byBvZ25pIDAuMSBzZWNvbmRvIHF1aW5kaSBub3QgYSBnb29kIGlkZWEpXHJcbiAgICAgICAgdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9ICh0aGlzLnN0YXJ0T2Zmc2V0ICsgJGV2ZW50LnBhZ2VYKSArIFwicHhcIjtcclxuXHJcbiAgICAgICAgLy9GZXJtbyBpbCBidWJibGluZyBwZXIgbm9uIGZhcmUgY29zZSBzdHJhbmVcclxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxufSJdfQ==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2VzLXRoL2VzX3RoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEosMERBQTBEO0FBTTFELE1BQU0sT0FBTyxJQUFJO0lBd0ViLGNBQWM7SUFDZCxZQUFvQixNQUFrQixFQUFVLFFBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBdkVuRSwrR0FBK0c7UUFDdkcsY0FBUyxHQUErQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFLL0csNkVBQTZFO1FBQ3JFLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXRDOzs7O1dBSUc7UUFDSyxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUVuQyw2RUFBNkU7UUFDN0QsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUtoQyxtREFBbUQ7UUFDMUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUVuQyw4SEFBOEg7UUFDckgsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUU5Qix3RUFBd0U7UUFDL0QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQyx5R0FBeUc7UUFDaEcsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFLM0MsZ0dBQWdHO1FBQ3ZGLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFL0IscUlBQXFJO1FB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QztJQUN4RSxDQUFDO0lBRUQscURBQXFEO0lBRTlDLFNBQVM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDZixPQUFPO1FBRVgsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxXQUFXLENBQUMsTUFBTTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQ3JDLE9BQU87UUFFWCw0R0FBNEc7UUFDNUcsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFakYsNENBQTRDO1FBQzVDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUF0TEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxTQUFTO2dCQUNuQiwyekJBQXFDO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O1lBUGdELFVBQVU7WUFBYSxTQUFTOzs7aUJBMkI1RSxLQUFLLFNBQUMsT0FBTztvQkFHYixLQUFLO3dCQUdMLEtBQUs7c0JBR0wsS0FBSzt3QkFHTCxLQUFLO3FCQUdMLEtBQUs7K0JBTUwsS0FBSztzQkFHTCxLQUFLO21CQUdMLEtBQUs7b0JBR0wsS0FBSzt1QkFHTCxLQUFLOzRCQUdMLE1BQU07MEJBR04sTUFBTTtzQkFHTixTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtzQkFtQnRDLEtBQUs7d0JBeUVMLFlBQVksU0FBQyx5QkFBeUI7MEJBYXRDLFlBQVksU0FBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBSZW5kZXJlcjIsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIENvbG9ubmEgZGVsbGEgdGFiZWxsYSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcIltlcy10aF1cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXNfdGguY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc1RoIHtcclxuXHJcbiAgICAvKiogRGl6aW9uYXJpbyBkaSBtYXBwYXR1cmEgY29uIG9yZGluYW1lbnRvIGF0dHVhbGUgZSBvcmRpbmFtZW50byBzdWNjZXNzaXZvIHBlciBnZXN0aXJlIGkgcGFzc2FnZ2kgZGkgc3RhdG8gKi9cclxuICAgIHByaXZhdGUgb3JkZXJOZXh0OiB7IFtpbmRleDogc3RyaW5nXTogJ0RFU0MnIHwgJ0FTQycgfCBudWxsIH0gPSB7IFwiTk9ORVwiOiBcIkRFU0NcIiwgXCJERVNDXCI6IFwiQVNDXCIsIFwiQVNDXCI6IG51bGwgfTtcclxuXHJcbiAgICAvKiogSW5kaWNhemlvbmUgc3VsbGEgdmlzaWJpbGl0w6AgZGVsbGEgY29sb25uYSAqL1xyXG4gICAgcHJpdmF0ZSBfVmlzaWJsZTogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHNpIHN0YSBlZmZldHR1YW5kbyB1bidvcGVyYXppb25lIGRpIHJlc2l6ZSBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgcHJpdmF0ZSByZXNpemluZ1RoaXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFN0b3JpY2l6emEgbCdvZmZzZXQgZGkgcGFydGVuemEgZGVsIHJlc2l6ZSBkZWxsJ2VsZW1lbnRvIEhUTUwgcGVyIHBvdGVyIGNhbGNvbGFyZSBsYSBudW92YSBkaW1lbnNpb25lIHJpY2hpZXN0YSBkdXJlbnRlIGlsIHJlc2l6ZSBcclxuICAgICAqIFxyXG4gICAgICogbnVvdmEgd2lkdGggPSBzdGFydE9mZnNldCArIHBvc2l6aW9uZSBYIGRlbCBtb3VzZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHN0YXJ0T2Zmc2V0OiBudW1iZXIgPSBudWxsO1xyXG5cclxuICAgIC8qKiBJZCBkZWxsYSBjb2xvbm5hLCBkZXYnZXNzZXJlIGxvIHN0ZXNzbyBwZXIgdHV0dGkgZ2xpICoqRXNUZCoqIHJlbGF0aXZpICovXHJcbiAgICBASW5wdXQoJ2VzLXRoJykgSUQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqIE9yZGluYW1lbnRvIGF0dHVhbGUgZGVsbGEgY29sb25uYSAqL1xyXG4gICAgQElucHV0KCkgT3JkZXI/OiAnREVTQycgfCAnQVNDJztcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIHF1ZXN0YSBjb2xvbm5hIMOoIG9yZGluYWJpbGUgbyBtZW5vICovXHJcbiAgICBASW5wdXQoKSBPcmRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBWYWxvcmUgZGEgbW9zdHJhcmUgYWxsJ2ludGVybm8gZGVsbGEgY29sb25uYS4gU2Ugb21lc3NvIHZlcnLDoCBwcm9pZXR0YXRvIGlsIGNvbnRlbnV0byBkYWwgdGVtcGxhdGUgaW4gY3VpIMOoIHN0YXRhIHVzYXRhICovXHJcbiAgICBASW5wdXQoKSBEaXNwbGF5OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGUgZGltbnNpb25pIGRpIHF1ZXN0YSBjb2xvbm5hIHNvbm8gbW9kaWZpY2FiaWxpIG8gbWVubyAqL1xyXG4gICAgQElucHV0KCkgUmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBxdWVzdG8gaGVhZGVyIMOoIHBpbm5hdG8uIEluIGNhc28gbG8gZm9zc2UgcHJlc2VudGEgaWwgdGFzdGlubyBwZXIgZWZmZXR0dWFyZSBsbyBzcGlubmluZyAqL1xyXG4gICAgQElucHV0KCkgUGlubmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2Ugc3RhIHZlbmVuZG8gZXNlZ3VpdGEgdW5hIG9wZXJhemlvbmUgZGkgcmljZXJjYSBvIG1lbm8sIHNlcnZlIHBlciBldml0YXJlIGwnZXNlY3V6aW9uZSBkaSBldmVudHVhbGUgY29kaWNlIGNoZSBwb3RyZWJiZSBkYXJlIGZhc3RpZGlvIFxyXG4gICAgICogY29tZSBhZCBlc2VtcGlvIGwnZXNjdXppb25lIGRpIHVuIG9yZGluYW1lbnRvIGR1cmFudGUgaWwgY2FyaWNhbWVudG8gZGkgZGF0aSBudW92aVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBTZWFyY2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEltcG9zdGF0byBkYWxsJyoqRXNUYWJsZSoqLCBzZXJ2ZSBwZXIgcGVybWV0dGVyZSBvIG1lbm8gZGkgZWZmZXR0dWFyZSBvcmRpbmFtZW50aSBkYXRpIHN1IHF1ZXN0YSBjb2xvbm5hICovXHJcbiAgICBASW5wdXQoKSBPcmRlckJ5OiBib29sZWFuO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgaWwgdGVzdG8gcHJlc2VudGUgaW4gcXVlc3RvIEhlYWRlciBwdcOyIGFuZGFyZSBhIGNhcG8gbyBtZW5vLCBkaSBkZWZhdWx0IG5vbiBwdcOyICovXHJcbiAgICBASW5wdXQoKSBXcmFwOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBsYSBjb2xvbm5hIMOoIGZpeGVkLCBjaW/DqCBzZSBub24gcHXDsiBuw6kgZXNzZXJlIG5hc2Nvc3RhLCBuw6kgcmlwb3NpemlvbmF0YS4gU29sbyBsZSBwcmltZSBjb2xvbm5lIHBvc3Nvbm8gZXNzZXJlIEZpeGVkICovXHJcbiAgICBASW5wdXQoKSBGaXhlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBUZW1wbGF0ZSBBbmd1bGFyIGRhIGlzdGFuemlhcmUgcGVyIHF1ZXN0byBUSCAqL1xyXG4gICAgQElucHV0KCkgVGVtcGxhdGU/OiBhbnkgPSBudWxsO1xyXG5cclxuICAgIC8qKiBFdmVudG8gZW1lc3NvIGFsIGNhbWJpbyBkaSBvcmRpbmFtZW50byBlZmZldHR1YXRvIHN1IHF1ZXN0YSBjb2xvbm5hICovXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uT3JkZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjwnREVTQycgfCAnQVNDJyB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjwnREVTQycgfCAnQVNDJyB8IG51bGw+KCk7XHJcblxyXG4gICAgLyoqIEV2ZW50byBlbWVzc28gYWxsJ3VucGlubmluZyBkZWxsYSBjb2xvbm5hICovXHJcbiAgICBAT3V0cHV0KCkgcHVibGljIG9uVW5waW5uaW5nOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKiBQcm9pZXppb25lIGRlbCBjb250ZW51dG8gZGkgcXVlc3RhIGNvbG9ubmEgKi9cclxuICAgIEBWaWV3Q2hpbGQoXCJjb250ZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIC8qKiBDbGFzc2kgZGEgYXBwbGljYXJlIGFsbGEgY29sb25uYSAqL1xyXG4gICAgcHVibGljIENsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEltcG9zdGF0byBkYWxsJyoqRXNUYWJsZSoqLCBwZXIgY29udHJvbGxhcmUgY2hlIGNpIHNpYSBhbG1lbm8gdW4gVEQgY2hlIHV0aWxpenppIHF1ZXN0J2hlYWRlciAqL1xyXG4gICAgcHVibGljIF9yZWZlcmVuY2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIFZhcmlhYmlsZSBmaW5hbGUgc3UgY3VpIMOoIGJpbmRhdG8gaWwgY29udGVudXRvIGRlbGxhIGNlbGxhLiBTYXLDoCB2YWxvcml6emF0byBhICoqRGlzcGxheSoqIHNlIHNwZWNpZmljYXRvLCBhbGwnKippbm5lckhUTUwqKiBkZWxsJ2VsZW1lbnRvIHByb2lldHRhdG8gYWx0cmltZW50aSAqL1xyXG4gICAgcHVibGljIERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXlzZWxmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBsYSB2aXNpYmlsaXTDoCBvIG1lbm8gZGVsbGEgY29sb25uYSwgc2kgdHJhZHVjZSBuZWxsJ2FwcGxpY2F6aW9uZSBvIHJpbW96aW9uZSBkZWxsYSBjbGFzc2UgKiphcHAtZGlzcGxheS1ub25lKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBleHByZXNzaW9uIEluZGljYXppb25lIGRlbGxhIHZpc2liaWxpdMOgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBWaXNpYmxlKGV4cHJlc3Npb246IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9WaXNpYmxlID0gZXhwcmVzc2lvbjtcclxuXHJcbiAgICAgICAgaWYgKGV4cHJlc3Npb24pXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSBsbyBzdGF0byBkaSBWaXNpYmlsaXTDoCBkZWxsYSBjb2xvbm5hIGluIG9nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIHZpc2liaWxlLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBnZXQgVmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5fVmlzaWJsZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX1Zpc2libGUgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fVmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vQXNzZWduYXJlIGRpcmV0dGFtZW50ZSBpbCBjb250ZW50IMOoIHBpw7kgdmVsb2NlIGNoZSBwYXNzYXJlIGRhbCBuYXRpdmUgZWxlbWVudCBwZXIgcXVhbGNoZSBtb3Rpdm9cclxuICAgICAgICB0aGlzLkRlc2NyaXB0aW9uID0gdGhpcy5EaXNwbGF5ID09PSBudWxsIHx8IHRoaXMuRGlzcGxheSA9PT0gXCJcIiA/IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA6IHRoaXMuRGlzcGxheTtcclxuXHJcbiAgICAgICAgdGhpcy5DbGFzcyA9IHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoXCJhcHAtZGlzcGxheS1ub25lXCIsIFwiXCIpO1xyXG5cclxuICAgICAgICAvL1Jlc2l6ZVxyXG4gICAgICAgIGlmICh0aGlzLlJlc2l6YWJsZSlcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1yZWxhdGl2ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRW1ldHRlIGwnZXZlbnRvIGRpIHVucGlubmluZyAqL1xyXG4gICAgdW5waW4oKSB7XHJcbiAgICAgICAgdGhpcy5vblVucGlubmluZy5lbWl0KHRoaXMuSUQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBHZXN0aXNjZSBsYSBtb2RpZmljYSBkZWxsJ29yZGluYW1lbnRvIHF1YWxvcmEgdmVuaXNzZSBjbGljY2F0byBzdSBxdWVzdGEgY29sb25uYSAqL1xyXG4gICAgc2V0dXBOZXh0T3JkZXJBbmROb3RpZnkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLklEKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQXR0ZW1wdCB0byBvcmRlciBhIGNvbHVtbiB3aXRob3V0IElELiBPcGVyYXRpb24gaWdub3JlZFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuU2VhcmNoSW5Qcm9ncmVzcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkF0dGVtcHQgdG8gb3JkZXIgYSBjb2x1bW4gZHVyaW5nIGEgc2VhcmNoLiBPcGVyYXRpb24gaWdub3JlZFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLk9yZGVyQnkgfHwgIXRoaXMuT3JkZXJhYmxlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHZhciBuZXh0T3JkZXIgPSB0aGlzLm9yZGVyTmV4dFt0aGlzLk9yZGVyIHx8IFwiTk9ORVwiXTtcclxuICAgICAgICB0aGlzLk9yZGVyID0gbmV4dE9yZGVyO1xyXG5cclxuICAgICAgICB0aGlzLm9uT3JkZXJDaGFuZ2UuZW1pdCh0aGlzLk9yZGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBkaSBpbml6aW8gcmVzaXplIGRlbGxhIGNvbG9ubmFcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IGV2IEV2ZW50byBNb3VzZURvd25cclxuICAgICAqL1xyXG4gICAgb25SZXNpemVTdGFydChldikge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5yZXNpemluZ1RoaXMgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRPZmZzZXQgPSB0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gZXYucGFnZVg7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIExpc3RlbmVyIHBlciBsYSBmaW5lIGRlbGwnb3BlcmF6aW9uZSBkaSByZXNpemUgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZXVwLm91dC16b25lJylcclxuICAgIHB1YmxpYyBvbk1vdXNlVXAoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLlJlc2l6YWJsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLnJlc2l6aW5nVGhpcyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGlzdGVuZXIgcGVyIGdlc3RpcmUgaWwgbW92aW1lbnRvIGRlbCBtb3VzZSBxdWFsb3JhIHVuJ29wZXJhemlvbmUgZGkgcmVzaXplIGZvc3NlIGluIGVzZWN1emlvbmVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHskZXZlbnR9IGV2IEV2ZW50byBNb3VzZU1vdmVcclxuICAgICAqL1xyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNlbW92ZS5vdXQtem9uZScsIFsnJGV2ZW50J10pXHJcbiAgICBwdWJsaWMgb25Nb3VzZU1vdmUoJGV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLlJlc2l6YWJsZSB8fCAhdGhpcy5yZXNpemluZ1RoaXMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgLy9Vc28ganF1ZXJ5IHBlciBub24gZG92ZXIgZmFyIHBhcnRpcmUgdW4gaW50ZXJvIGNpY2xvIGRpIGNoYW5nZSBkZXRlY3Rpb24gc29sbyBwZXIgZmFyZSB1biByZXNpemUgZGVsIGNhenpvXHJcbiAgICAgICAgLy8oYW5jaGUgcGVyY2jDqSB2aWVuZSBsYW5jaWF0byBvZ25pIDAuMSBzZWNvbmRvIHF1aW5kaSBub3QgYSBnb29kIGlkZWEpXHJcbiAgICAgICAgdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9ICh0aGlzLnN0YXJ0T2Zmc2V0ICsgJGV2ZW50LnBhZ2VYKSArIFwicHhcIjtcclxuXHJcbiAgICAgICAgLy9GZXJtbyBpbCBidWJibGluZyBwZXIgbm9uIGZhcmUgY29zZSBzdHJhbmVcclxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,36 @@
1
+ // Angular
2
+ import { Pipe } from "@angular/core";
3
+ // Services
4
+ import { Logger } from "../../core/Logger";
5
+ export class EstRendererPipe {
6
+ constructor(logger) {
7
+ this.logger = logger;
8
+ }
9
+ transform(propName, params) {
10
+ var EsTd = null;
11
+ // Perf. Version di `params.src.find((item) => params.name ? item.td === params.name : item.tdForProperty === propName);`
12
+ for (let i = 0; i < params.src.length; i++) {
13
+ let item = params.src.get(i);
14
+ if (params.name && item.td === params.name ||
15
+ !params.name && item.tdForProperty === propName) {
16
+ EsTd = item;
17
+ break;
18
+ }
19
+ }
20
+ // Name non trovato, fallback al nome della colonna
21
+ if (propName && params.name && !EsTd) {
22
+ this.logger.log(`Renderer retrieved in a non performant way`);
23
+ EsTd = params.src.find((item) => item.tdForProperty === propName);
24
+ }
25
+ this.logger.log(`Renderer ${EsTd ? 'found' : 'NOT found'} for '${propName}${params.name ? '/' + params.name : ''}'${!EsTd ? '. Using fallback renderer' : ''}`);
26
+ var ret = EsTd ? EsTd.Template : params.fallback;
27
+ return ret;
28
+ }
29
+ }
30
+ EstRendererPipe.decorators = [
31
+ { type: Pipe, args: [{ name: 'est_renderer' },] }
32
+ ];
33
+ EstRendererPipe.ctorParameters = () => [
34
+ { type: Logger }
35
+ ];
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0LXJlbmRlcmVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvbXBvbmVudHMvcGlwZXMvZXN0LXJlbmRlcmVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxJQUFJLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRS9ELFdBQVc7QUFDWCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFNM0MsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0lBRXZDLFNBQVMsQ0FBQyxRQUFnQixFQUFFLE1BQXNFO1FBRTlGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQix5SEFBeUg7UUFDekgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hDLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxJQUFJO2dCQUN0QyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUU7Z0JBQ2pELElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ1osTUFBTTthQUNUO1NBQ0o7UUFFRCxtREFBbUQ7UUFDbkQsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQzlELElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUMsQ0FBQztTQUNyRTtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsU0FBUyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEssSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRWpELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7O1lBNUJKLElBQUksU0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUU7OztZQUxyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBRdWVyeUxpc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gU2VydmljZXNcclxuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL2NvcmUvTG9nZ2VyXCI7XHJcblxyXG4vLyBDb21wb25lbnRpIC8gRGlyZXR0aXZlXHJcbmltcG9ydCB7IEVzVGREaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9lc190ZC5kaXJlY3RpdmVcIjtcclxuXHJcbkBQaXBlKHsgbmFtZTogJ2VzdF9yZW5kZXJlcicgfSlcclxuZXhwb3J0IGNsYXNzIEVzdFJlbmRlcmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIpIHsgfVxyXG5cclxuICAgIHRyYW5zZm9ybShwcm9wTmFtZTogc3RyaW5nLCBwYXJhbXM6IHsgbmFtZTogc3RyaW5nLCBzcmM6IFF1ZXJ5TGlzdDxFc1RkRGlyZWN0aXZlPiwgZmFsbGJhY2s6IGFueSB9KSB7XHJcblxyXG4gICAgICAgIHZhciBFc1RkID0gbnVsbDtcclxuICAgICAgICAvLyBQZXJmLiBWZXJzaW9uIGRpIGBwYXJhbXMuc3JjLmZpbmQoKGl0ZW0pID0+IHBhcmFtcy5uYW1lID8gaXRlbS50ZCA9PT0gcGFyYW1zLm5hbWUgOiBpdGVtLnRkRm9yUHJvcGVydHkgPT09IHByb3BOYW1lKTtgXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbXMuc3JjLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtID0gcGFyYW1zLnNyYy5nZXQoaSk7XHJcbiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSAmJiBpdGVtLnRkID09PSBwYXJhbXMubmFtZSB8fFxyXG4gICAgICAgICAgICAgICAgIXBhcmFtcy5uYW1lICYmIGl0ZW0udGRGb3JQcm9wZXJ0eSA9PT0gcHJvcE5hbWUpIHtcclxuICAgICAgICAgICAgICAgIEVzVGQgPSBpdGVtO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE5hbWUgbm9uIHRyb3ZhdG8sIGZhbGxiYWNrIGFsIG5vbWUgZGVsbGEgY29sb25uYVxyXG4gICAgICAgIGlmIChwcm9wTmFtZSAmJiBwYXJhbXMubmFtZSAmJiAhRXNUZCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5sb2coYFJlbmRlcmVyIHJldHJpZXZlZCBpbiBhIG5vbiBwZXJmb3JtYW50IHdheWApO1xyXG4gICAgICAgICAgICBFc1RkID0gcGFyYW1zLnNyYy5maW5kKChpdGVtKSA9PiBpdGVtLnRkRm9yUHJvcGVydHkgPT09IHByb3BOYW1lKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgUmVuZGVyZXIgJHtFc1RkID8gJ2ZvdW5kJyA6ICdOT1QgZm91bmQnfSBmb3IgJyR7cHJvcE5hbWV9JHtwYXJhbXMubmFtZSA/ICcvJyArIHBhcmFtcy5uYW1lIDogJyd9JyR7IUVzVGQgPyAnLiBVc2luZyBmYWxsYmFjayByZW5kZXJlcicgOiAnJ31gKTtcclxuICAgICAgICB2YXIgcmV0ID0gRXNUZCA/IEVzVGQuVGVtcGxhdGUgOiBwYXJhbXMuZmFsbGJhY2s7XHJcblxyXG4gICAgICAgIHJldHVybiByZXQ7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,37 @@
1
+ import { Pipe } from "@angular/core";
2
+ export class EstRouterLinkPipe {
3
+ constructor() {
4
+ /** Cache per i routerLink generati nelle tabelle dinamiche */
5
+ this.routerLinksCache = {};
6
+ }
7
+ transform(item, path, parameters) {
8
+ if (this.routerLinksCache[item._hash + path]) {
9
+ return this.routerLinksCache[item._hash + path];
10
+ }
11
+ else {
12
+ let link = this.getRouterLink(path, parameters, item);
13
+ this.routerLinksCache[item._hash + path] = link;
14
+ return link;
15
+ }
16
+ }
17
+ /**
18
+ * Crea un router link
19
+ *
20
+ * @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
21
+ * @param {string[]} pars Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
22
+ * Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
23
+ * @param {any} item Oggetto collegato a questo contesto. Può essere un oggetto generico (con "properties") o un oggetto ben definito
24
+ *
25
+ * @returns {any} Router link generato in base al parametri
26
+ */
27
+ getRouterLink(path, pars, item) {
28
+ for (let i = 0; i < pars.length; i++)
29
+ path = path.replace('{' + i + '}', item.properties ? item.properties[pars[i]] : item[pars[i]]);
30
+ path = path.replace(/'/g, '"').replace(/ /g, '');
31
+ return JSON.parse(path);
32
+ }
33
+ }
34
+ EstRouterLinkPipe.decorators = [
35
+ { type: Pipe, args: [{ name: 'est_routerlink' },] }
36
+ ];
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0LXJvdXRlcmxpbmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29tcG9uZW50cy9waXBlcy9lc3Qtcm91dGVybGluay5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFHSSw4REFBOEQ7UUFDdkQscUJBQWdCLEdBQU8sRUFBRSxDQUFDO0lBOEJyQyxDQUFDO0lBNUJHLFNBQVMsQ0FBQyxJQUFTLEVBQUUsSUFBWSxFQUFFLFVBQW9CO1FBQ25ELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUU7WUFDMUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0gsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNLLGFBQWEsQ0FBQyxJQUFZLEVBQUUsSUFBYyxFQUFFLElBQVM7UUFFekQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5HLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFqQ0osSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdlc3Rfcm91dGVybGluaycgfSlcclxuZXhwb3J0IGNsYXNzIEVzdFJvdXRlckxpbmtQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgLyoqIENhY2hlIHBlciBpIHJvdXRlckxpbmsgZ2VuZXJhdGkgbmVsbGUgdGFiZWxsZSBkaW5hbWljaGUgKi9cclxuICAgIHB1YmxpYyByb3V0ZXJMaW5rc0NhY2hlOiB7fSA9IHt9O1xyXG5cclxuICAgIHRyYW5zZm9ybShpdGVtOiBhbnksIHBhdGg6IHN0cmluZywgcGFyYW1ldGVyczogc3RyaW5nW10pIHtcclxuICAgICAgICBpZiAodGhpcy5yb3V0ZXJMaW5rc0NhY2hlW2l0ZW0uX2hhc2ggKyBwYXRoXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXJMaW5rc0NhY2hlW2l0ZW0uX2hhc2ggKyBwYXRoXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgbGluayA9IHRoaXMuZ2V0Um91dGVyTGluayhwYXRoLCBwYXJhbWV0ZXJzLCBpdGVtKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXJMaW5rc0NhY2hlW2l0ZW0uX2hhc2ggKyBwYXRoXSA9IGxpbms7XHJcbiAgICAgICAgICAgIHJldHVybiBsaW5rO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWEgdW4gcm91dGVyIGxpbmtcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBQYXRoIHN1IGN1aSBuYXZpZ2FyZSBjb24gZXZlbnR1YWxpIHBhcmFtZXRyaSByaWZlcml0aSBhbGwnb2dnZXR0byBjb3RuZXN0dWFsZSBjb21lIHswfSwgezF9LCBlY2MuLi5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHBhcnMgTGlzdGEgcG9zaXppb25hbGUgZGVsbGUgcHJvcHJpZXTDoCBhIGN1aSBiaW5kYXJlIGkgcmlmZXJpbWVudGkgZGVsIHBhcmFtZXRybyAqKnBhdGgqKlxyXG4gICAgICogRXMuIElsIHZhbG9yZSBkZWxhIHByb3ByaWV0w6AgYWxsJ2luZGljZSAwIGRpIHF1ZXN0byBhcnJheSB2ZXJyw6Agc29zdGl0dWl0YSBhbCB2YWxvcmUgezB9IGRlbCBwYXJhbWV0cm8gKipwYXRoKipcclxuICAgICAqIEBwYXJhbSB7YW55fSBpdGVtIE9nZ2V0dG8gY29sbGVnYXRvIGEgcXVlc3RvIGNvbnRlc3RvLiBQdcOyIGVzc2VyZSB1biBvZ2dldHRvIGdlbmVyaWNvIChjb24gXCJwcm9wZXJ0aWVzXCIpIG8gdW4gb2dnZXR0byBiZW4gZGVmaW5pdG9cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7YW55fSBSb3V0ZXIgbGluayBnZW5lcmF0byBpbiBiYXNlIGFsIHBhcmFtZXRyaVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldFJvdXRlckxpbmsocGF0aDogc3RyaW5nLCBwYXJzOiBzdHJpbmdbXSwgaXRlbTogYW55KTogYW55IHtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCd7JyArIGkgKyAnfScsIGl0ZW0ucHJvcGVydGllcyA/IGl0ZW0ucHJvcGVydGllc1twYXJzW2ldXSA6IGl0ZW1bcGFyc1tpXV0pO1xyXG5cclxuICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKC8nL2csICdcIicpLnJlcGxhY2UoLyAvZywgJycpO1xyXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHBhdGgpO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,36 @@
1
+ // Angular
2
+ import { Pipe } from "@angular/core";
3
+ // Services
4
+ import { Logger } from "../../core/Logger";
5
+ export class EstEditorPipe {
6
+ constructor(logger) {
7
+ this.logger = logger;
8
+ }
9
+ transform(propName, params) {
10
+ var Editor = null;
11
+ // Perf. Version di `params.src.find((item) => params.name ? item.editor === params.name : item.editorForProperty === propName);`
12
+ for (let i = 0; i < params.src.length; i++) {
13
+ let item = params.src.get(i);
14
+ if (params.name && item.editor === params.name ||
15
+ !params.name && item.editorForProperty === propName) {
16
+ Editor = item;
17
+ break;
18
+ }
19
+ }
20
+ // Name non trovato, fallback al nome della colonna
21
+ if (propName && params.name && !Editor) {
22
+ this.logger.log(`Editor retrieved in a non performant way`);
23
+ Editor = params.src.find((item) => item.editorForProperty === propName);
24
+ }
25
+ this.logger.log(`Editor ${Editor ? 'found' : 'NOT found'} for '${propName}${params.name ? '/' + params.name : ''}'${!Editor ? '. Using fallback editor' : ''}`);
26
+ var ret = Editor ? Editor.Template : params.fallback;
27
+ return ret;
28
+ }
29
+ }
30
+ EstEditorPipe.decorators = [
31
+ { type: Pipe, args: [{ name: 'est_editor' },] }
32
+ ];
33
+ EstEditorPipe.ctorParameters = () => [
34
+ { type: Logger }
35
+ ];
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXN0X2VkaXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL3BpcGVzL2VzdF9lZGl0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLElBQUksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFL0QsV0FBVztBQUNYLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQU0zQyxNQUFNLE9BQU8sYUFBYTtJQUV0QixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFJLENBQUM7SUFFdkMsU0FBUyxDQUFDLFFBQWdCLEVBQUUsTUFBNEU7UUFFcEcsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGlJQUFpSTtRQUNqSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUk7Z0JBQzFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUSxFQUFFO2dCQUNyRCxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNkLE1BQU07YUFDVDtTQUNKO1FBRUQsbURBQW1EO1FBQ25ELElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUM1RCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxRQUFRLENBQUMsQ0FBQztTQUMzRTtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsU0FBUyxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEssSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRXJELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7O1lBN0JKLElBQUksU0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7OztZQUxuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBRdWVyeUxpc3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gU2VydmljZXNcclxuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSBcIi4uLy4uL2NvcmUvTG9nZ2VyXCI7XHJcblxyXG4vLyBDb21wb25lbnRpIC8gRGlyZXR0aXZlXHJcbmltcG9ydCB7IEVzVGRFZGl0b3JEaXJlY3RpdmUgfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy9lc190ZF9lZGl0b3IuZGlyZWN0aXZlXCI7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdlc3RfZWRpdG9yJyB9KVxyXG5leHBvcnQgY2xhc3MgRXN0RWRpdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyOiBMb2dnZXIpIHsgfVxyXG5cclxuICAgIHRyYW5zZm9ybShwcm9wTmFtZTogc3RyaW5nLCBwYXJhbXM6IHsgbmFtZTogc3RyaW5nLCBzcmM6IFF1ZXJ5TGlzdDxFc1RkRWRpdG9yRGlyZWN0aXZlPiwgZmFsbGJhY2s6IGFueSB9KSB7XHJcbiAgICAgICBcclxuICAgICAgICB2YXIgRWRpdG9yID0gbnVsbDtcclxuXHJcbiAgICAgICAgLy8gUGVyZi4gVmVyc2lvbiBkaSBgcGFyYW1zLnNyYy5maW5kKChpdGVtKSA9PiBwYXJhbXMubmFtZSA/IGl0ZW0uZWRpdG9yID09PSBwYXJhbXMubmFtZSA6IGl0ZW0uZWRpdG9yRm9yUHJvcGVydHkgPT09IHByb3BOYW1lKTtgXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbXMuc3JjLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBpdGVtID0gcGFyYW1zLnNyYy5nZXQoaSk7XHJcbiAgICAgICAgICAgIGlmIChwYXJhbXMubmFtZSAmJiBpdGVtLmVkaXRvciA9PT0gcGFyYW1zLm5hbWUgfHxcclxuICAgICAgICAgICAgICAgICFwYXJhbXMubmFtZSAmJiBpdGVtLmVkaXRvckZvclByb3BlcnR5ID09PSBwcm9wTmFtZSkge1xyXG4gICAgICAgICAgICAgICAgRWRpdG9yID0gaXRlbTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIE5hbWUgbm9uIHRyb3ZhdG8sIGZhbGxiYWNrIGFsIG5vbWUgZGVsbGEgY29sb25uYVxyXG4gICAgICAgIGlmIChwcm9wTmFtZSAmJiBwYXJhbXMubmFtZSAmJiAhRWRpdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgRWRpdG9yIHJldHJpZXZlZCBpbiBhIG5vbiBwZXJmb3JtYW50IHdheWApO1xyXG4gICAgICAgICAgICBFZGl0b3IgPSBwYXJhbXMuc3JjLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZWRpdG9yRm9yUHJvcGVydHkgPT09IHByb3BOYW1lKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubG9nZ2VyLmxvZyhgRWRpdG9yICR7RWRpdG9yID8gJ2ZvdW5kJyA6ICdOT1QgZm91bmQnfSBmb3IgJyR7cHJvcE5hbWV9JHtwYXJhbXMubmFtZSA/ICcvJyArIHBhcmFtcy5uYW1lIDogJyd9JyR7IUVkaXRvciA/ICcuIFVzaW5nIGZhbGxiYWNrIGVkaXRvcicgOiAnJ31gKTtcclxuICAgICAgICB2YXIgcmV0ID0gRWRpdG9yID8gRWRpdG9yLlRlbXBsYXRlIDogcGFyYW1zLmZhbGxiYWNrO1xyXG5cclxuICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgfVxyXG59Il19
@@ -1,5 +1,6 @@
1
1
  import { Injectable } from "@angular/core";
2
2
  import { Subject } from "rxjs";
3
+ import * as i0 from "@angular/core";
3
4
  /** Classe che fornisce dei metodi di estensione in grado di riconoscere e dispatchare l'evento copia e incolla lanciato su una pagina web */
4
5
  export class CopyPasteDetector {
5
6
  /** @ignore */
@@ -18,8 +19,9 @@ export class CopyPasteDetector {
18
19
  });
19
20
  }
20
21
  }
22
+ CopyPasteDetector.ɵprov = i0.ɵɵdefineInjectable({ factory: function CopyPasteDetector_Factory() { return new CopyPasteDetector(); }, token: CopyPasteDetector, providedIn: "root" });
21
23
  CopyPasteDetector.decorators = [
22
- { type: Injectable }
24
+ { type: Injectable, args: [{ providedIn: "root" },] }
23
25
  ];
24
26
  CopyPasteDetector.ctorParameters = () => [];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29weVBhc3RlRGV0ZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvQ29weVBhc3RlRGV0ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLDZJQUE2STtBQUU3SSxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLGNBQWM7SUFDZDtRQVJBLDJCQUEyQjtRQUNwQixXQUFNLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDbkQsK0JBQStCO1FBQ3hCLFlBQU8sR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNwRCw0RkFBNEY7UUFDckYsdUJBQWtCLEdBQVEsSUFBSSxDQUFDO1FBSWxDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDMUQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTztnQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV2QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBbkJKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vKiogQ2xhc3NlIGNoZSBmb3JuaXNjZSBkZWkgbWV0b2RpIGRpIGVzdGVuc2lvbmUgaW4gZ3JhZG8gZGkgcmljb25vc2NlcmUgZSBkaXNwYXRjaGFyZSBsJ2V2ZW50byBjb3BpYSBlIGluY29sbGEgbGFuY2lhdG8gc3UgdW5hIHBhZ2luYSB3ZWIgKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29weVBhc3RlRGV0ZWN0b3Ige1xyXG5cclxuICAgIC8qKiBEaXNwYXRjaGVyIGRlbCBDb3BpYSAqL1xyXG4gICAgcHVibGljIE9uQ29weTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAvKiogRGlzcGF0Y2hlciBkZWxsJyBJbmNvbGxhICovXHJcbiAgICBwdWJsaWMgT25QYXN0ZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAvKiogUmlmZXJpbWVudG8gYWxsJ2VzdGFibGUgYXR0aXZhIHBlciBldml0YXJlIGRpIHNwYW1tYXJlIGNvcGlhIGluY29sbGEgZG92ZSBub24gc2Vydm9ubyAqL1xyXG4gICAgcHVibGljIEFjdGl2ZUVzdFJlZmVyZW5jZTogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFwiY1wiICYmIGV2ZW50LmN0cmxLZXkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLk9uQ29weS5uZXh0KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcInZcIiAmJiBldmVudC5jdHJsS2V5KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5PblBhc3RlLm5leHQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29weVBhc3RlRGV0ZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvQ29weVBhc3RlRGV0ZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUUvQiw2SUFBNkk7QUFFN0ksTUFBTSxPQUFPLGlCQUFpQjtJQVMxQixjQUFjO0lBQ2Q7UUFSQSwyQkFBMkI7UUFDcEIsV0FBTSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ25ELCtCQUErQjtRQUN4QixZQUFPLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFDcEQsNEZBQTRGO1FBQ3JGLHVCQUFrQixHQUFRLElBQUksQ0FBQztRQUlsQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQzFELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU87Z0JBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTztnQkFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Ozs7WUFuQkosVUFBVSxTQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKiBDbGFzc2UgY2hlIGZvcm5pc2NlIGRlaSBtZXRvZGkgZGkgZXN0ZW5zaW9uZSBpbiBncmFkbyBkaSByaWNvbm9zY2VyZSBlIGRpc3BhdGNoYXJlIGwnZXZlbnRvIGNvcGlhIGUgaW5jb2xsYSBsYW5jaWF0byBzdSB1bmEgcGFnaW5hIHdlYiAqL1xyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogXCJyb290XCJ9KVxyXG5leHBvcnQgY2xhc3MgQ29weVBhc3RlRGV0ZWN0b3Ige1xyXG5cclxuICAgIC8qKiBEaXNwYXRjaGVyIGRlbCBDb3BpYSAqL1xyXG4gICAgcHVibGljIE9uQ29weTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAvKiogRGlzcGF0Y2hlciBkZWxsJyBJbmNvbGxhICovXHJcbiAgICBwdWJsaWMgT25QYXN0ZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAvKiogUmlmZXJpbWVudG8gYWxsJ2VzdGFibGUgYXR0aXZhIHBlciBldml0YXJlIGRpIHNwYW1tYXJlIGNvcGlhIGluY29sbGEgZG92ZSBub24gc2Vydm9ubyAqL1xyXG4gICAgcHVibGljIEFjdGl2ZUVzdFJlZmVyZW5jZTogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFwiY1wiICYmIGV2ZW50LmN0cmxLZXkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLk9uQ29weS5uZXh0KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcInZcIiAmJiBldmVudC5jdHJsS2V5KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5PblBhc3RlLm5leHQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Inject, Injectable, Optional } from "@angular/core";
2
+ import { EST_DEBUG } from "../tokens";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../tokens";
5
+ /** Classe che fornisce dei metodi di estensione in grado di riconoscere e dispatchare l'evento copia e incolla lanciato su una pagina web */
6
+ export class Logger {
7
+ /** @ignore */
8
+ constructor(debugMode) {
9
+ this.debugMode = debugMode;
10
+ }
11
+ log(text) {
12
+ if (this.debugMode)
13
+ console.log("[@esfaenza/es-table @ " + (new Date()).toISOString() + "] " + text);
14
+ }
15
+ }
16
+ Logger.ɵprov = i0.ɵɵdefineInjectable({ factory: function Logger_Factory() { return new Logger(i0.ɵɵinject(i1.EST_DEBUG, 8)); }, token: Logger, providedIn: "root" });
17
+ Logger.decorators = [
18
+ { type: Injectable, args: [{ providedIn: "root" },] }
19
+ ];
20
+ Logger.ctorParameters = () => [
21
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [EST_DEBUG,] }] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb3JlL0xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRXRDLDZJQUE2STtBQUU3SSxNQUFNLE9BQU8sTUFBTTtJQUVmLGNBQWM7SUFDZCxZQUFrRCxTQUFrQjtRQUFsQixjQUFTLEdBQVQsU0FBUyxDQUFTO0lBQUksQ0FBQztJQUVsRSxHQUFHLENBQUMsSUFBWTtRQUNuQixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDekYsQ0FBQzs7OztZQVRKLFVBQVUsU0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzswQ0FJZixRQUFRLFlBQUksTUFBTSxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRVNUX0RFQlVHIH0gZnJvbSBcIi4uL3Rva2Vuc1wiO1xyXG5cclxuLyoqIENsYXNzZSBjaGUgZm9ybmlzY2UgZGVpIG1ldG9kaSBkaSBlc3RlbnNpb25lIGluIGdyYWRvIGRpIHJpY29ub3NjZXJlIGUgZGlzcGF0Y2hhcmUgbCdldmVudG8gY29waWEgZSBpbmNvbGxhIGxhbmNpYXRvIHN1IHVuYSBwYWdpbmEgd2ViICovXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiBcInJvb3RcIn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEVTVF9ERUJVRykgcHVibGljIGRlYnVnTW9kZTogYm9vbGVhbikgeyB9XHJcblxyXG4gICAgcHVibGljIGxvZyh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAodGhpcy5kZWJ1Z01vZGUpXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW0Blc2ZhZW56YS9lcy10YWJsZSBAIFwiICsgKG5ldyBEYXRlKCkpLnRvSVNPU3RyaW5nKCkgKyBcIl0gXCIgKyB0ZXh0KTtcclxuICAgIH1cclxufSJdfQ==