@esfaenza/es-charts 15.2.7 → 16.2.0

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 (102) hide show
  1. package/{esm2020 → esm2022}/esfaenza-es-charts.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/adapters/BaseAdapter.mjs +50 -50
  3. package/{esm2020 → esm2022}/lib/adapters/IBaseAdapter.mjs +1 -1
  4. package/{esm2020 → esm2022}/lib/components/base/base-chart.component.mjs +350 -350
  5. package/{esm2020 → esm2022}/lib/components/chart-pager/chart-pager.component.mjs +89 -89
  6. package/{esm2020 → esm2022}/lib/components/specializations/es-area-chart.component.mjs +77 -77
  7. package/{esm2020 → esm2022}/lib/components/specializations/es-chart.component.mjs +122 -122
  8. package/{esm2020 → esm2022}/lib/components/specializations/es-line-chart.component.mjs +112 -112
  9. package/{esm2020 → esm2022}/lib/components/specializations/es-pie-chart.component.mjs +98 -98
  10. package/{esm2020 → esm2022}/lib/components/specializations/es-vertical-2d-chart.component.mjs +95 -95
  11. package/{esm2020 → esm2022}/lib/components/specializations/es-vertical-chart.component.mjs +92 -92
  12. package/{esm2020 → esm2022}/lib/components/specializations/es-vertical-stacked-chart.component.mjs +92 -92
  13. package/{esm2020 → esm2022}/lib/es-charts.module.mjs +67 -67
  14. package/{esm2020 → esm2022}/lib/models/EsChaartsModuleConfig.mjs +5 -5
  15. package/{esm2020 → esm2022}/lib/models/core/ChartDispatcher.mjs +91 -91
  16. package/{esm2020 → esm2022}/lib/models/core/ChartLoader.mjs +212 -212
  17. package/{esm2020 → esm2022}/lib/models/core/ChartThemes.mjs +60 -60
  18. package/{esm2020 → esm2022}/lib/models/data/AreaChartData.mjs +15 -15
  19. package/{esm2020 → esm2022}/lib/models/data/LineChartData.mjs +15 -15
  20. package/{esm2020 → esm2022}/lib/models/data/PagedChartData.mjs +19 -19
  21. package/{esm2020 → esm2022}/lib/models/data/PieChartData.mjs +13 -13
  22. package/{esm2020 → esm2022}/lib/models/data/Vertical2DChartData.mjs +15 -15
  23. package/{esm2020 → esm2022}/lib/models/data/VerticalChartData.mjs +13 -13
  24. package/{esm2020 → esm2022}/lib/models/data/VerticalStackedChartData.mjs +13 -13
  25. package/{esm2020 → esm2022}/lib/models/data/base/DateValue.mjs +10 -10
  26. package/{esm2020 → esm2022}/lib/models/data/base/KeyValue.mjs +10 -10
  27. package/{esm2020 → esm2022}/lib/models/data/base/KeyValueColor.mjs +12 -12
  28. package/{esm2020 → esm2022}/lib/models/data/base/Limit.mjs +15 -15
  29. package/{esm2020 → esm2022}/lib/models/data/base/LineSerie.mjs +27 -27
  30. package/{esm2020 → esm2022}/lib/models/settings/AreaChartSettings.mjs +10 -10
  31. package/{esm2020 → esm2022}/lib/models/settings/LineChartSettings.mjs +10 -10
  32. package/{esm2020 → esm2022}/lib/models/settings/PieChartSettings.mjs +6 -6
  33. package/{esm2020 → esm2022}/lib/models/settings/Vertical2DChartSettings.mjs +10 -10
  34. package/{esm2020 → esm2022}/lib/models/settings/VerticalChartSettings.mjs +10 -10
  35. package/{esm2020 → esm2022}/lib/models/settings/VerticalStackedChartSettings.mjs +10 -10
  36. package/{esm2020 → esm2022}/lib/models/settings/base/BaseInterval.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/models/settings/base/BaseSettings.mjs +5 -5
  38. package/{esm2020 → esm2022}/lib/models/settings/base/LegendPad.mjs +5 -5
  39. package/esm2022/lib/services/AreaChartService.mjs +157 -0
  40. package/esm2022/lib/services/LineChartService.mjs +392 -0
  41. package/{esm2020 → esm2022}/lib/services/PieChartService.mjs +113 -113
  42. package/{esm2020 → esm2022}/lib/services/Vertical2DChartService.mjs +162 -162
  43. package/{esm2020 → esm2022}/lib/services/VerticalChartService.mjs +113 -113
  44. package/{esm2020 → esm2022}/lib/services/VerticalStackedChartService.mjs +126 -126
  45. package/{esm2020 → esm2022}/lib/services/base/IBaseService.mjs +1 -1
  46. package/{esm2020 → esm2022}/lib/tokens.mjs +13 -13
  47. package/{esm2020 → esm2022}/public-api.mjs +38 -38
  48. package/{fesm2020 → fesm2022}/esfaenza-es-charts.mjs +2728 -2688
  49. package/fesm2022/esfaenza-es-charts.mjs.map +1 -0
  50. package/index.d.ts +5 -5
  51. package/lib/adapters/BaseAdapter.d.ts +40 -40
  52. package/lib/adapters/IBaseAdapter.d.ts +35 -35
  53. package/lib/components/base/base-chart.component.d.ts +304 -304
  54. package/lib/components/chart-pager/chart-pager.component.d.ts +70 -70
  55. package/lib/components/specializations/es-area-chart.component.d.ts +53 -53
  56. package/lib/components/specializations/es-chart.component.d.ts +71 -71
  57. package/lib/components/specializations/es-line-chart.component.d.ts +112 -112
  58. package/lib/components/specializations/es-pie-chart.component.d.ts +81 -81
  59. package/lib/components/specializations/es-vertical-2d-chart.component.d.ts +79 -79
  60. package/lib/components/specializations/es-vertical-chart.component.d.ts +74 -74
  61. package/lib/components/specializations/es-vertical-stacked-chart.component.d.ts +74 -74
  62. package/lib/es-charts.module.d.ts +18 -18
  63. package/lib/models/EsChaartsModuleConfig.d.ts +24 -24
  64. package/lib/models/core/ChartDispatcher.d.ts +46 -46
  65. package/lib/models/core/ChartLoader.d.ts +92 -92
  66. package/lib/models/core/ChartThemes.d.ts +23 -23
  67. package/lib/models/data/AreaChartData.d.ts +22 -22
  68. package/lib/models/data/LineChartData.d.ts +16 -16
  69. package/lib/models/data/PagedChartData.d.ts +23 -23
  70. package/lib/models/data/PieChartData.d.ts +13 -13
  71. package/lib/models/data/Vertical2DChartData.d.ts +27 -27
  72. package/lib/models/data/VerticalChartData.d.ts +13 -13
  73. package/lib/models/data/VerticalStackedChartData.d.ts +21 -21
  74. package/lib/models/data/base/DateValue.d.ts +9 -9
  75. package/lib/models/data/base/KeyValue.d.ts +9 -9
  76. package/lib/models/data/base/KeyValueColor.d.ts +11 -11
  77. package/lib/models/data/base/Limit.d.ts +14 -14
  78. package/lib/models/data/base/LineSerie.d.ts +28 -28
  79. package/lib/models/settings/AreaChartSettings.d.ts +10 -10
  80. package/lib/models/settings/LineChartSettings.d.ts +67 -67
  81. package/lib/models/settings/PieChartSettings.d.ts +34 -34
  82. package/lib/models/settings/Vertical2DChartSettings.d.ts +36 -36
  83. package/lib/models/settings/VerticalChartSettings.d.ts +31 -31
  84. package/lib/models/settings/VerticalStackedChartSettings.d.ts +31 -31
  85. package/lib/models/settings/base/BaseInterval.d.ts +13 -13
  86. package/lib/models/settings/base/BaseSettings.d.ts +67 -67
  87. package/lib/models/settings/base/LegendPad.d.ts +21 -21
  88. package/lib/services/AreaChartService.d.ts +32 -31
  89. package/lib/services/LineChartService.d.ts +48 -47
  90. package/lib/services/PieChartService.d.ts +27 -27
  91. package/lib/services/Vertical2DChartService.d.ts +39 -39
  92. package/lib/services/VerticalChartService.d.ts +33 -33
  93. package/lib/services/VerticalStackedChartService.d.ts +35 -35
  94. package/lib/services/base/IBaseService.d.ts +38 -38
  95. package/lib/tokens.d.ts +13 -13
  96. package/package.json +11 -17
  97. package/public-api.d.ts +35 -35
  98. package/esm2020/lib/services/AreaChartService.mjs +0 -137
  99. package/esm2020/lib/services/LineChartService.mjs +0 -372
  100. package/fesm2015/esfaenza-es-charts.mjs +0 -2829
  101. package/fesm2015/esfaenza-es-charts.mjs.map +0 -1
  102. package/fesm2020/esfaenza-es-charts.mjs.map +0 -1
@@ -1,95 +1,95 @@
1
- import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
2
- import { ESC_ANIMATIONS, ESC_THEME, ESC_DEBUG_MODE } from '../../tokens';
3
- import { BaseChartComponent } from '../base/base-chart.component';
4
- import { Vertical2DChartSettings } from '../../models/settings/Vertical2DChartSettings';
5
- import { Vertical2DChartService } from '../../services/Vertical2DChartService';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../models/core/ChartLoader";
8
- import * as i2 from "../../models/core/ChartDispatcher";
9
- import * as i3 from "../../adapters/BaseAdapter";
10
- import * as i4 from "@esfaenza/localizations";
11
- import * as i5 from "@angular/common";
12
- import * as i6 from "../chart-pager/chart-pager.component";
13
- /**
14
- * Componente specifico per la graficazione di un grafico a Barre con due dimensioni
15
- */
16
- export class EsVertical2DChartComponent extends BaseChartComponent {
17
- /**
18
- * @ignore
19
- */
20
- constructor(el, ChartLoader, ChartDispatcher, adapter, zone, platformId, ESC_DEBUG_MODE, ESC_ANIMATIONS, ESC_THEME, lc) {
21
- super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_DEBUG_MODE, ESC_ANIMATIONS, lc.Locale, ESC_THEME);
22
- this.adapter = adapter;
23
- }
24
- /**
25
- * Ottiene le proprietà specifiche per questa tipologia di grafico per cui serve rigraficare
26
- */
27
- getSpecificPropertiesToCheck() {
28
- return ["Data", "DataArray"];
29
- }
30
- /**
31
- * Ottiene i Settings (Ereditati dalla classe base, quindi del tipo generico **BaseSettings**) castati al tipo specifico per questo grafico
32
- *
33
- * @returns {Vertical2DChartSettings} Settings castati al tipo giusto
34
- */
35
- getCastedSettings() {
36
- return (this.Settings ?? new Vertical2DChartSettings());
37
- }
38
- /**
39
- * Integra i Settings base con tutti gli Input specifici di questo grafico, dando priorità ai Settings se definiti
40
- *
41
- * @param {Vertical2DChartSettings} settingsCasted Settings castati al tipo giusto
42
- */
43
- fillSpecificSettings(settingsCasted) {
44
- settingsCasted.ColumnWidthPercentage = settingsCasted.ColumnWidthPercentage != null ? settingsCasted.ColumnWidthPercentage : this.ColumnWidthPercentage;
45
- settingsCasted.GroupPaddingPercentage = settingsCasted.GroupPaddingPercentage != null ? settingsCasted.GroupPaddingPercentage : this.GroupPaddingPercentage;
46
- settingsCasted.LabelWidth = settingsCasted.LabelWidth != null ? settingsCasted.LabelWidth : this.LabelWidth;
47
- settingsCasted.LabelVerticalOrientationCutoffWidth = settingsCasted.LabelVerticalOrientationCutoffWidth != null ? settingsCasted.LabelVerticalOrientationCutoffWidth : this.LabelVerticalOrientationCutoffWidth;
48
- settingsCasted.LabelRightWhenCompressed = settingsCasted.LabelRightWhenCompressed != null ? settingsCasted.LabelRightWhenCompressed : this.LabelRightWhenCompressed;
49
- settingsCasted.LabelTopWhenCompressed = settingsCasted.LabelTopWhenCompressed != null ? settingsCasted.LabelTopWhenCompressed : this.LabelTopWhenCompressed;
50
- }
51
- /**
52
- * Effettua il rendering di questo grafico in base ai Settings
53
- *
54
- * @param {Vertical2DChartSettings} settingsCasted Impostazioni di graficazione
55
- * @returns {Vertical2DChartService} La service utilizzata per il rendering nello stato subito successivo al rendering effettuato
56
- */
57
- graphicate(settingsCasted) {
58
- return new Vertical2DChartService(this.adapter).graphicate(this.Data, settingsCasted);
59
- }
60
- }
61
- EsVertical2DChartComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
62
- EsVertical2DChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsVertical2DChartComponent, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:rgba(153,153,153,.6);text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'es-vertical-2d-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:rgba(153,153,153,.6);text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
66
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ChartLoader }, { type: i2.ChartDispatcher }, { type: i3.BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
67
- type: Inject,
68
- args: [PLATFORM_ID]
69
- }] }, { type: undefined, decorators: [{
70
- type: Inject,
71
- args: [ESC_DEBUG_MODE]
72
- }] }, { type: undefined, decorators: [{
73
- type: Inject,
74
- args: [ESC_ANIMATIONS]
75
- }] }, { type: undefined, decorators: [{
76
- type: Inject,
77
- args: [ESC_THEME]
78
- }] }, { type: i4.LocalizationService }]; }, propDecorators: { Data: [{
79
- type: Input
80
- }], DataArray: [{
81
- type: Input
82
- }], ColumnWidthPercentage: [{
83
- type: Input
84
- }], GroupPaddingPercentage: [{
85
- type: Input
86
- }], LabelWidth: [{
87
- type: Input
88
- }], LabelVerticalOrientationCutoffWidth: [{
89
- type: Input
90
- }], LabelRightWhenCompressed: [{
91
- type: Input
92
- }], LabelTopWhenCompressed: [{
93
- type: Input
94
- }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBVSx1QkFBdUIsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUluSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7O0FBSS9FOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQTRDaEU7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ2YsY0FBdUIsRUFDdkIsY0FBdUIsRUFDNUIsU0FBaUIsRUFDcEMsRUFBdUI7UUFDdkIsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmxCLFlBQU8sR0FBUCxPQUFPLENBQWE7SUFPcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUI7UUFDZixPQUFnQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUF1QztRQUMxRCxjQUFjLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEosY0FBYyxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQzVKLGNBQWMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUcsY0FBYyxDQUFDLG1DQUFtQyxHQUFHLGNBQWMsQ0FBQyxtQ0FBbUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO1FBQ2hOLGNBQWMsQ0FBQyx3QkFBd0IsR0FBRyxjQUFjLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNwSyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDOUosQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLGNBQXVDO1FBQ2hELE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFzQixJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7O3VIQTlGVSwwQkFBMEIsdUpBZ0QzQixXQUFXLGFBQ1gsY0FBYyxhQUNkLGNBQWMsYUFDZCxTQUFTOzJHQW5EUiwwQkFBMEIscWJDeEJ2Qyx3akNBbUJ3STsyRkRLM0gsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrRDVDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsU0FBUzs4RUE5Q1YsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQU1HLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLG1DQUFtQztzQkFBM0MsS0FBSztnQkFLRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBS0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0LCBQTEFURk9STV9JRCwgTmdab25lLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGVzZmFlbnphL2xvY2FsaXphdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycy9CYXNlQWRhcHRlcic7XHJcbmltcG9ydCB7IEVTQ19BTklNQVRJT05TLCBFU0NfVEhFTUUsIEVTQ19ERUJVR19NT0RFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IEJhc2VDaGFydENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydExvYWRlclwiO1xyXG5pbXBvcnQgeyBDaGFydERpc3BhdGNoZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmUvQ2hhcnREaXNwYXRjaGVyXCI7XHJcblxyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9WZXJ0aWNhbDJEQ2hhcnRTZXJ2aWNlJztcclxuaW1wb3J0IHsgVmVydGljYWwyRENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsMkRDaGFydERhdGEnO1xyXG5pbXBvcnQgeyBQYWdlZENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1BhZ2VkQ2hhcnREYXRhJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHNwZWNpZmljbyBwZXIgbGEgZ3JhZmljYXppb25lIGRpIHVuIGdyYWZpY28gYSBCYXJyZSBjb24gZHVlIGRpbWVuc2lvbmlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtMmQtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWwyRENoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNoYXJ0Q29tcG9uZW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogRGF0aSBzcGVjaWZpY2kgcGVyIGlsIGdyYWZpY28gbyBkaSB1biB0aXBvIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbDJEQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhOiBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBEYXRpIHNwZWNpZmljaSBwZXIgdW4gZ3JhZmljbyBwYWdpbmF0byBvIGRpIGN1aSBvZ25pIGJsb2NjbyBkYXRpIMOoIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbDJEQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhQXJyYXk6IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsMkRDaGFydERhdGE+W10gfCBQYWdlZENoYXJ0RGF0YTxhbnk+W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBwZXJjZW50dWFsZSBkaSBjZWxsYSBjaGUgbGEgY29sb25uYSBhbmRyw6AgYSByaWVtcGlyZS4gVW4gdmFsb3JlIHBhcmkgYSAxMDAgcmllbXBpcsOgIGxhIGNlbGxhIGNvbXBsZXRhbWVudGUgXHJcbiAgICogZSB0dXR0ZSBsZSBiYXJyZSByaXN1bHRlcmFubm8gYXBwaWNjaWNhdGUgbCd1biBsJ2FsdHJhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQ29sdW1uV2lkdGhQZXJjZW50YWdlOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBpbCBwYWRkaW5nIHBlcmNlbnR1YWxlIHJpc3BldHRvIGFsbGEgY2VsbGEgZGEgbGFzY2lhcmUgZnJhIHVuIGdydXBwbyBkaSBiYXJyZSBlIGwnYWx0cm8uIFVuIHZhbG9yZSBwYXJpIGEgMCBpbmRpY2EgbGEgbWFuY2FuemEgZGlcclxuICAgKiBzcGF6aW8gZnJhIHVuIGdydXBwbyBlIGwnYWx0cm8sIHVuIHZhbG9yZSBwYXJpIGEgNSBpbmRpY2EgaWwgNSUgZGVsbGEgZGltZW5zaW9uZSBkZWxsYSBjZWxsYSBpbiBjdWkgYXBwYXJlIGlsIGdydXBwbyBjb21lIHBhZGRpbmcgYSBkZXN0cmEgZSBzaW5pc3RyYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEdyb3VwUGFkZGluZ1BlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxlIGRpbWVuc2lvbmkgbWFzc2ltZSBkZWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmVcclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFdpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgc290dG8gbGEgcXVhbGUgbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHNpIGluY2xpbmEgY2VyY2FuZG8gZGkgb2NjdXBhcmUgbWVubyBzcGF6aW9cclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgdW4gb2Zmc2V0IG9yaXp6b250YWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgdW4gb2Zmc2V0IHZlcnRpY2FsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgQ2hhcnRMb2FkZXI6IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBhZGFwdGVyOiBCYXNlQWRhcHRlciwgem9uZTogTmdab25lLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgQEluamVjdChFU0NfREVCVUdfTU9ERSkgRVNDX0RFQlVHX01PREU6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19BTklNQVRJT05TKSBFU0NfQU5JTUFUSU9OUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX1RIRU1FKSBFU0NfVEhFTUU6IHN0cmluZyxcclxuICAgIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihlbCwgcGxhdGZvcm1JZCwgem9uZSwgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciwgRVNDX0RFQlVHX01PREUsIEVTQ19BTklNQVRJT05TLCBsYy5Mb2NhbGUsIEVTQ19USEVNRSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGxlIHByb3ByaWV0w6Agc3BlY2lmaWNoZSBwZXIgcXVlc3RhIHRpcG9sb2dpYSBkaSBncmFmaWNvIHBlciBjdWkgc2VydmUgcmlncmFmaWNhcmVcclxuICAgKi9cclxuICBnZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbXCJEYXRhXCIsIFwiRGF0YUFycmF5XCJdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBpIFNldHRpbmdzIChFcmVkaXRhdGkgZGFsbGEgY2xhc3NlIGJhc2UsIHF1aW5kaSBkZWwgdGlwbyBnZW5lcmljbyAqKkJhc2VTZXR0aW5ncyoqKSBjYXN0YXRpIGFsIHRpcG8gc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljb1xyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5nc30gU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGdldENhc3RlZFNldHRpbmdzKCk6IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzIHtcclxuICAgIHJldHVybiA8VmVydGljYWwyRENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZWdyYSBpIFNldHRpbmdzIGJhc2UgY29uIHR1dHRpIGdsaSBJbnB1dCBzcGVjaWZpY2kgZGkgcXVlc3RvIGdyYWZpY28sIGRhbmRvIHByaW9yaXTDoCBhaSBTZXR0aW5ncyBzZSBkZWZpbml0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWwyRENoYXJ0U2V0dGluZ3N9IHNldHRpbmdzQ2FzdGVkIFNldHRpbmdzIGNhc3RhdGkgYWwgdGlwbyBnaXVzdG9cclxuICAgKi9cclxuICBmaWxsU3BlY2lmaWNTZXR0aW5ncyhzZXR0aW5nc0Nhc3RlZDogVmVydGljYWwyRENoYXJ0U2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA9IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlIDogdGhpcy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2U7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5Hcm91cFBhZGRpbmdQZXJjZW50YWdlID0gc2V0dGluZ3NDYXN0ZWQuR3JvdXBQYWRkaW5nUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuR3JvdXBQYWRkaW5nUGVyY2VudGFnZSA6IHRoaXMuR3JvdXBQYWRkaW5nUGVyY2VudGFnZTtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoIDogdGhpcy5MYWJlbFdpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggOiB0aGlzLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRWZmZXR0dWEgaWwgcmVuZGVyaW5nIGRpIHF1ZXN0byBncmFmaWNvIGluIGJhc2UgYWkgU2V0dGluZ3NcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1ZlcnRpY2FsMkRDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBJbXBvc3RhemlvbmkgZGkgZ3JhZmljYXppb25lXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsMkRDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nc0Nhc3RlZDogVmVydGljYWwyRENoYXJ0U2V0dGluZ3MpOiBhbnkge1xyXG4gICAgcmV0dXJuIG5ldyBWZXJ0aWNhbDJEQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8VmVydGljYWwyRENoYXJ0RGF0YT50aGlzLkRhdGEsIHNldHRpbmdzQ2FzdGVkKTtcclxuICB9XHJcbn0iLCI8Y2hhcnQtcGFnZXIgKm5nSWY9XCJpc1BhZ2VkXCIgKG9uUGFnZUNoYW5nZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIiBbSXRlbXNdPVwiRGF0YUFycmF5XCIgW0R0b3NdPVwiRGF0YUR0b3NcIiBbU3RhcnRJbmRleF09XCJEYXRhRHRvU3RhcnRJbmRleFwiXHJcbiAgICBbQnJvd3NlRGVsYXlNc109XCJCcm93c2VEZWxheU1zXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcl9pbm5lciBsZXQtaGVhZGVySXRlbT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyX3RyOyBjb250ZXh0IDogeyRpbXBsaWNpdDogaGVhZGVySXRlbX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvY2hhcnQtcGFnZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0NoYXJ0ICYmIGxvYWRpbmdfdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdfdGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nQ2hhcnQgJiYgIWxvYWRpbmdfdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJlc2MtbG9hZGluZy1vdmVybGF5XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJsYWJlbFwiPkxvYWRpbmcuLi4uPC9wPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBbY2xhc3MuaGlkZS1ibG9ja109XCJsb2FkaW5nQ2hhcnRcIiBpZD1cInt7bmFtZX19XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+PC9kaXY+Il19
1
+ import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ESC_ANIMATIONS, ESC_THEME, ESC_DEBUG_MODE } from '../../tokens';
3
+ import { BaseChartComponent } from '../base/base-chart.component';
4
+ import { Vertical2DChartSettings } from '../../models/settings/Vertical2DChartSettings';
5
+ import { Vertical2DChartService } from '../../services/Vertical2DChartService';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../models/core/ChartLoader";
8
+ import * as i2 from "../../models/core/ChartDispatcher";
9
+ import * as i3 from "../../adapters/BaseAdapter";
10
+ import * as i4 from "@esfaenza/localizations";
11
+ import * as i5 from "@angular/common";
12
+ import * as i6 from "../chart-pager/chart-pager.component";
13
+ /**
14
+ * Componente specifico per la graficazione di un grafico a Barre con due dimensioni
15
+ */
16
+ export class EsVertical2DChartComponent extends BaseChartComponent {
17
+ /**
18
+ * @ignore
19
+ */
20
+ constructor(el, ChartLoader, ChartDispatcher, adapter, zone, platformId, ESC_DEBUG_MODE, ESC_ANIMATIONS, ESC_THEME, lc) {
21
+ super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_DEBUG_MODE, ESC_ANIMATIONS, lc.Locale, ESC_THEME);
22
+ this.adapter = adapter;
23
+ }
24
+ /**
25
+ * Ottiene le proprietà specifiche per questa tipologia di grafico per cui serve rigraficare
26
+ */
27
+ getSpecificPropertiesToCheck() {
28
+ return ["Data", "DataArray"];
29
+ }
30
+ /**
31
+ * Ottiene i Settings (Ereditati dalla classe base, quindi del tipo generico **BaseSettings**) castati al tipo specifico per questo grafico
32
+ *
33
+ * @returns {Vertical2DChartSettings} Settings castati al tipo giusto
34
+ */
35
+ getCastedSettings() {
36
+ return (this.Settings ?? new Vertical2DChartSettings());
37
+ }
38
+ /**
39
+ * Integra i Settings base con tutti gli Input specifici di questo grafico, dando priorità ai Settings se definiti
40
+ *
41
+ * @param {Vertical2DChartSettings} settingsCasted Settings castati al tipo giusto
42
+ */
43
+ fillSpecificSettings(settingsCasted) {
44
+ settingsCasted.ColumnWidthPercentage = settingsCasted.ColumnWidthPercentage != null ? settingsCasted.ColumnWidthPercentage : this.ColumnWidthPercentage;
45
+ settingsCasted.GroupPaddingPercentage = settingsCasted.GroupPaddingPercentage != null ? settingsCasted.GroupPaddingPercentage : this.GroupPaddingPercentage;
46
+ settingsCasted.LabelWidth = settingsCasted.LabelWidth != null ? settingsCasted.LabelWidth : this.LabelWidth;
47
+ settingsCasted.LabelVerticalOrientationCutoffWidth = settingsCasted.LabelVerticalOrientationCutoffWidth != null ? settingsCasted.LabelVerticalOrientationCutoffWidth : this.LabelVerticalOrientationCutoffWidth;
48
+ settingsCasted.LabelRightWhenCompressed = settingsCasted.LabelRightWhenCompressed != null ? settingsCasted.LabelRightWhenCompressed : this.LabelRightWhenCompressed;
49
+ settingsCasted.LabelTopWhenCompressed = settingsCasted.LabelTopWhenCompressed != null ? settingsCasted.LabelTopWhenCompressed : this.LabelTopWhenCompressed;
50
+ }
51
+ /**
52
+ * Effettua il rendering di questo grafico in base ai Settings
53
+ *
54
+ * @param {Vertical2DChartSettings} settingsCasted Impostazioni di graficazione
55
+ * @returns {Vertical2DChartService} La service utilizzata per il rendering nello stato subito successivo al rendering effettuato
56
+ */
57
+ graphicate(settingsCasted) {
58
+ return new Vertical2DChartService(this.adapter).graphicate(this.Data, settingsCasted);
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EsVertical2DChartComponent, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'es-vertical-2d-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
66
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ChartLoader }, { type: i2.ChartDispatcher }, { type: i3.BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
67
+ type: Inject,
68
+ args: [PLATFORM_ID]
69
+ }] }, { type: undefined, decorators: [{
70
+ type: Inject,
71
+ args: [ESC_DEBUG_MODE]
72
+ }] }, { type: undefined, decorators: [{
73
+ type: Inject,
74
+ args: [ESC_ANIMATIONS]
75
+ }] }, { type: undefined, decorators: [{
76
+ type: Inject,
77
+ args: [ESC_THEME]
78
+ }] }, { type: i4.LocalizationService }]; }, propDecorators: { Data: [{
79
+ type: Input
80
+ }], DataArray: [{
81
+ type: Input
82
+ }], ColumnWidthPercentage: [{
83
+ type: Input
84
+ }], GroupPaddingPercentage: [{
85
+ type: Input
86
+ }], LabelWidth: [{
87
+ type: Input
88
+ }], LabelVerticalOrientationCutoffWidth: [{
89
+ type: Input
90
+ }], LabelRightWhenCompressed: [{
91
+ type: Input
92
+ }], LabelTopWhenCompressed: [{
93
+ type: Input
94
+ }] } });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBVSx1QkFBdUIsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUluSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7O0FBSS9FOztHQUVHO0FBT0gsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtCQUFrQjtJQTRDaEU7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ2YsY0FBdUIsRUFDdkIsY0FBdUIsRUFDNUIsU0FBaUIsRUFDcEMsRUFBdUI7UUFDdkIsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmxCLFlBQU8sR0FBUCxPQUFPLENBQWE7SUFPcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUI7UUFDZixPQUFnQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUF1QztRQUMxRCxjQUFjLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEosY0FBYyxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBQzVKLGNBQWMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUcsY0FBYyxDQUFDLG1DQUFtQyxHQUFHLGNBQWMsQ0FBQyxtQ0FBbUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO1FBQ2hOLGNBQWMsQ0FBQyx3QkFBd0IsR0FBRyxjQUFjLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNwSyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDOUosQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLGNBQXVDO1FBQ2hELE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFzQixJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7K0dBOUZVLDBCQUEwQix1SkFnRDNCLFdBQVcsYUFDWCxjQUFjLGFBQ2QsY0FBYyxhQUNkLFNBQVM7bUdBbkRSLDBCQUEwQixxYkN4QnZDLHdqQ0FtQndJOzs0RkRLM0gsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrRDVDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsU0FBUzs4RUE5Q1YsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQU1HLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLG1DQUFtQztzQkFBM0MsS0FBSztnQkFLRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBS0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0LCBQTEFURk9STV9JRCwgTmdab25lLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGVzZmFlbnphL2xvY2FsaXphdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycy9CYXNlQWRhcHRlcic7XHJcbmltcG9ydCB7IEVTQ19BTklNQVRJT05TLCBFU0NfVEhFTUUsIEVTQ19ERUJVR19NT0RFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IEJhc2VDaGFydENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydExvYWRlclwiO1xyXG5pbXBvcnQgeyBDaGFydERpc3BhdGNoZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmUvQ2hhcnREaXNwYXRjaGVyXCI7XHJcblxyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9WZXJ0aWNhbDJEQ2hhcnRTZXJ2aWNlJztcclxuaW1wb3J0IHsgVmVydGljYWwyRENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsMkRDaGFydERhdGEnO1xyXG5pbXBvcnQgeyBQYWdlZENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1BhZ2VkQ2hhcnREYXRhJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHNwZWNpZmljbyBwZXIgbGEgZ3JhZmljYXppb25lIGRpIHVuIGdyYWZpY28gYSBCYXJyZSBjb24gZHVlIGRpbWVuc2lvbmlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtMmQtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWwyRENoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNoYXJ0Q29tcG9uZW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogRGF0aSBzcGVjaWZpY2kgcGVyIGlsIGdyYWZpY28gbyBkaSB1biB0aXBvIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbDJEQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhOiBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBEYXRpIHNwZWNpZmljaSBwZXIgdW4gZ3JhZmljbyBwYWdpbmF0byBvIGRpIGN1aSBvZ25pIGJsb2NjbyBkYXRpIMOoIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbDJEQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhQXJyYXk6IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsMkRDaGFydERhdGE+W10gfCBQYWdlZENoYXJ0RGF0YTxhbnk+W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBwZXJjZW50dWFsZSBkaSBjZWxsYSBjaGUgbGEgY29sb25uYSBhbmRyw6AgYSByaWVtcGlyZS4gVW4gdmFsb3JlIHBhcmkgYSAxMDAgcmllbXBpcsOgIGxhIGNlbGxhIGNvbXBsZXRhbWVudGUgXHJcbiAgICogZSB0dXR0ZSBsZSBiYXJyZSByaXN1bHRlcmFubm8gYXBwaWNjaWNhdGUgbCd1biBsJ2FsdHJhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQ29sdW1uV2lkdGhQZXJjZW50YWdlOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBpbCBwYWRkaW5nIHBlcmNlbnR1YWxlIHJpc3BldHRvIGFsbGEgY2VsbGEgZGEgbGFzY2lhcmUgZnJhIHVuIGdydXBwbyBkaSBiYXJyZSBlIGwnYWx0cm8uIFVuIHZhbG9yZSBwYXJpIGEgMCBpbmRpY2EgbGEgbWFuY2FuemEgZGlcclxuICAgKiBzcGF6aW8gZnJhIHVuIGdydXBwbyBlIGwnYWx0cm8sIHVuIHZhbG9yZSBwYXJpIGEgNSBpbmRpY2EgaWwgNSUgZGVsbGEgZGltZW5zaW9uZSBkZWxsYSBjZWxsYSBpbiBjdWkgYXBwYXJlIGlsIGdydXBwbyBjb21lIHBhZGRpbmcgYSBkZXN0cmEgZSBzaW5pc3RyYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEdyb3VwUGFkZGluZ1BlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxlIGRpbWVuc2lvbmkgbWFzc2ltZSBkZWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmVcclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFdpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgc290dG8gbGEgcXVhbGUgbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHNpIGluY2xpbmEgY2VyY2FuZG8gZGkgb2NjdXBhcmUgbWVubyBzcGF6aW9cclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgdW4gb2Zmc2V0IG9yaXp6b250YWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgdW4gb2Zmc2V0IHZlcnRpY2FsZSBkYSBhcHBsaWNhcmUgYWxsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgcXVhbG9yYSBmb3NzZSBjb21wcmVzc2EgYSBjYXVzYSBkZWxsYSBtYW5jYW56YSBkaSBzcGF6aW9cclxuICAgKi9cclxuICBASW5wdXQoKSBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgQ2hhcnRMb2FkZXI6IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBhZGFwdGVyOiBCYXNlQWRhcHRlciwgem9uZTogTmdab25lLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgQEluamVjdChFU0NfREVCVUdfTU9ERSkgRVNDX0RFQlVHX01PREU6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19BTklNQVRJT05TKSBFU0NfQU5JTUFUSU9OUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX1RIRU1FKSBFU0NfVEhFTUU6IHN0cmluZyxcclxuICAgIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihlbCwgcGxhdGZvcm1JZCwgem9uZSwgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciwgRVNDX0RFQlVHX01PREUsIEVTQ19BTklNQVRJT05TLCBsYy5Mb2NhbGUsIEVTQ19USEVNRSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGxlIHByb3ByaWV0w6Agc3BlY2lmaWNoZSBwZXIgcXVlc3RhIHRpcG9sb2dpYSBkaSBncmFmaWNvIHBlciBjdWkgc2VydmUgcmlncmFmaWNhcmVcclxuICAgKi9cclxuICBnZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbXCJEYXRhXCIsIFwiRGF0YUFycmF5XCJdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBpIFNldHRpbmdzIChFcmVkaXRhdGkgZGFsbGEgY2xhc3NlIGJhc2UsIHF1aW5kaSBkZWwgdGlwbyBnZW5lcmljbyAqKkJhc2VTZXR0aW5ncyoqKSBjYXN0YXRpIGFsIHRpcG8gc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljb1xyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5nc30gU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGdldENhc3RlZFNldHRpbmdzKCk6IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzIHtcclxuICAgIHJldHVybiA8VmVydGljYWwyRENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZWdyYSBpIFNldHRpbmdzIGJhc2UgY29uIHR1dHRpIGdsaSBJbnB1dCBzcGVjaWZpY2kgZGkgcXVlc3RvIGdyYWZpY28sIGRhbmRvIHByaW9yaXTDoCBhaSBTZXR0aW5ncyBzZSBkZWZpbml0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWwyRENoYXJ0U2V0dGluZ3N9IHNldHRpbmdzQ2FzdGVkIFNldHRpbmdzIGNhc3RhdGkgYWwgdGlwbyBnaXVzdG9cclxuICAgKi9cclxuICBmaWxsU3BlY2lmaWNTZXR0aW5ncyhzZXR0aW5nc0Nhc3RlZDogVmVydGljYWwyRENoYXJ0U2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA9IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlIDogdGhpcy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2U7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5Hcm91cFBhZGRpbmdQZXJjZW50YWdlID0gc2V0dGluZ3NDYXN0ZWQuR3JvdXBQYWRkaW5nUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuR3JvdXBQYWRkaW5nUGVyY2VudGFnZSA6IHRoaXMuR3JvdXBQYWRkaW5nUGVyY2VudGFnZTtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoIDogdGhpcy5MYWJlbFdpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggOiB0aGlzLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRWZmZXR0dWEgaWwgcmVuZGVyaW5nIGRpIHF1ZXN0byBncmFmaWNvIGluIGJhc2UgYWkgU2V0dGluZ3NcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1ZlcnRpY2FsMkRDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBJbXBvc3RhemlvbmkgZGkgZ3JhZmljYXppb25lXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsMkRDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nc0Nhc3RlZDogVmVydGljYWwyRENoYXJ0U2V0dGluZ3MpOiBhbnkge1xyXG4gICAgcmV0dXJuIG5ldyBWZXJ0aWNhbDJEQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8VmVydGljYWwyRENoYXJ0RGF0YT50aGlzLkRhdGEsIHNldHRpbmdzQ2FzdGVkKTtcclxuICB9XHJcbn0iLCI8Y2hhcnQtcGFnZXIgKm5nSWY9XCJpc1BhZ2VkXCIgKG9uUGFnZUNoYW5nZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIiBbSXRlbXNdPVwiRGF0YUFycmF5XCIgW0R0b3NdPVwiRGF0YUR0b3NcIiBbU3RhcnRJbmRleF09XCJEYXRhRHRvU3RhcnRJbmRleFwiXHJcbiAgICBbQnJvd3NlRGVsYXlNc109XCJCcm93c2VEZWxheU1zXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcl9pbm5lciBsZXQtaGVhZGVySXRlbT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyX3RyOyBjb250ZXh0IDogeyRpbXBsaWNpdDogaGVhZGVySXRlbX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvY2hhcnQtcGFnZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0NoYXJ0ICYmIGxvYWRpbmdfdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdfdGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nQ2hhcnQgJiYgIWxvYWRpbmdfdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJlc2MtbG9hZGluZy1vdmVybGF5XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJsYWJlbFwiPkxvYWRpbmcuLi4uPC9wPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBbY2xhc3MuaGlkZS1ibG9ja109XCJsb2FkaW5nQ2hhcnRcIiBpZD1cInt7bmFtZX19XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+PC9kaXY+Il19
@@ -1,92 +1,92 @@
1
- import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
2
- import { ESC_ANIMATIONS, ESC_THEME, ESC_DEBUG_MODE } from '../../tokens';
3
- import { BaseChartComponent } from '../base/base-chart.component';
4
- import { VerticalChartSettings } from '../../models/settings/VerticalChartSettings';
5
- import { VerticalChartService } from '../../services/VerticalChartService';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../models/core/ChartLoader";
8
- import * as i2 from "../../models/core/ChartDispatcher";
9
- import * as i3 from "../../adapters/BaseAdapter";
10
- import * as i4 from "@esfaenza/localizations";
11
- import * as i5 from "@angular/common";
12
- import * as i6 from "../chart-pager/chart-pager.component";
13
- /**
14
- * Componente specifico per la graficazione di un grafico a Barre
15
- */
16
- export class EsVerticalChartComponent extends BaseChartComponent {
17
- /**
18
- * @ignore
19
- */
20
- constructor(el, ChartLoader, ChartDispatcher, adapter, zone, platformId, ESC_DEBUG_MODE, ESC_ANIMATIONS, ESC_THEME, lc) {
21
- super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_DEBUG_MODE, ESC_ANIMATIONS, lc.Locale, ESC_THEME);
22
- this.adapter = adapter;
23
- }
24
- /**
25
- * Ottiene le proprietà specifiche per questa tipologia di grafico per cui serve rigraficare
26
- */
27
- getSpecificPropertiesToCheck() {
28
- return ["Data", "DataArray"];
29
- }
30
- /**
31
- * Ottiene i Settings (Ereditati dalla classe base, quindi del tipo generico **BaseSettings**) castati al tipo specifico per questo grafico
32
- *
33
- * @returns {VerticalChartSettings} Settings castati al tipo giusto
34
- */
35
- getCastedSettings() {
36
- return (this.Settings ?? new VerticalChartSettings());
37
- }
38
- /**
39
- * Integra i Settings base con tutti gli Input specifici di questo grafico, dando priorità ai Settings se definiti
40
- *
41
- * @param {VerticalChartSettings} settingsCasted Settings castati al tipo giusto
42
- */
43
- fillSpecificSettings(settingsCasted) {
44
- settingsCasted.ColumnWidthPercentage = settingsCasted.ColumnWidthPercentage != null ? settingsCasted.ColumnWidthPercentage : this.ColumnWidthPercentage;
45
- settingsCasted.LabelWidth = settingsCasted.LabelWidth != null ? settingsCasted.LabelWidth : this.LabelWidth;
46
- settingsCasted.LabelVerticalOrientationCutoffWidth = settingsCasted.LabelVerticalOrientationCutoffWidth != null ? settingsCasted.LabelVerticalOrientationCutoffWidth : this.LabelVerticalOrientationCutoffWidth;
47
- settingsCasted.LabelRightWhenCompressed = settingsCasted.LabelRightWhenCompressed != null ? settingsCasted.LabelRightWhenCompressed : this.LabelRightWhenCompressed;
48
- settingsCasted.LabelTopWhenCompressed = settingsCasted.LabelTopWhenCompressed != null ? settingsCasted.LabelTopWhenCompressed : this.LabelTopWhenCompressed;
49
- }
50
- /**
51
- * Effettua il rendering di questo grafico in base ai Settings
52
- *
53
- * @param {VerticalChartSettings} settingsCasted Impostazioni di graficazione
54
- * @returns {VerticalChartService} La service utilizzata per il rendering nello stato subito successivo al rendering effettuato
55
- */
56
- graphicate(settingsCasted) {
57
- return new VerticalChartService(this.adapter).graphicate(this.Data, settingsCasted);
58
- }
59
- }
60
- EsVerticalChartComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
61
- EsVerticalChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsVerticalChartComponent, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:rgba(153,153,153,.6);text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
63
- type: Component,
64
- args: [{ selector: 'es-vertical-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:rgba(153,153,153,.6);text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
65
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ChartLoader }, { type: i2.ChartDispatcher }, { type: i3.BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
66
- type: Inject,
67
- args: [PLATFORM_ID]
68
- }] }, { type: undefined, decorators: [{
69
- type: Inject,
70
- args: [ESC_DEBUG_MODE]
71
- }] }, { type: undefined, decorators: [{
72
- type: Inject,
73
- args: [ESC_ANIMATIONS]
74
- }] }, { type: undefined, decorators: [{
75
- type: Inject,
76
- args: [ESC_THEME]
77
- }] }, { type: i4.LocalizationService }]; }, propDecorators: { Data: [{
78
- type: Input
79
- }], DataArray: [{
80
- type: Input
81
- }], ColumnWidthPercentage: [{
82
- type: Input
83
- }], LabelWidth: [{
84
- type: Input
85
- }], LabelVerticalOrientationCutoffWidth: [{
86
- type: Input
87
- }], LabelRightWhenCompressed: [{
88
- type: Input
89
- }], LabelTopWhenCompressed: [{
90
- type: Input
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBVSx1QkFBdUIsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUluSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBSTNFOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXNDOUQ7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ2YsY0FBdUIsRUFDdkIsY0FBdUIsRUFDNUIsU0FBaUIsRUFDcEMsRUFBdUI7UUFDdkIsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmxCLFlBQU8sR0FBUCxPQUFPLENBQWE7SUFPcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUI7UUFDZixPQUE4QixDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUFxQztRQUN4RCxjQUFjLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEosY0FBYyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1RyxjQUFjLENBQUMsbUNBQW1DLEdBQUcsY0FBYyxDQUFDLG1DQUFtQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUM7UUFDaE4sY0FBYyxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BLLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM5SixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsY0FBcUM7UUFDOUMsT0FBTyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQW9CLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekcsQ0FBQzs7cUhBdkZVLHdCQUF3Qix1SkEwQ3pCLFdBQVcsYUFDWCxjQUFjLGFBQ2QsY0FBYyxhQUNkLFNBQVM7eUdBN0NSLHdCQUF3QixnWUN4QnJDLHdqQ0FtQndJOzJGREszSCx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OzBCQTRDNUMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxTQUFTOzhFQXhDVixJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFNRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxtQ0FBbUM7c0JBQTNDLEtBQUs7Z0JBS0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUtHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgUExBVEZPUk1fSUQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0Blc2ZhZW56YS9sb2NhbGl6YXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5pbXBvcnQgeyBFU0NfQU5JTUFUSU9OUywgRVNDX1RIRU1FLCBFU0NfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnRMb2FkZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmUvQ2hhcnRMb2FkZXJcIjtcclxuaW1wb3J0IHsgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0RGlzcGF0Y2hlclwiO1xyXG5cclxuaW1wb3J0IHsgVmVydGljYWxDaGFydFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsQ2hhcnRTZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvVmVydGljYWxDaGFydFNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsQ2hhcnREYXRhJztcclxuaW1wb3J0IHsgUGFnZWRDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS9QYWdlZENoYXJ0RGF0YSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBzcGVjaWZpY28gcGVyIGxhIGdyYWZpY2F6aW9uZSBkaSB1biBncmFmaWNvIGEgQmFycmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWxDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDaGFydENvbXBvbmVudCB7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogRGF0aSBzcGVjaWZpY2kgcGVyIGlsIGdyYWZpY28gbyBkaSB1biB0aXBvIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YTogVmVydGljYWxDaGFydERhdGEgfCBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIGRpIERhdGkgc3BlY2lmaWNpIHBlciB1biBncmFmaWNvIHBhZ2luYXRvIG8gZGkgY3VpIG9nbmkgYmxvY2NvIGRhdGkgw6ggdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhQXJyYXk6IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsQ2hhcnREYXRhPltdIHwgUGFnZWRDaGFydERhdGE8YW55PltdO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAqIGUgdHV0dGUgbGUgYmFycmUgcmlzdWx0ZXJhbm5vIGFwcGljY2ljYXRlIGwndW4gbCdhbHRyYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBtYXNzaW1lIGRlbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxhIGRpbWVuc2lvbmUgbWFzc2ltYSBzb3R0byBsYSBxdWFsZSBsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgc2kgaW5jbGluYSBjZXJjYW5kbyBkaSBvY2N1cGFyZSBtZW5vIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSB1biBvZmZzZXQgb3JpenpvbnRhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICovXHJcbiAgQElucHV0KCkgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSB1biBvZmZzZXQgdmVydGljYWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsVG9wV2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGFkYXB0ZXI6IEJhc2VBZGFwdGVyLCB6b25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICBASW5qZWN0KEVTQ19ERUJVR19NT0RFKSBFU0NfREVCVUdfTU9ERTogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0FOSU1BVElPTlMpIEVTQ19BTklNQVRJT05TOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nLFxyXG4gICAgbGM6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGVsLCBwbGF0Zm9ybUlkLCB6b25lLCBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyLCBFU0NfREVCVUdfTU9ERSwgRVNDX0FOSU1BVElPTlMsIGxjLkxvY2FsZSwgRVNDX1RIRU1FKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE90dGllbmUgbGUgcHJvcHJpZXTDoCBzcGVjaWZpY2hlIHBlciBxdWVzdGEgdGlwb2xvZ2lhIGRpIGdyYWZpY28gcGVyIGN1aSBzZXJ2ZSByaWdyYWZpY2FyZVxyXG4gICAqL1xyXG4gIGdldFNwZWNpZmljUHJvcGVydGllc1RvQ2hlY2soKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcIkRhdGFcIiwgXCJEYXRhQXJyYXlcIl07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGkgU2V0dGluZ3MgKEVyZWRpdGF0aSBkYWxsYSBjbGFzc2UgYmFzZSwgcXVpbmRpIGRlbCB0aXBvIGdlbmVyaWNvICoqQmFzZVNldHRpbmdzKiopIGNhc3RhdGkgYWwgdGlwbyBzcGVjaWZpY28gcGVyIHF1ZXN0byBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsQ2hhcnRTZXR0aW5nc30gU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGdldENhc3RlZFNldHRpbmdzKCk6IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB7XHJcbiAgICByZXR1cm4gPFZlcnRpY2FsQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgVmVydGljYWxDaGFydFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZWdyYSBpIFNldHRpbmdzIGJhc2UgY29uIHR1dHRpIGdsaSBJbnB1dCBzcGVjaWZpY2kgZGkgcXVlc3RvIGdyYWZpY28sIGRhbmRvIHByaW9yaXTDoCBhaSBTZXR0aW5ncyBzZSBkZWZpbml0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZmlsbFNwZWNpZmljU2V0dGluZ3Moc2V0dGluZ3NDYXN0ZWQ6IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlID0gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgOiB0aGlzLkNvbHVtbldpZHRoUGVyY2VudGFnZTtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoIDogdGhpcy5MYWJlbFdpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggOiB0aGlzLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRWZmZXR0dWEgaWwgcmVuZGVyaW5nIGRpIHF1ZXN0byBncmFmaWNvIGluIGJhc2UgYWkgU2V0dGluZ3NcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1ZlcnRpY2FsQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgSW1wb3N0YXppb25pIGRpIGdyYWZpY2F6aW9uZVxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbENoYXJ0U2VydmljZX0gTGEgc2VydmljZSB1dGlsaXp6YXRhIHBlciBpbCByZW5kZXJpbmcgbmVsbG8gc3RhdG8gc3ViaXRvIHN1Y2Nlc3Npdm8gYWwgcmVuZGVyaW5nIGVmZmV0dHVhdG9cclxuICAgKi9cclxuICBncmFwaGljYXRlKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MpOiBhbnkge1xyXG4gICAgcmV0dXJuIG5ldyBWZXJ0aWNhbENoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFZlcnRpY2FsQ2hhcnREYXRhPnRoaXMuRGF0YSwgc2V0dGluZ3NDYXN0ZWQpO1xyXG4gIH1cclxufSIsIjxjaGFydC1wYWdlciAqbmdJZj1cImlzUGFnZWRcIiAob25QYWdlQ2hhbmdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiIFtJdGVtc109XCJEYXRhQXJyYXlcIiBbRHRvc109XCJEYXRhRHRvc1wiIFtTdGFydEluZGV4XT1cIkRhdGFEdG9TdGFydEluZGV4XCJcclxuICAgIFtCcm93c2VEZWxheU1zXT1cIkJyb3dzZURlbGF5TXNcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyX2lubmVyIGxldC1oZWFkZXJJdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJfdHI7IGNvbnRleHQgOiB7JGltcGxpY2l0OiBoZWFkZXJJdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9jaGFydC1wYWdlcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nQ2hhcnQgJiYgbG9hZGluZ190ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ190ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdDaGFydCAmJiAhbG9hZGluZ190ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImVzYy1sb2FkaW5nLW92ZXJsYXlcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+TG9hZGluZy4uLi48L3A+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZGl2IFtjbGFzcy5oaWRlLWJsb2NrXT1cImxvYWRpbmdDaGFydFwiIGlkPVwie3tuYW1lfX1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj48L2Rpdj4iXX0=
1
+ import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ESC_ANIMATIONS, ESC_THEME, ESC_DEBUG_MODE } from '../../tokens';
3
+ import { BaseChartComponent } from '../base/base-chart.component';
4
+ import { VerticalChartSettings } from '../../models/settings/VerticalChartSettings';
5
+ import { VerticalChartService } from '../../services/VerticalChartService';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../models/core/ChartLoader";
8
+ import * as i2 from "../../models/core/ChartDispatcher";
9
+ import * as i3 from "../../adapters/BaseAdapter";
10
+ import * as i4 from "@esfaenza/localizations";
11
+ import * as i5 from "@angular/common";
12
+ import * as i6 from "../chart-pager/chart-pager.component";
13
+ /**
14
+ * Componente specifico per la graficazione di un grafico a Barre
15
+ */
16
+ export class EsVerticalChartComponent extends BaseChartComponent {
17
+ /**
18
+ * @ignore
19
+ */
20
+ constructor(el, ChartLoader, ChartDispatcher, adapter, zone, platformId, ESC_DEBUG_MODE, ESC_ANIMATIONS, ESC_THEME, lc) {
21
+ super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_DEBUG_MODE, ESC_ANIMATIONS, lc.Locale, ESC_THEME);
22
+ this.adapter = adapter;
23
+ }
24
+ /**
25
+ * Ottiene le proprietà specifiche per questa tipologia di grafico per cui serve rigraficare
26
+ */
27
+ getSpecificPropertiesToCheck() {
28
+ return ["Data", "DataArray"];
29
+ }
30
+ /**
31
+ * Ottiene i Settings (Ereditati dalla classe base, quindi del tipo generico **BaseSettings**) castati al tipo specifico per questo grafico
32
+ *
33
+ * @returns {VerticalChartSettings} Settings castati al tipo giusto
34
+ */
35
+ getCastedSettings() {
36
+ return (this.Settings ?? new VerticalChartSettings());
37
+ }
38
+ /**
39
+ * Integra i Settings base con tutti gli Input specifici di questo grafico, dando priorità ai Settings se definiti
40
+ *
41
+ * @param {VerticalChartSettings} settingsCasted Settings castati al tipo giusto
42
+ */
43
+ fillSpecificSettings(settingsCasted) {
44
+ settingsCasted.ColumnWidthPercentage = settingsCasted.ColumnWidthPercentage != null ? settingsCasted.ColumnWidthPercentage : this.ColumnWidthPercentage;
45
+ settingsCasted.LabelWidth = settingsCasted.LabelWidth != null ? settingsCasted.LabelWidth : this.LabelWidth;
46
+ settingsCasted.LabelVerticalOrientationCutoffWidth = settingsCasted.LabelVerticalOrientationCutoffWidth != null ? settingsCasted.LabelVerticalOrientationCutoffWidth : this.LabelVerticalOrientationCutoffWidth;
47
+ settingsCasted.LabelRightWhenCompressed = settingsCasted.LabelRightWhenCompressed != null ? settingsCasted.LabelRightWhenCompressed : this.LabelRightWhenCompressed;
48
+ settingsCasted.LabelTopWhenCompressed = settingsCasted.LabelTopWhenCompressed != null ? settingsCasted.LabelTopWhenCompressed : this.LabelTopWhenCompressed;
49
+ }
50
+ /**
51
+ * Effettua il rendering di questo grafico in base ai Settings
52
+ *
53
+ * @param {VerticalChartSettings} settingsCasted Impostazioni di graficazione
54
+ * @returns {VerticalChartService} La service utilizzata per il rendering nello stato subito successivo al rendering effettuato
55
+ */
56
+ graphicate(settingsCasted) {
57
+ return new VerticalChartService(this.adapter).graphicate(this.Data, settingsCasted);
58
+ }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EsVerticalChartComponent, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'es-vertical-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
65
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ChartLoader }, { type: i2.ChartDispatcher }, { type: i3.BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
66
+ type: Inject,
67
+ args: [PLATFORM_ID]
68
+ }] }, { type: undefined, decorators: [{
69
+ type: Inject,
70
+ args: [ESC_DEBUG_MODE]
71
+ }] }, { type: undefined, decorators: [{
72
+ type: Inject,
73
+ args: [ESC_ANIMATIONS]
74
+ }] }, { type: undefined, decorators: [{
75
+ type: Inject,
76
+ args: [ESC_THEME]
77
+ }] }, { type: i4.LocalizationService }]; }, propDecorators: { Data: [{
78
+ type: Input
79
+ }], DataArray: [{
80
+ type: Input
81
+ }], ColumnWidthPercentage: [{
82
+ type: Input
83
+ }], LabelWidth: [{
84
+ type: Input
85
+ }], LabelVerticalOrientationCutoffWidth: [{
86
+ type: Input
87
+ }], LabelRightWhenCompressed: [{
88
+ type: Input
89
+ }], LabelTopWhenCompressed: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBVSx1QkFBdUIsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUluSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7O0FBSTNFOztHQUVHO0FBT0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGtCQUFrQjtJQXNDOUQ7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ2YsY0FBdUIsRUFDdkIsY0FBdUIsRUFDNUIsU0FBaUIsRUFDcEMsRUFBdUI7UUFDdkIsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmxCLFlBQU8sR0FBUCxPQUFPLENBQWE7SUFPcEgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsNEJBQTRCO1FBQzFCLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUI7UUFDZixPQUE4QixDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxjQUFxQztRQUN4RCxjQUFjLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEosY0FBYyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUM1RyxjQUFjLENBQUMsbUNBQW1DLEdBQUcsY0FBYyxDQUFDLG1DQUFtQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLENBQUM7UUFDaE4sY0FBYyxDQUFDLHdCQUF3QixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BLLGNBQWMsQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUM5SixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsY0FBcUM7UUFDOUMsT0FBTyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQW9CLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekcsQ0FBQzsrR0F2RlUsd0JBQXdCLHVKQTBDekIsV0FBVyxhQUNYLGNBQWMsYUFDZCxjQUFjLGFBQ2QsU0FBUzttR0E3Q1Isd0JBQXdCLGdZQ3hCckMsd2pDQW1Cd0k7OzRGREszSCx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OzBCQTRDNUMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxTQUFTOzhFQXhDVixJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFNRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxtQ0FBbUM7c0JBQTNDLEtBQUs7Z0JBS0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUtHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgUExBVEZPUk1fSUQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0Blc2ZhZW56YS9sb2NhbGl6YXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5pbXBvcnQgeyBFU0NfQU5JTUFUSU9OUywgRVNDX1RIRU1FLCBFU0NfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnRMb2FkZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmUvQ2hhcnRMb2FkZXJcIjtcclxuaW1wb3J0IHsgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0RGlzcGF0Y2hlclwiO1xyXG5cclxuaW1wb3J0IHsgVmVydGljYWxDaGFydFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsQ2hhcnRTZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvVmVydGljYWxDaGFydFNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsQ2hhcnREYXRhJztcclxuaW1wb3J0IHsgUGFnZWRDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS9QYWdlZENoYXJ0RGF0YSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBzcGVjaWZpY28gcGVyIGxhIGdyYWZpY2F6aW9uZSBkaSB1biBncmFmaWNvIGEgQmFycmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWxDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDaGFydENvbXBvbmVudCB7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogRGF0aSBzcGVjaWZpY2kgcGVyIGlsIGdyYWZpY28gbyBkaSB1biB0aXBvIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YTogVmVydGljYWxDaGFydERhdGEgfCBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIGRpIERhdGkgc3BlY2lmaWNpIHBlciB1biBncmFmaWNvIHBhZ2luYXRvIG8gZGkgY3VpIG9nbmkgYmxvY2NvIGRhdGkgw6ggdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhQXJyYXk6IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsQ2hhcnREYXRhPltdIHwgUGFnZWRDaGFydERhdGE8YW55PltdO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAqIGUgdHV0dGUgbGUgYmFycmUgcmlzdWx0ZXJhbm5vIGFwcGljY2ljYXRlIGwndW4gbCdhbHRyYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBtYXNzaW1lIGRlbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxhIGRpbWVuc2lvbmUgbWFzc2ltYSBzb3R0byBsYSBxdWFsZSBsYSBsYWJlbCBhc3NvY2lhdGEgYSB1biBncnVwcG8gZGkgYmFycmUgc2kgaW5jbGluYSBjZXJjYW5kbyBkaSBvY2N1cGFyZSBtZW5vIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSB1biBvZmZzZXQgb3JpenpvbnRhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICovXHJcbiAgQElucHV0KCkgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSB1biBvZmZzZXQgdmVydGljYWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExhYmVsVG9wV2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGFkYXB0ZXI6IEJhc2VBZGFwdGVyLCB6b25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICBASW5qZWN0KEVTQ19ERUJVR19NT0RFKSBFU0NfREVCVUdfTU9ERTogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0FOSU1BVElPTlMpIEVTQ19BTklNQVRJT05TOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nLFxyXG4gICAgbGM6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGVsLCBwbGF0Zm9ybUlkLCB6b25lLCBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyLCBFU0NfREVCVUdfTU9ERSwgRVNDX0FOSU1BVElPTlMsIGxjLkxvY2FsZSwgRVNDX1RIRU1FKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE90dGllbmUgbGUgcHJvcHJpZXTDoCBzcGVjaWZpY2hlIHBlciBxdWVzdGEgdGlwb2xvZ2lhIGRpIGdyYWZpY28gcGVyIGN1aSBzZXJ2ZSByaWdyYWZpY2FyZVxyXG4gICAqL1xyXG4gIGdldFNwZWNpZmljUHJvcGVydGllc1RvQ2hlY2soKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcIkRhdGFcIiwgXCJEYXRhQXJyYXlcIl07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGkgU2V0dGluZ3MgKEVyZWRpdGF0aSBkYWxsYSBjbGFzc2UgYmFzZSwgcXVpbmRpIGRlbCB0aXBvIGdlbmVyaWNvICoqQmFzZVNldHRpbmdzKiopIGNhc3RhdGkgYWwgdGlwbyBzcGVjaWZpY28gcGVyIHF1ZXN0byBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsQ2hhcnRTZXR0aW5nc30gU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGdldENhc3RlZFNldHRpbmdzKCk6IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB7XHJcbiAgICByZXR1cm4gPFZlcnRpY2FsQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgVmVydGljYWxDaGFydFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZWdyYSBpIFNldHRpbmdzIGJhc2UgY29uIHR1dHRpIGdsaSBJbnB1dCBzcGVjaWZpY2kgZGkgcXVlc3RvIGdyYWZpY28sIGRhbmRvIHByaW9yaXTDoCBhaSBTZXR0aW5ncyBzZSBkZWZpbml0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZmlsbFNwZWNpZmljU2V0dGluZ3Moc2V0dGluZ3NDYXN0ZWQ6IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlID0gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgOiB0aGlzLkNvbHVtbldpZHRoUGVyY2VudGFnZTtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoIDogdGhpcy5MYWJlbFdpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggOiB0aGlzLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRWZmZXR0dWEgaWwgcmVuZGVyaW5nIGRpIHF1ZXN0byBncmFmaWNvIGluIGJhc2UgYWkgU2V0dGluZ3NcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1ZlcnRpY2FsQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgSW1wb3N0YXppb25pIGRpIGdyYWZpY2F6aW9uZVxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbENoYXJ0U2VydmljZX0gTGEgc2VydmljZSB1dGlsaXp6YXRhIHBlciBpbCByZW5kZXJpbmcgbmVsbG8gc3RhdG8gc3ViaXRvIHN1Y2Nlc3Npdm8gYWwgcmVuZGVyaW5nIGVmZmV0dHVhdG9cclxuICAgKi9cclxuICBncmFwaGljYXRlKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MpOiBhbnkge1xyXG4gICAgcmV0dXJuIG5ldyBWZXJ0aWNhbENoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFZlcnRpY2FsQ2hhcnREYXRhPnRoaXMuRGF0YSwgc2V0dGluZ3NDYXN0ZWQpO1xyXG4gIH1cclxufSIsIjxjaGFydC1wYWdlciAqbmdJZj1cImlzUGFnZWRcIiAob25QYWdlQ2hhbmdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiIFtJdGVtc109XCJEYXRhQXJyYXlcIiBbRHRvc109XCJEYXRhRHRvc1wiIFtTdGFydEluZGV4XT1cIkRhdGFEdG9TdGFydEluZGV4XCJcclxuICAgIFtCcm93c2VEZWxheU1zXT1cIkJyb3dzZURlbGF5TXNcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyX2lubmVyIGxldC1oZWFkZXJJdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJfdHI7IGNvbnRleHQgOiB7JGltcGxpY2l0OiBoZWFkZXJJdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9jaGFydC1wYWdlcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nQ2hhcnQgJiYgbG9hZGluZ190ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ190ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdDaGFydCAmJiAhbG9hZGluZ190ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImVzYy1sb2FkaW5nLW92ZXJsYXlcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+TG9hZGluZy4uLi48L3A+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZGl2IFtjbGFzcy5oaWRlLWJsb2NrXT1cImxvYWRpbmdDaGFydFwiIGlkPVwie3tuYW1lfX1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj48L2Rpdj4iXX0=