aril 2.0.1-dev.4 → 2.0.1

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 (192) hide show
  1. package/boot/config/apps/src/interfaces.d.ts +7 -1
  2. package/boot/config/apps/src/route-close.service.d.ts +8 -3
  3. package/boot/config/apps/src/route-permissions.d.ts +2 -2
  4. package/esm2022/boot/config/api/src/interfaces.mjs +3 -2
  5. package/esm2022/boot/config/apps/src/apps.service.mjs +2 -2
  6. package/esm2022/boot/config/apps/src/custom-route-reuse-strategy.class.mjs +4 -4
  7. package/esm2022/boot/config/apps/src/interfaces.mjs +2 -1
  8. package/esm2022/boot/config/apps/src/route-close.service.mjs +11 -4
  9. package/esm2022/boot/config/apps/src/route-permissions.mjs +24 -6
  10. package/esm2022/boot/config/plugins/src/plugins.service.mjs +7 -5
  11. package/esm2022/boot/host/src/bootstrap.mjs +5 -3
  12. package/esm2022/boot/mfe/src/bootstrap.mjs +11 -3
  13. package/esm2022/http/index.mjs +1 -2
  14. package/esm2022/http/src/serviceBase.mjs +4 -4
  15. package/esm2022/http/src/serviceStateMethods.mjs +9 -1
  16. package/esm2022/keycloak/src/auth.interceptor.mjs +5 -2
  17. package/esm2022/selection/aril-selection.mjs +5 -0
  18. package/esm2022/selection/index.mjs +2 -0
  19. package/esm2022/selection/src/interfaces.mjs +2 -0
  20. package/esm2022/selection/src/selection-group.service.mjs +195 -0
  21. package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +2 -2
  22. package/esm2022/theme/layout/index.mjs +4 -2
  23. package/esm2022/theme/layout/service/tab-session.service.mjs +1 -1
  24. package/esm2022/ui/button/index.mjs +1 -2
  25. package/esm2022/ui/button/src/button.component.mjs +5 -2
  26. package/esm2022/ui/charts/index.mjs +1 -11
  27. package/esm2022/ui/lib/index.mjs +1 -4
  28. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +9 -5
  29. package/esm2022/ui/multiSelect/src/multi-select.component.mjs +25 -25
  30. package/esm2022/ui/relativeDateSelector/src/relative-date-selector.component.mjs +2 -2
  31. package/esm2022/ui/selectBox/src/select-box.component.mjs +11 -34
  32. package/esm2022/ui/table/src/table.component.mjs +10 -5
  33. package/esm2022/ui/value/src/value.component.mjs +3 -2
  34. package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +14 -6
  35. package/esm2022/util/activity/aril-util-activity.mjs +5 -0
  36. package/esm2022/util/activity/index.mjs +4 -0
  37. package/esm2022/util/activity/src/activity.constants.mjs +4 -0
  38. package/esm2022/util/activity/src/activity.service.mjs +218 -0
  39. package/esm2022/util/activity/src/activity.types.mjs +2 -0
  40. package/esm2022/util/block/src/block.mjs +9 -25
  41. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +10 -5
  42. package/fesm2022/{aril-app.component-s14ruALV.mjs → aril-app.component-MjG_tPEe.mjs} +2 -1
  43. package/fesm2022/{aril-app.component-s14ruALV.mjs.map → aril-app.component-MjG_tPEe.mjs.map} +1 -1
  44. package/fesm2022/aril-boot-config-api.mjs +2 -1
  45. package/fesm2022/aril-boot-config-api.mjs.map +1 -1
  46. package/fesm2022/aril-boot-config-apps.mjs +36 -12
  47. package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
  48. package/fesm2022/aril-boot-config-plugins.mjs +6 -4
  49. package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
  50. package/fesm2022/aril-boot-host.mjs +4 -2
  51. package/fesm2022/aril-boot-host.mjs.map +1 -1
  52. package/fesm2022/{aril-boot-mfe-app.component-oxzMhRXe.mjs → aril-boot-mfe-app.component-DtspQ3J8.mjs} +3 -2
  53. package/fesm2022/{aril-boot-mfe-app.component-oxzMhRXe.mjs.map → aril-boot-mfe-app.component-DtspQ3J8.mjs.map} +1 -1
  54. package/fesm2022/{aril-boot-mfe-aril-boot-mfe-CKOM61xb.mjs → aril-boot-mfe-aril-boot-mfe-lovoFcgw.mjs} +12 -4
  55. package/fesm2022/aril-boot-mfe-aril-boot-mfe-lovoFcgw.mjs.map +1 -0
  56. package/fesm2022/aril-boot-mfe.mjs +2 -1
  57. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  58. package/fesm2022/aril-http.mjs +11 -7
  59. package/fesm2022/aril-http.mjs.map +1 -1
  60. package/fesm2022/aril-keycloak.mjs +4 -1
  61. package/fesm2022/aril-keycloak.mjs.map +1 -1
  62. package/fesm2022/aril-selection.mjs +202 -0
  63. package/fesm2022/aril-selection.mjs.map +1 -0
  64. package/fesm2022/aril-theme-layout.mjs +4 -193
  65. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  66. package/fesm2022/aril-ui-business-enumPicker.mjs +14 -6
  67. package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -1
  68. package/fesm2022/aril-ui-button.mjs +5 -17
  69. package/fesm2022/aril-ui-button.mjs.map +1 -1
  70. package/fesm2022/aril-ui-charts.mjs +4 -1302
  71. package/fesm2022/aril-ui-charts.mjs.map +1 -1
  72. package/fesm2022/aril-ui-lib.mjs +10 -98
  73. package/fesm2022/aril-ui-lib.mjs.map +1 -1
  74. package/fesm2022/aril-ui-multiSelect.mjs +24 -24
  75. package/fesm2022/aril-ui-multiSelect.mjs.map +1 -1
  76. package/fesm2022/aril-ui-relativeDateSelector.mjs +1 -1
  77. package/fesm2022/aril-ui-relativeDateSelector.mjs.map +1 -1
  78. package/fesm2022/aril-ui-selectBox.mjs +10 -33
  79. package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
  80. package/fesm2022/aril-ui-table.mjs +9 -4
  81. package/fesm2022/aril-ui-table.mjs.map +1 -1
  82. package/fesm2022/aril-ui-value.mjs +2 -1
  83. package/fesm2022/aril-ui-value.mjs.map +1 -1
  84. package/fesm2022/aril-util-activity.mjs +228 -0
  85. package/fesm2022/aril-util-activity.mjs.map +1 -0
  86. package/fesm2022/aril-util-block.mjs +9 -25
  87. package/fesm2022/aril-util-block.mjs.map +1 -1
  88. package/fesm2022/aril-util-pub-sub.mjs +9 -4
  89. package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
  90. package/fesm2022/aril.mjs +14 -5
  91. package/fesm2022/aril.mjs.map +1 -1
  92. package/http/index.d.ts +0 -1
  93. package/http/src/serviceStateMethods.d.ts +1 -0
  94. package/package.json +184 -208
  95. package/scripts/mf-shared.js +47 -47
  96. package/selection/index.d.ts +1 -0
  97. package/selection/src/interfaces.d.ts +8 -0
  98. package/{theme/layout/service → selection/src}/selection-group.service.d.ts +1 -1
  99. package/theme/layout/index.d.ts +1 -1
  100. package/theme/layout/index.ts +3 -1
  101. package/theme/layout/service/tab-session.service.ts +138 -138
  102. package/ui/button/index.d.ts +0 -1
  103. package/ui/button/src/button.component.d.ts +2 -0
  104. package/ui/charts/index.d.ts +0 -10
  105. package/ui/lib/index.d.ts +0 -3
  106. package/ui/lib/src/form/form-error-message.directive.d.ts +4 -3
  107. package/ui/multiSelect/src/multi-select.component.d.ts +4 -5
  108. package/ui/selectBox/src/select-box.component.d.ts +2 -7
  109. package/ui/table/src/table.component.d.ts +3 -2
  110. package/util/activity/index.d.ts +3 -0
  111. package/util/activity/src/activity.constants.d.ts +3 -0
  112. package/util/activity/src/activity.service.d.ts +35 -0
  113. package/util/activity/src/activity.types.d.ts +13 -0
  114. package/util/block/src/block.d.ts +4 -10
  115. package/util/pub-sub/src/pub-sub.service.d.ts +2 -2
  116. package/esm2022/http/src/serviceMockBase.mjs +0 -4
  117. package/esm2022/theme/layout/service/selection-group.service.mjs +0 -195
  118. package/esm2022/ui/button/src/split-button.component.mjs +0 -18
  119. package/esm2022/ui/charts/src/amCharts/column/column-chart.component.mjs +0 -124
  120. package/esm2022/ui/charts/src/amCharts/line/line-chart.component.mjs +0 -164
  121. package/esm2022/ui/charts/src/amCharts/pie/pie-chart.component.mjs +0 -116
  122. package/esm2022/ui/charts/src/highCharts/area/area-chart.component.mjs +0 -114
  123. package/esm2022/ui/charts/src/highCharts/bar/bar-chart.component.mjs +0 -100
  124. package/esm2022/ui/charts/src/highCharts/column/column-chart.component.mjs +0 -117
  125. package/esm2022/ui/charts/src/highCharts/heatmap/heatMap-chart.component.mjs +0 -252
  126. package/esm2022/ui/charts/src/highCharts/line/line-chart-series.component.mjs +0 -89
  127. package/esm2022/ui/charts/src/highCharts/line/line-chart.component.mjs +0 -82
  128. package/esm2022/ui/charts/src/highCharts/pie/pie-chart.component.mjs +0 -137
  129. package/esm2022/ui/charts/src/theme/theme.mjs +0 -54
  130. package/esm2022/ui/dxEditor/aril-ui-dxEditor.mjs +0 -5
  131. package/esm2022/ui/dxEditor/index.mjs +0 -2
  132. package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +0 -26
  133. package/esm2022/ui/lib/src/form/form-field-builder.mjs +0 -23
  134. package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +0 -49
  135. package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +0 -25
  136. package/esm2022/ui/overlayPanel/aril-ui-overlayPanel.mjs +0 -5
  137. package/esm2022/ui/overlayPanel/index.mjs +0 -2
  138. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +0 -20
  139. package/esm2022/ui/tooltip/aril-ui-tooltip.mjs +0 -5
  140. package/esm2022/ui/tooltip/index.mjs +0 -2
  141. package/esm2022/ui/tooltip/src/tooltip-component.mjs +0 -23
  142. package/esm2022/ui/treeTable/aril-ui-treeTable.mjs +0 -5
  143. package/esm2022/ui/treeTable/index.mjs +0 -2
  144. package/esm2022/ui/treeTable/src/tree-table.component.mjs +0 -55
  145. package/esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs +0 -5
  146. package/esm2022/ui-business/operation-types-dialog/index.mjs +0 -2
  147. package/esm2022/ui-business/operation-types-dialog/src/operation-types-dialog.component.mjs +0 -76
  148. package/esm2022/util/unwrap/aril-util-unwrap.mjs +0 -5
  149. package/esm2022/util/unwrap/index.mjs +0 -2
  150. package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +0 -24
  151. package/fesm2022/aril-boot-mfe-aril-boot-mfe-CKOM61xb.mjs.map +0 -1
  152. package/fesm2022/aril-ui-business-operation-types-dialog.mjs +0 -83
  153. package/fesm2022/aril-ui-business-operation-types-dialog.mjs.map +0 -1
  154. package/fesm2022/aril-ui-dxEditor.mjs +0 -33
  155. package/fesm2022/aril-ui-dxEditor.mjs.map +0 -1
  156. package/fesm2022/aril-ui-overlayPanel.mjs +0 -27
  157. package/fesm2022/aril-ui-overlayPanel.mjs.map +0 -1
  158. package/fesm2022/aril-ui-tooltip.mjs +0 -30
  159. package/fesm2022/aril-ui-tooltip.mjs.map +0 -1
  160. package/fesm2022/aril-ui-treeTable.mjs +0 -62
  161. package/fesm2022/aril-ui-treeTable.mjs.map +0 -1
  162. package/fesm2022/aril-util-unwrap.mjs +0 -31
  163. package/fesm2022/aril-util-unwrap.mjs.map +0 -1
  164. package/http/src/serviceMockBase.d.ts +0 -6
  165. package/theme/layout/service/selection-group.service.ts +0 -209
  166. package/ui/button/src/split-button.component.d.ts +0 -8
  167. package/ui/charts/src/amCharts/column/column-chart.component.d.ts +0 -25
  168. package/ui/charts/src/amCharts/line/line-chart.component.d.ts +0 -26
  169. package/ui/charts/src/amCharts/pie/pie-chart.component.d.ts +0 -24
  170. package/ui/charts/src/highCharts/area/area-chart.component.d.ts +0 -20
  171. package/ui/charts/src/highCharts/bar/bar-chart.component.d.ts +0 -26
  172. package/ui/charts/src/highCharts/column/column-chart.component.d.ts +0 -28
  173. package/ui/charts/src/highCharts/heatmap/heatMap-chart.component.d.ts +0 -32
  174. package/ui/charts/src/highCharts/line/line-chart-series.component.d.ts +0 -21
  175. package/ui/charts/src/highCharts/line/line-chart.component.d.ts +0 -21
  176. package/ui/charts/src/highCharts/pie/pie-chart.component.d.ts +0 -27
  177. package/ui/charts/src/theme/theme.d.ts +0 -5
  178. package/ui/dxEditor/index.d.ts +0 -1
  179. package/ui/dxEditor/src/dx-editor.component.d.ts +0 -11
  180. package/ui/lib/src/form/form-field-builder.d.ts +0 -8
  181. package/ui/lib/src/input/common-input-validators.service.d.ts +0 -20
  182. package/ui/lib/src/input/input-disabled.directive.d.ts +0 -9
  183. package/ui/overlayPanel/index.d.ts +0 -1
  184. package/ui/overlayPanel/src/overlay-panel.component.d.ts +0 -8
  185. package/ui/tooltip/index.d.ts +0 -1
  186. package/ui/tooltip/src/tooltip-component.d.ts +0 -14
  187. package/ui/treeTable/index.d.ts +0 -1
  188. package/ui/treeTable/src/tree-table.component.d.ts +0 -21
  189. package/ui-business/operation-types-dialog/index.d.ts +0 -1
  190. package/ui-business/operation-types-dialog/src/operation-types-dialog.component.d.ts +0 -28
  191. package/util/unwrap/index.d.ts +0 -1
  192. package/util/unwrap/src/unwrap-tag.directive.d.ts +0 -9
@@ -1,164 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { isPlatformBrowser } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, Inject, PLATFORM_ID, input } from '@angular/core';
4
- import * as am5 from '@amcharts/amcharts5';
5
- import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
6
- import * as am5xy from '@amcharts/amcharts5/xy';
7
- import { ChartThemes } from '../../theme/theme';
8
- import * as i0 from "@angular/core";
9
- // EXAMPLE CHART DATA
10
- // https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/
11
- // testChartData = [
12
- // {
13
- // date: 1732628383422,
14
- // value: 100000
15
- // },
16
- // {
17
- // date: 1732638383422,
18
- // value: 160000
19
- // },
20
- // {
21
- // date: 1732658383422,
22
- // value: 80000
23
- // }
24
- // ];
25
- export class LineChartComponent {
26
- constructor(platformId, zone) {
27
- this.platformId = platformId;
28
- this.zone = zone;
29
- this.data = input.required();
30
- this.chartId = input.required(); // must be given unique names for all charts. Its because angular and am5 rendering methods needs unique id to draw different canvas
31
- this.appName = input('yeap');
32
- this.timeUnit = input('day');
33
- this.chartHeight = input.required();
34
- this.chartColorSet = [];
35
- }
36
- browserOnly(f) {
37
- if (isPlatformBrowser(this.platformId)) {
38
- this.zone.runOutsideAngular(() => {
39
- f();
40
- });
41
- }
42
- }
43
- ngAfterViewInit() {
44
- // Chart code goes in here
45
- this.browserOnly(() => {
46
- switch (this.appName()) {
47
- case 'yeap':
48
- this.chartColorSet = ChartThemes.getYeapAppColors();
49
- break;
50
- case 'thor':
51
- this.chartColorSet = ChartThemes.getThorAppColors();
52
- break;
53
- case 'lena':
54
- this.chartColorSet = ChartThemes.getLenaAppColors();
55
- break;
56
- case 'billing':
57
- this.chartColorSet = ChartThemes.getThorAppColors();
58
- break;
59
- default:
60
- this.chartColorSet = ChartThemes.getYeapAppColors();
61
- break;
62
- }
63
- const root = am5.Root.new(this.chartId());
64
- root._logo?.dispose();
65
- root.setThemes([am5themes_Animated.new(root)]);
66
- const chart = root.container.children.push(am5xy.XYChart.new(root, {
67
- panX: false,
68
- panY: false,
69
- wheelX: 'panX',
70
- wheelY: 'zoomX',
71
- paddingLeft: 0
72
- }));
73
- const cursor = chart.set('cursor', am5xy.XYCursor.new(root, {
74
- behavior: 'zoomX'
75
- }));
76
- cursor.lineY.set('visible', false);
77
- const xAxis = chart.xAxes.push(am5xy.DateAxis.new(root, {
78
- maxDeviation: 0,
79
- baseInterval: {
80
- timeUnit: this.timeUnit(),
81
- count: 1
82
- },
83
- markUnitChange: false,
84
- gridIntervals: [
85
- { timeUnit: 'day', count: 1 },
86
- { timeUnit: 'month', count: 1 },
87
- { timeUnit: 'year', count: 1 }
88
- ],
89
- tooltipDateFormat: 'dd-MM-yyyy',
90
- renderer: am5xy.AxisRendererX.new(root, {
91
- minorGridEnabled: true,
92
- minGridDistance: 200,
93
- minorLabelsEnabled: true
94
- }),
95
- tooltip: am5.Tooltip.new(root, {})
96
- }));
97
- xAxis.set('minorDateFormats', {
98
- day: 'dd',
99
- month: 'MM',
100
- year: 'yyyy'
101
- });
102
- xAxis.get('dateFormats')['day'] = 'dd/MM/yyyy';
103
- const yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {
104
- renderer: am5xy.AxisRendererY.new(root, {})
105
- }));
106
- const series = chart.series.push(am5xy.LineSeries.new(root, {
107
- name: 'Series',
108
- xAxis: xAxis,
109
- yAxis: yAxis,
110
- valueYField: 'value',
111
- valueXField: 'date',
112
- stroke: am5.color(this.chartColorSet[0]),
113
- tooltip: am5.Tooltip.new(root, {
114
- labelText: '{valueY}'
115
- })
116
- }));
117
- series.bullets.push(function () {
118
- const bulletCircle = am5.Circle.new(root, {
119
- radius: 5,
120
- fill: series.get('fill')
121
- });
122
- return am5.Bullet.new(root, {
123
- sprite: bulletCircle
124
- });
125
- });
126
- chart.set('scrollbarX', am5.Scrollbar.new(root, {
127
- orientation: 'horizontal'
128
- }));
129
- series.set('fill', am5.color(this.chartColorSet[0])); // set Series color to red
130
- // series.fills.template.setAll({
131
- // fillOpacity: 0.5,
132
- // visible: true
133
- // color
134
- // });
135
- series.data.setAll(this.data());
136
- series.appear(1000);
137
- chart.appear(1000, 100);
138
- });
139
- }
140
- ngOnDestroy() {
141
- // Clean up chart when the component is removed
142
- this.browserOnly(() => {
143
- if (this.root) {
144
- this.root.dispose();
145
- }
146
- });
147
- }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LineChartComponent, deps: [{ token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: LineChartComponent, isStandalone: true, selector: "aril-line-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, chartId: { classPropertyName: "chartId", publicName: "chartId", isSignal: true, isRequired: true, transformFunction: null }, appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, timeUnit: { classPropertyName: "timeUnit", publicName: "timeUnit", isSignal: true, isRequired: false, transformFunction: null }, chartHeight: { classPropertyName: "chartHeight", publicName: "chartHeight", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<div style="width: 100%; height:{{ chartHeight() }}px;" id="{{ chartId() }}"></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
150
- }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LineChartComponent, decorators: [{
152
- type: Component,
153
- args: [{
154
- standalone: true,
155
- selector: 'aril-line-chart',
156
- template: `<div style="width: 100%; height:{{ chartHeight() }}px;" id="{{ chartId() }}"></div>`,
157
- imports: [NgClass],
158
- changeDetection: ChangeDetectionStrategy.OnPush
159
- }]
160
- }], ctorParameters: () => [{ type: Object, decorators: [{
161
- type: Inject,
162
- args: [PLATFORM_ID]
163
- }] }, { type: i0.NgZone }] });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL2NoYXJ0cy9zcmMvYW1DaGFydHMvbGluZS9saW5lLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sa0JBQWtCLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxLQUFLLEtBQUssTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBVWhELHFCQUFxQjtBQUNyQixtRUFBbUU7QUFDbkUsb0JBQW9CO0FBQ3BCLEtBQUs7QUFDTCx5QkFBeUI7QUFDekIsa0JBQWtCO0FBQ2xCLE1BQU07QUFDTixLQUFLO0FBQ0wseUJBQXlCO0FBQ3pCLGtCQUFrQjtBQUNsQixNQUFNO0FBQ04sS0FBSztBQUNMLHlCQUF5QjtBQUN6QixpQkFBaUI7QUFDakIsS0FBSztBQUNMLEtBQUs7QUFTTCxNQUFNLE9BQU8sa0JBQWtCO0lBRzlCLFlBQXlDLFVBQWtCLEVBQVUsSUFBWTtRQUF4QyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUVqRixTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUMsQ0FBQyxvSUFBb0k7UUFDeEss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LENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1YsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0F0Slcsa0JBQWtCLGtCQUdWLFdBQVc7a0dBSG5CLGtCQUFrQixndEJBSnBCLHFGQUFxRjs7MkZBSW5GLGtCQUFrQjtrQkFQOUIsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHFGQUFxRjtvQkFDL0YsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDL0M7OzBCQUlhLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgTmdab25lLCBQTEFURk9STV9JRCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCAqIGFzIGFtNSBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1JztcclxuaW1wb3J0IGFtNXRoZW1lc19BbmltYXRlZCBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZCc7XHJcbmltcG9ydCAqIGFzIGFtNXh5IGZyb20gJ0BhbWNoYXJ0cy9hbWNoYXJ0czUveHknO1xyXG5cclxuaW1wb3J0IHsgQ2hhcnRUaGVtZXMgfSBmcm9tICcuLi8uLi90aGVtZS90aGVtZSc7XHJcblxyXG5pbnRlcmZhY2UgZGF0YUl0ZW1zIHtcclxuXHRkYXRlOiBudW1iZXI7IC8vIHRoaXMgZmllbGQgY2FuIHVzZSBhcyBjYXRlZ29yeVxyXG5cdHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbnR5cGUgYXBwTmFtZXMgPSAndGhvcicgfCAnbGVuYScgfCAnYmlsbGluZycgfCAneWVhcCc7XHJcbnR5cGUgdGltZVVuaXQgPSAnZGF5JyB8ICdtb250aCcgfCAneWVhcicgfCAnd2VlaycgfCAnaG91cicgfCAnbWludXRlJyB8ICdzZWNvbmQnO1xyXG5cclxuLy8gRVhBTVBMRSBDSEFSVCBEQVRBXHJcbi8vIGh0dHBzOi8vd3d3LmFtY2hhcnRzLmNvbS9kb2NzL3Y1L2NoYXJ0cy94eS1jaGFydC9heGVzL2RhdGUtYXhpcy9cclxuLy8gdGVzdENoYXJ0RGF0YSA9IFtcclxuLy8gXHR7XHJcbi8vIFx0XHRkYXRlOiAxNzMyNjI4MzgzNDIyLFxyXG4vLyBcdFx0dmFsdWU6IDEwMDAwMFxyXG4vLyBcdH0sXHJcbi8vIFx0e1xyXG4vLyBcdFx0ZGF0ZTogMTczMjYzODM4MzQyMixcclxuLy8gXHRcdHZhbHVlOiAxNjAwMDBcclxuLy8gXHR9LFxyXG4vLyBcdHtcclxuLy8gXHRcdGRhdGU6IDE3MzI2NTgzODM0MjIsXHJcbi8vIFx0XHR2YWx1ZTogODAwMDBcclxuLy8gXHR9XHJcbi8vIF07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC1saW5lLWNoYXJ0JyxcclxuXHR0ZW1wbGF0ZTogYDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0Ont7IGNoYXJ0SGVpZ2h0KCkgfX1weDtcIiBpZD1cInt7IGNoYXJ0SWQoKSB9fVwiPjwvZGl2PmAsXHJcblx0aW1wb3J0czogW05nQ2xhc3NdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaW5lQ2hhcnRDb21wb25lbnQge1xyXG5cdHByaXZhdGUgcm9vdCE6IGFtNS5Sb290O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XHJcblxyXG5cdGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxkYXRhSXRlbXNbXT4oKTtcclxuXHRjaGFydElkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpOyAvLyBtdXN0IGJlIGdpdmVuIHVuaXF1ZSBuYW1lcyBmb3IgYWxsIGNoYXJ0cy4gSXRzIGJlY2F1c2UgYW5ndWxhciBhbmQgYW01IHJlbmRlcmluZyBtZXRob2RzIG5lZWRzIHVuaXF1ZSBpZCB0byBkcmF3IGRpZmZlcmVudCBjYW52YXNcclxuXHRhcHBOYW1lID0gaW5wdXQ8YXBwTmFtZXM+KCd5ZWFwJyk7XHJcblx0dGltZVVuaXQgPSBpbnB1dDx0aW1lVW5pdD4oJ2RheScpO1xyXG5cdGNoYXJ0SGVpZ2h0ID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cdGNoYXJ0Q29sb3JTZXQ6IHN0cmluZ1tdID0gW107XHJcblxyXG5cdGJyb3dzZXJPbmx5KGY6ICgpID0+IHZvaWQpIHtcclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcblx0XHRcdHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcblx0XHRcdFx0ZigpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHRcdC8vIENoYXJ0IGNvZGUgZ29lcyBpbiBoZXJlXHJcblx0XHR0aGlzLmJyb3dzZXJPbmx5KCgpID0+IHtcclxuXHRcdFx0c3dpdGNoICh0aGlzLmFwcE5hbWUoKSkge1xyXG5cdFx0XHRcdGNhc2UgJ3llYXAnOlxyXG5cdFx0XHRcdFx0dGhpcy5jaGFydENvbG9yU2V0ID0gQ2hhcnRUaGVtZXMuZ2V0WWVhcEFwcENvbG9ycygpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAndGhvcic6XHJcblx0XHRcdFx0XHR0aGlzLmNoYXJ0Q29sb3JTZXQgPSBDaGFydFRoZW1lcy5nZXRUaG9yQXBwQ29sb3JzKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdsZW5hJzpcclxuXHRcdFx0XHRcdHRoaXMuY2hhcnRDb2xvclNldCA9IENoYXJ0VGhlbWVzLmdldExlbmFBcHBDb2xvcnMoKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2JpbGxpbmcnOlxyXG5cdFx0XHRcdFx0dGhpcy5jaGFydENvbG9yU2V0ID0gQ2hhcnRUaGVtZXMuZ2V0VGhvckFwcENvbG9ycygpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRcdHRoaXMuY2hhcnRDb2xvclNldCA9IENoYXJ0VGhlbWVzLmdldFllYXBBcHBDb2xvcnMoKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IHJvb3QgPSBhbTUuUm9vdC5uZXcodGhpcy5jaGFydElkKCkpO1xyXG5cdFx0XHRyb290Ll9sb2dvPy5kaXNwb3NlKCk7XHJcblx0XHRcdHJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpXSk7XHJcblxyXG5cdFx0XHRjb25zdCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goXHJcblx0XHRcdFx0YW01eHkuWFlDaGFydC5uZXcocm9vdCwge1xyXG5cdFx0XHRcdFx0cGFuWDogZmFsc2UsXHJcblx0XHRcdFx0XHRwYW5ZOiBmYWxzZSxcclxuXHRcdFx0XHRcdHdoZWVsWDogJ3BhblgnLFxyXG5cdFx0XHRcdFx0d2hlZWxZOiAnem9vbVgnLFxyXG5cdFx0XHRcdFx0cGFkZGluZ0xlZnQ6IDBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0Y29uc3QgY3Vyc29yID0gY2hhcnQuc2V0KFxyXG5cdFx0XHRcdCdjdXJzb3InLFxyXG5cdFx0XHRcdGFtNXh5LlhZQ3Vyc29yLm5ldyhyb290LCB7XHJcblx0XHRcdFx0XHRiZWhhdmlvcjogJ3pvb21YJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblx0XHRcdGN1cnNvci5saW5lWS5zZXQoJ3Zpc2libGUnLCBmYWxzZSk7XHJcblxyXG5cdFx0XHRjb25zdCB4QXhpcyA9IGNoYXJ0LnhBeGVzLnB1c2goXHJcblx0XHRcdFx0YW01eHkuRGF0ZUF4aXMubmV3KHJvb3QsIHtcclxuXHRcdFx0XHRcdG1heERldmlhdGlvbjogMCxcclxuXHRcdFx0XHRcdGJhc2VJbnRlcnZhbDoge1xyXG5cdFx0XHRcdFx0XHR0aW1lVW5pdDogdGhpcy50aW1lVW5pdCgpLFxyXG5cdFx0XHRcdFx0XHRjb3VudDogMVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdG1hcmtVbml0Q2hhbmdlOiBmYWxzZSxcclxuXHRcdFx0XHRcdGdyaWRJbnRlcnZhbHM6IFtcclxuXHRcdFx0XHRcdFx0eyB0aW1lVW5pdDogJ2RheScsIGNvdW50OiAxIH0sXHJcblx0XHRcdFx0XHRcdHsgdGltZVVuaXQ6ICdtb250aCcsIGNvdW50OiAxIH0sXHJcblx0XHRcdFx0XHRcdHsgdGltZVVuaXQ6ICd5ZWFyJywgY291bnQ6IDEgfVxyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdHRvb2x0aXBEYXRlRm9ybWF0OiAnZGQtTU0teXl5eScsXHJcblx0XHRcdFx0XHRyZW5kZXJlcjogYW01eHkuQXhpc1JlbmRlcmVyWC5uZXcocm9vdCwge1xyXG5cdFx0XHRcdFx0XHRtaW5vckdyaWRFbmFibGVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRtaW5HcmlkRGlzdGFuY2U6IDIwMCxcclxuXHRcdFx0XHRcdFx0bWlub3JMYWJlbHNFbmFibGVkOiB0cnVlXHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRcdHRvb2x0aXA6IGFtNS5Ub29sdGlwLm5ldyhyb290LCB7fSlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0eEF4aXMuc2V0KCdtaW5vckRhdGVGb3JtYXRzJywge1xyXG5cdFx0XHRcdGRheTogJ2RkJyxcclxuXHRcdFx0XHRtb250aDogJ01NJyxcclxuXHRcdFx0XHR5ZWFyOiAneXl5eSdcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0XHR4QXhpcy5nZXQoJ2RhdGVGb3JtYXRzJykhWydkYXknXSA9ICdkZC9NTS95eXl5JztcclxuXHJcblx0XHRcdGNvbnN0IHlBeGlzID0gY2hhcnQueUF4ZXMucHVzaChcclxuXHRcdFx0XHRhbTV4eS5WYWx1ZUF4aXMubmV3KHJvb3QsIHtcclxuXHRcdFx0XHRcdHJlbmRlcmVyOiBhbTV4eS5BeGlzUmVuZGVyZXJZLm5ldyhyb290LCB7fSlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0Y29uc3Qgc2VyaWVzID0gY2hhcnQuc2VyaWVzLnB1c2goXHJcblx0XHRcdFx0YW01eHkuTGluZVNlcmllcy5uZXcocm9vdCwge1xyXG5cdFx0XHRcdFx0bmFtZTogJ1NlcmllcycsXHJcblx0XHRcdFx0XHR4QXhpczogeEF4aXMsXHJcblx0XHRcdFx0XHR5QXhpczogeUF4aXMsXHJcblx0XHRcdFx0XHR2YWx1ZVlGaWVsZDogJ3ZhbHVlJyxcclxuXHRcdFx0XHRcdHZhbHVlWEZpZWxkOiAnZGF0ZScsXHJcblx0XHRcdFx0XHRzdHJva2U6IGFtNS5jb2xvcih0aGlzLmNoYXJ0Q29sb3JTZXRbMF0pLFxyXG5cdFx0XHRcdFx0dG9vbHRpcDogYW01LlRvb2x0aXAubmV3KHJvb3QsIHtcclxuXHRcdFx0XHRcdFx0bGFiZWxUZXh0OiAne3ZhbHVlWX0nXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0XHRzZXJpZXMuYnVsbGV0cy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRjb25zdCBidWxsZXRDaXJjbGUgPSBhbTUuQ2lyY2xlLm5ldyhyb290LCB7XHJcblx0XHRcdFx0XHRyYWRpdXM6IDUsXHJcblx0XHRcdFx0XHRmaWxsOiBzZXJpZXMuZ2V0KCdmaWxsJylcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRyZXR1cm4gYW01LkJ1bGxldC5uZXcocm9vdCwge1xyXG5cdFx0XHRcdFx0c3ByaXRlOiBidWxsZXRDaXJjbGVcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0XHRjaGFydC5zZXQoXHJcblx0XHRcdFx0J3Njcm9sbGJhclgnLFxyXG5cdFx0XHRcdGFtNS5TY3JvbGxiYXIubmV3KHJvb3QsIHtcclxuXHRcdFx0XHRcdG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0c2VyaWVzLnNldCgnZmlsbCcsIGFtNS5jb2xvcih0aGlzLmNoYXJ0Q29sb3JTZXRbMF0pKTsgLy8gc2V0IFNlcmllcyBjb2xvciB0byByZWRcclxuXHRcdFx0Ly8gc2VyaWVzLmZpbGxzLnRlbXBsYXRlLnNldEFsbCh7XHJcblx0XHRcdC8vIFx0ZmlsbE9wYWNpdHk6IDAuNSxcclxuXHRcdFx0Ly8gXHR2aXNpYmxlOiB0cnVlXHJcblx0XHRcdC8vIFx0Y29sb3JcclxuXHRcdFx0Ly8gfSk7XHJcblxyXG5cdFx0XHRzZXJpZXMuZGF0YS5zZXRBbGwodGhpcy5kYXRhKCkpO1xyXG5cdFx0XHRzZXJpZXMuYXBwZWFyKDEwMDApO1xyXG5cdFx0XHRjaGFydC5hcHBlYXIoMTAwMCwgMTAwKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHQvLyBDbGVhbiB1cCBjaGFydCB3aGVuIHRoZSBjb21wb25lbnQgaXMgcmVtb3ZlZFxyXG5cdFx0dGhpcy5icm93c2VyT25seSgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLnJvb3QpIHtcclxuXHRcdFx0XHR0aGlzLnJvb3QuZGlzcG9zZSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -1,116 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { isPlatformBrowser } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, Inject, PLATFORM_ID, input } from '@angular/core';
4
- import * as am5 from '@amcharts/amcharts5';
5
- import * as am5percent from '@amcharts/amcharts5/percent';
6
- import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
7
- import { ChartThemes } from '../../theme/theme';
8
- import * as i0 from "@angular/core";
9
- // EXAMPLE CHART DATA
10
- // testChartData = [
11
- // {
12
- // label: "part1",
13
- // value: 100000
14
- // },
15
- // {
16
- // label: "part1",
17
- // value: 160000
18
- // },
19
- // {
20
- // label: "part1",
21
- // value: 80000
22
- // }
23
- // ];
24
- export class PieChartComponent {
25
- constructor(platformId, zone) {
26
- this.platformId = platformId;
27
- this.zone = zone;
28
- this.data = input.required();
29
- this.chartId = input.required(); // must be given unique names for all charts. Its because angular and am5 rendering methods needs unique id to draw different canvas
30
- this.appName = input('yeap');
31
- this.chartColorSet = [];
32
- this.chartHeight = input.required();
33
- }
34
- browserOnly(f) {
35
- if (isPlatformBrowser(this.platformId)) {
36
- this.zone.runOutsideAngular(() => {
37
- f();
38
- });
39
- }
40
- }
41
- ngAfterViewInit() {
42
- // Chart code goes in here
43
- this.browserOnly(() => {
44
- switch (this.appName()) {
45
- case 'yeap':
46
- this.chartColorSet = ChartThemes.getYeapAppColors();
47
- break;
48
- case 'thor':
49
- this.chartColorSet = ChartThemes.getThorAppColors();
50
- break;
51
- case 'lena':
52
- this.chartColorSet = ChartThemes.getLenaAppColors();
53
- break;
54
- case 'billing':
55
- this.chartColorSet = ChartThemes.getThorAppColors();
56
- break;
57
- default:
58
- this.chartColorSet = ChartThemes.getYeapAppColors();
59
- break;
60
- }
61
- const root = am5.Root.new(this.chartId());
62
- root._logo?.dispose();
63
- root.setThemes([am5themes_Animated.new(root)]);
64
- const chart = root.container.children.push(am5percent.PieChart.new(root, {}));
65
- const series = chart.series.push(am5percent.PieSeries.new(root, {
66
- name: 'Series',
67
- categoryField: 'label',
68
- valueField: 'value',
69
- fillField: 'color'
70
- }));
71
- series.slices.template.adapters.add('fill', (fill, target) => {
72
- const dataContext = target.dataItem?.dataContext;
73
- if (dataContext) {
74
- const index = this.data().findIndex((item) => item.label === dataContext.label);
75
- return am5.color(this.chartColorSet[index % this.chartColorSet.length]); // Sıralı renk seçimi
76
- }
77
- return fill;
78
- });
79
- series.slices.template.setAll({
80
- stroke: am5.color(0xffffff),
81
- strokeWidth: 2
82
- });
83
- series.data.setAll(this.data());
84
- const legend = chart.children.push(am5.Legend.new(root, {
85
- centerX: am5.percent(50),
86
- x: am5.percent(50),
87
- layout: root.horizontalLayout
88
- }));
89
- legend.data.setAll(series.dataItems);
90
- });
91
- }
92
- ngOnDestroy() {
93
- // Clean up chart when the component is removed
94
- this.browserOnly(() => {
95
- if (this.root) {
96
- this.root.dispose();
97
- }
98
- });
99
- }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PieChartComponent, deps: [{ token: PLATFORM_ID }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: PieChartComponent, isStandalone: true, selector: "aril-pie-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, chartId: { classPropertyName: "chartId", publicName: "chartId", isSignal: true, isRequired: true, transformFunction: null }, appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, chartHeight: { classPropertyName: "chartHeight", publicName: "chartHeight", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<div style="width: 100%; height:{{ chartHeight() }}px;" id="{{ chartId() }}"></div>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
- }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PieChartComponent, decorators: [{
104
- type: Component,
105
- args: [{
106
- standalone: true,
107
- selector: 'aril-pie-chart',
108
- template: `<div style="width: 100%; height:{{ chartHeight() }}px;" id="{{ chartId() }}"></div>`,
109
- imports: [NgClass],
110
- changeDetection: ChangeDetectionStrategy.OnPush
111
- }]
112
- }], ctorParameters: () => [{ type: Object, decorators: [{
113
- type: Inject,
114
- args: [PLATFORM_ID]
115
- }] }, { type: i0.NgZone }] });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvY2hhcnRzL3NyYy9hbUNoYXJ0cy9waWUvcGllLWNoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEtBQUssR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxrQkFBa0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUVyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBVWhELHFCQUFxQjtBQUNyQixvQkFBb0I7QUFDcEIsS0FBSztBQUNMLG9CQUFvQjtBQUNwQixrQkFBa0I7QUFDbEIsTUFBTTtBQUNOLEtBQUs7QUFDTCxvQkFBb0I7QUFDcEIsa0JBQWtCO0FBQ2xCLE1BQU07QUFDTixLQUFLO0FBQ0wsb0JBQW9CO0FBQ3BCLGlCQUFpQjtBQUNqQixLQUFLO0FBQ0wsS0FBSztBQVNMLE1BQU0sT0FBTyxpQkFBaUI7SUFHN0IsWUFBeUMsVUFBa0IsRUFBVSxJQUFZO1FBQXhDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBRWpGLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7UUFDckMsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQyxDQUFDLG9JQUFvSTtRQUN4SyxZQUFPLEdBQUcsS0FBSyxD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aUJBQy9DOzswQkFJYSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE5nWm9uZSwgUExBVEZPUk1fSUQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBhbTUgZnJvbSAnQGFtY2hhcnRzL2FtY2hhcnRzNSc7XHJcbmltcG9ydCAqIGFzIGFtNXBlcmNlbnQgZnJvbSAnQGFtY2hhcnRzL2FtY2hhcnRzNS9wZXJjZW50JztcclxuaW1wb3J0IGFtNXRoZW1lc19BbmltYXRlZCBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1L3RoZW1lcy9BbmltYXRlZCc7XHJcblxyXG5pbXBvcnQgeyBDaGFydFRoZW1lcyB9IGZyb20gJy4uLy4uL3RoZW1lL3RoZW1lJztcclxuXHJcbi8vIGltcG9ydCAqIGFzIGFtNWNvbG9yIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM1L2NvbG9yXCI7XHJcbmludGVyZmFjZSBkYXRhSXRlbXMge1xyXG5cdGxhYmVsOiBzdHJpbmc7IC8vIHRoaXMgZmllbGQgY2FuIHVzZSBhcyBjYXRlZ29yeVxyXG5cdHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbnR5cGUgYXBwTmFtZXMgPSAndGhvcicgfCAnbGVuYScgfCAnYmlsbGluZycgfCAneWVhcCc7XHJcblxyXG4vLyBFWEFNUExFIENIQVJUIERBVEFcclxuLy8gdGVzdENoYXJ0RGF0YSA9IFtcclxuLy8gXHR7XHJcbi8vIFx0XHRsYWJlbDogXCJwYXJ0MVwiLFxyXG4vLyBcdFx0dmFsdWU6IDEwMDAwMFxyXG4vLyBcdH0sXHJcbi8vIFx0e1xyXG4vLyBcdFx0bGFiZWw6IFwicGFydDFcIixcclxuLy8gXHRcdHZhbHVlOiAxNjAwMDBcclxuLy8gXHR9LFxyXG4vLyBcdHtcclxuLy8gXHRcdGxhYmVsOiBcInBhcnQxXCIsXHJcbi8vIFx0XHR2YWx1ZTogODAwMDBcclxuLy8gXHR9XHJcbi8vIF07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC1waWUtY2hhcnQnLFxyXG5cdHRlbXBsYXRlOiBgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6e3sgY2hhcnRIZWlnaHQoKSB9fXB4O1wiIGlkPVwie3sgY2hhcnRJZCgpIH19XCI+PC9kaXY+YCxcclxuXHRpbXBvcnRzOiBbTmdDbGFzc10sXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFBpZUNoYXJ0Q29tcG9uZW50IHtcclxuXHRwcml2YXRlIHJvb3QhOiBhbTUuUm9vdDtcclxuXHJcblx0Y29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsIHByaXZhdGUgem9uZTogTmdab25lKSB7fVxyXG5cclxuXHRkYXRhID0gaW5wdXQucmVxdWlyZWQ8ZGF0YUl0ZW1zW10+KCk7XHJcblx0Y2hhcnRJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTsgLy8gbXVzdCBiZSBnaXZlbiB1bmlxdWUgbmFtZXMgZm9yIGFsbCBjaGFydHMuIEl0cyBiZWNhdXNlIGFuZ3VsYXIgYW5kIGFtNSByZW5kZXJpbmcgbWV0aG9kcyBuZWVkcyB1bmlxdWUgaWQgdG8gZHJhdyBkaWZmZXJlbnQgY2FudmFzXHJcblx0YXBwTmFtZSA9IGlucHV0PGFwcE5hbWVzPigneWVhcCcpO1xyXG5cdGNoYXJ0Q29sb3JTZXQ6IHN0cmluZ1tdID0gW107XHJcblx0Y2hhcnRIZWlnaHQgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcblxyXG5cdGJyb3dzZXJPbmx5KGY6ICgpID0+IHZvaWQpIHtcclxuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcblx0XHRcdHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcblx0XHRcdFx0ZigpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHRcdC8vIENoYXJ0IGNvZGUgZ29lcyBpbiBoZXJlXHJcblx0XHR0aGlzLmJyb3dzZXJPbmx5KCgpID0+IHtcclxuXHRcdFx0c3dpdGNoICh0aGlzLmFwcE5hbWUoKSkge1xyXG5cdFx0XHRcdGNhc2UgJ3llYXAnOlxyXG5cdFx0XHRcdFx0dGhpcy5jaGFydENvbG9yU2V0ID0gQ2hhcnRUaGVtZXMuZ2V0WWVhcEFwcENvbG9ycygpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSAndGhvcic6XHJcblx0XHRcdFx0XHR0aGlzLmNoYXJ0Q29sb3JTZXQgPSBDaGFydFRoZW1lcy5nZXRUaG9yQXBwQ29sb3JzKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRjYXNlICdsZW5hJzpcclxuXHRcdFx0XHRcdHRoaXMuY2hhcnRDb2xvclNldCA9IENoYXJ0VGhlbWVzLmdldExlbmFBcHBDb2xvcnMoKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2JpbGxpbmcnOlxyXG5cdFx0XHRcdFx0dGhpcy5jaGFydENvbG9yU2V0ID0gQ2hhcnRUaGVtZXMuZ2V0VGhvckFwcENvbG9ycygpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRcdHRoaXMuY2hhcnRDb2xvclNldCA9IENoYXJ0VGhlbWVzLmdldFllYXBBcHBDb2xvcnMoKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IHJvb3QgPSBhbTUuUm9vdC5uZXcodGhpcy5jaGFydElkKCkpO1xyXG5cdFx0XHRyb290Ll9sb2dvPy5kaXNwb3NlKCk7XHJcblx0XHRcdHJvb3Quc2V0VGhlbWVzKFthbTV0aGVtZXNfQW5pbWF0ZWQubmV3KHJvb3QpXSk7XHJcblxyXG5cdFx0XHRjb25zdCBjaGFydCA9IHJvb3QuY29udGFpbmVyLmNoaWxkcmVuLnB1c2goYW01cGVyY2VudC5QaWVDaGFydC5uZXcocm9vdCwge30pKTtcclxuXHJcblx0XHRcdGNvbnN0IHNlcmllcyA9IGNoYXJ0LnNlcmllcy5wdXNoKFxyXG5cdFx0XHRcdGFtNXBlcmNlbnQuUGllU2VyaWVzLm5ldyhyb290LCB7XHJcblx0XHRcdFx0XHRuYW1lOiAnU2VyaWVzJyxcclxuXHRcdFx0XHRcdGNhdGVnb3J5RmllbGQ6ICdsYWJlbCcsXHJcblx0XHRcdFx0XHR2YWx1ZUZpZWxkOiAndmFsdWUnLFxyXG5cdFx0XHRcdFx0ZmlsbEZpZWxkOiAnY29sb3InXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KTtcclxuXHJcblx0XHRcdHNlcmllcy5zbGljZXMudGVtcGxhdGUuYWRhcHRlcnMuYWRkKCdmaWxsJywgKGZpbGwsIHRhcmdldCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGRhdGFDb250ZXh0OiBhbnkgPSB0YXJnZXQuZGF0YUl0ZW0/LmRhdGFDb250ZXh0O1xyXG5cdFx0XHRcdGlmIChkYXRhQ29udGV4dCkge1xyXG5cdFx0XHRcdFx0Y29uc3QgaW5kZXggPSB0aGlzLmRhdGEoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0ubGFiZWwgPT09IGRhdGFDb250ZXh0LmxhYmVsKTtcclxuXHRcdFx0XHRcdHJldHVybiBhbTUuY29sb3IodGhpcy5jaGFydENvbG9yU2V0W2luZGV4ICUgdGhpcy5jaGFydENvbG9yU2V0Lmxlbmd0aF0pOyAvLyBTxLFyYWzEsSByZW5rIHNlw6dpbWlcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIGZpbGw7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdFx0c2VyaWVzLnNsaWNlcy50ZW1wbGF0ZS5zZXRBbGwoe1xyXG5cdFx0XHRcdHN0cm9rZTogYW01LmNvbG9yKDB4ZmZmZmZmKSxcclxuXHRcdFx0XHRzdHJva2VXaWR0aDogMlxyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdHNlcmllcy5kYXRhLnNldEFsbCh0aGlzLmRhdGEoKSk7XHJcblxyXG5cdFx0XHRjb25zdCBsZWdlbmQgPSBjaGFydC5jaGlsZHJlbi5wdXNoKFxyXG5cdFx0XHRcdGFtNS5MZWdlbmQubmV3KHJvb3QsIHtcclxuXHRcdFx0XHRcdGNlbnRlclg6IGFtNS5wZXJjZW50KDUwKSxcclxuXHRcdFx0XHRcdHg6IGFtNS5wZXJjZW50KDUwKSxcclxuXHRcdFx0XHRcdGxheW91dDogcm9vdC5ob3Jpem9udGFsTGF5b3V0XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KTtcclxuXHJcblx0XHRcdGxlZ2VuZC5kYXRhLnNldEFsbChzZXJpZXMuZGF0YUl0ZW1zKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHQvLyBDbGVhbiB1cCBjaGFydCB3aGVuIHRoZSBjb21wb25lbnQgaXMgcmVtb3ZlZFxyXG5cdFx0dGhpcy5icm93c2VyT25seSgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLnJvb3QpIHtcclxuXHRcdFx0XHR0aGlzLnJvb3QuZGlzcG9zZSgpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -1,114 +0,0 @@
1
- import { Component, computed, effect, input } from '@angular/core';
2
- import * as Highcharts from 'highcharts';
3
- import { HighchartsChartModule } from 'highcharts-angular';
4
- import highchartsMore from 'highcharts/highcharts-more';
5
- import NoDataToDisplay from 'highcharts/modules/no-data-to-display';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "highcharts-angular";
8
- highchartsMore(Highcharts);
9
- NoDataToDisplay(Highcharts);
10
- export class AreaChartComponent {
11
- constructor() {
12
- this.Highcharts = Highcharts;
13
- this.data = input.required();
14
- this.title = input.required();
15
- this.loading = input(false);
16
- this.chartCallback = (chart) => {
17
- this.chart = chart;
18
- if (this.loading()) {
19
- this.chart.showLoading();
20
- }
21
- };
22
- this.chartOptions = computed(() => {
23
- const currentData = this.data();
24
- if (!currentData || currentData.length === 0) {
25
- return {
26
- chart: {
27
- type: 'area',
28
- height: 200
29
- },
30
- title: { text: undefined },
31
- xAxis: { type: 'datetime', visible: true },
32
- yAxis: { visible: true },
33
- series: [{
34
- name: 'Çalışma Süresi',
35
- data: [],
36
- type: 'area'
37
- }],
38
- credits: { enabled: false },
39
- tooltip: { enabled: true },
40
- plotOptions: {
41
- area: {
42
- fillColor: '#D6EAF8',
43
- marker: { enabled: false },
44
- lineWidth: 2
45
- }
46
- }
47
- };
48
- }
49
- return {
50
- chart: {
51
- type: 'area',
52
- height: 200
53
- },
54
- title: { text: this.title() },
55
- xAxis: { type: 'datetime', visible: true },
56
- yAxis: { visible: true },
57
- series: currentData.map(s => ({
58
- ...s,
59
- type: 'area'
60
- })),
61
- credits: { enabled: false },
62
- tooltip: { enabled: true },
63
- plotOptions: {
64
- area: {
65
- fillColor: '#D6EAF8',
66
- marker: { enabled: false },
67
- lineWidth: 2
68
- }
69
- }
70
- };
71
- });
72
- effect(() => {
73
- const isLoading = this.loading();
74
- if (this.chart) {
75
- if (isLoading) {
76
- this.chart.showLoading();
77
- }
78
- else {
79
- this.chart.hideLoading();
80
- }
81
- }
82
- });
83
- }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AreaChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AreaChartComponent, isStandalone: true, selector: "aril-area-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
86
- <highcharts-chart
87
- style="display: block"
88
- [Highcharts]="Highcharts"
89
- [oneToOne]="true"
90
- [runOutsideAngular]="true"
91
- [options]="chartOptions()"
92
- [callbackFunction]="chartCallback">
93
- </highcharts-chart>
94
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: HighchartsChartModule }, { kind: "component", type: i1.HighchartsChartComponent, selector: "highcharts-chart", inputs: ["Highcharts", "constructorType", "callbackFunction", "oneToOne", "runOutsideAngular", "options", "update"], outputs: ["updateChange", "chartInstance"] }] }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AreaChartComponent, decorators: [{
97
- type: Component,
98
- args: [{
99
- selector: 'aril-area-chart',
100
- standalone: true,
101
- imports: [HighchartsChartModule],
102
- template: `
103
- <highcharts-chart
104
- style="display: block"
105
- [Highcharts]="Highcharts"
106
- [oneToOne]="true"
107
- [runOutsideAngular]="true"
108
- [options]="chartOptions()"
109
- [callbackFunction]="chartCallback">
110
- </highcharts-chart>
111
- `
112
- }]
113
- }], ctorParameters: () => [] });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL2NoYXJ0cy9zcmMvaGlnaENoYXJ0cy9hcmVhL2FyZWEtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxjQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxlQUFlLE1BQU0sdUNBQXVDLENBQUM7OztBQUVwRSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDM0IsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBd0I1QixNQUFNLE9BQU8sa0JBQWtCO0lBUzlCO1FBUkEsZUFBVSxHQUFzQixVQUFVLENBQUM7UUFFM0MsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDM0MsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxZQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBaUJ2QixrQkFBYSxHQUFxQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUIsQ0FBQztRQUNGLENBQUMsQ0FBQztRQUVGLGlCQUFZLEdBQUcsUUFBUSxDQUFxQixHQUFHLEVBQUU7WUFDaEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsT0FBTztvQkFDTixLQUFLLEVBQUU7d0JBQ04sSUFBSSxFQUFFLE1BQU07d0JBQ1osTUFBTSxFQUFFLEdBQUc7cUJBQ1g7b0JBQ0QsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtvQkFDMUIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO29CQUMxQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO29CQUN4QixNQUFNLEVBQUUsQ0FBQzs0QkFDUixJQUFJLEVBQUUsZ0JBQWdCOzRCQUN0QixJQUFJLEVBQUUsRUFBRTs0QkFDUixJQUFJLEVBQUUsTUFBTTt5QkFDWixDQUFDO29CQUNGLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7b0JBQzNCLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7b0JBQzFCLFdBQVcsRUFBRTt3QkFDWixJQUFJLEVBQUU7NEJBQ0wsU0FBUyxFQUFFLFNBQVM7NEJBQ3BCLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7NEJBQzFCLFNBQVMsRUFBRSxDQUFDO3lCQUNaO3FCQUNEO2lCQUNELENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTztnQkFDTixLQUFLLEVBQUU7b0JBQ04sSUFBSSxFQUFFLE1BQU07b0JBQ1osTUFBTSxFQUFFLEdBQUc7aUJBQ1g7Z0JBQ0QsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDN0IsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2dCQUMxQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2dCQUN4QixNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzdCLEdBQUcsQ0FBQztvQkFDSixJQUFJLEVBQUUsTUFBTTtpQkFDWixDQUFDLENBQUM7Z0JBQ0gsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtnQkFDM0IsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtnQkFDMUIsV0FBVyxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDTCxTQUFTLEVBQUUsU0FBUzt3QkFDcEIsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTt3QkFDMUIsU0FBUyxFQUFFLENBQUM7cUJBQ1o7aUJBQ0Q7YUFDRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFyRUYsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMxQixDQUFDO3FCQUFNLENBQUM7b0JBQ1AsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDMUIsQ0FBQztZQUNGLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBcEJXLGtCQUFrQjtrR0FBbEIsa0JBQWtCLGdjQVhwQjs7Ozs7Ozs7O0VBU1QsMkRBVlMscUJBQXFCOzsyRkFZbkIsa0JBQWtCO2tCQWY5QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7RUFTVDtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgSGlnaGNoYXJ0cyBmcm9tICdoaWdoY2hhcnRzJztcclxuaW1wb3J0IHsgSGlnaGNoYXJ0c0NoYXJ0TW9kdWxlIH0gZnJvbSAnaGlnaGNoYXJ0cy1hbmd1bGFyJztcclxuaW1wb3J0IGhpZ2hjaGFydHNNb3JlIGZyb20gJ2hpZ2hjaGFydHMvaGlnaGNoYXJ0cy1tb3JlJztcclxuaW1wb3J0IE5vRGF0YVRvRGlzcGxheSBmcm9tICdoaWdoY2hhcnRzL21vZHVsZXMvbm8tZGF0YS10by1kaXNwbGF5JztcclxuXHJcbmhpZ2hjaGFydHNNb3JlKEhpZ2hjaGFydHMpO1xyXG5Ob0RhdGFUb0Rpc3BsYXkoSGlnaGNoYXJ0cyk7XHJcblxyXG5leHBvcnQgdHlwZSBBcmVhQ2hhcnREYXRhUG9pbnQgPSBbbnVtYmVyLCBudW1iZXJdOyAvLyBbdGltZXN0YW1wLCB2YWx1ZV1cclxuZXhwb3J0IGludGVyZmFjZSBBcmVhQ2hhcnRTZXJpZXMge1xyXG5cdG5hbWU6IHN0cmluZztcclxuXHRkYXRhOiBBcmVhQ2hhcnREYXRhUG9pbnRbXTtcclxuXHRjb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcmlsLWFyZWEtY2hhcnQnLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW0hpZ2hjaGFydHNDaGFydE1vZHVsZV0sXHJcblx0dGVtcGxhdGU6IGBcclxuXHRcdDxoaWdoY2hhcnRzLWNoYXJ0XHJcblx0XHRcdHN0eWxlPVwiZGlzcGxheTogYmxvY2tcIlxyXG5cdFx0XHRbSGlnaGNoYXJ0c109XCJIaWdoY2hhcnRzXCJcclxuXHRcdFx0W29uZVRvT25lXT1cInRydWVcIlxyXG5cdFx0XHRbcnVuT3V0c2lkZUFuZ3VsYXJdPVwidHJ1ZVwiXHJcblx0XHRcdFtvcHRpb25zXT1cImNoYXJ0T3B0aW9ucygpXCJcclxuXHRcdFx0W2NhbGxiYWNrRnVuY3Rpb25dPVwiY2hhcnRDYWxsYmFja1wiPlxyXG5cdFx0PC9oaWdoY2hhcnRzLWNoYXJ0PlxyXG5cdGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZWFDaGFydENvbXBvbmVudCB7XHJcblx0SGlnaGNoYXJ0czogdHlwZW9mIEhpZ2hjaGFydHMgPSBIaWdoY2hhcnRzO1xyXG5cclxuXHRkYXRhID0gaW5wdXQucmVxdWlyZWQ8QXJlYUNoYXJ0U2VyaWVzW10+KCk7XHJcblx0dGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcblx0bG9hZGluZyA9IGlucHV0KGZhbHNlKTtcclxuXHJcblx0cHJpdmF0ZSBjaGFydD86IEhpZ2hjaGFydHMuQ2hhcnQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3QgaXNMb2FkaW5nID0gdGhpcy5sb2FkaW5nKCk7XHJcblx0XHRcdGlmICh0aGlzLmNoYXJ0KSB7XHJcblx0XHRcdFx0aWYgKGlzTG9hZGluZykge1xyXG5cdFx0XHRcdFx0dGhpcy5jaGFydC5zaG93TG9hZGluZygpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmNoYXJ0LmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGNoYXJ0Q2FsbGJhY2s6IEhpZ2hjaGFydHMuQ2hhcnRDYWxsYmFja0Z1bmN0aW9uID0gKGNoYXJ0KSA9PiB7XHJcblx0XHR0aGlzLmNoYXJ0ID0gY2hhcnQ7XHJcblx0XHRpZiAodGhpcy5sb2FkaW5nKCkpIHtcclxuXHRcdFx0dGhpcy5jaGFydC5zaG93TG9hZGluZygpO1xyXG5cdFx0fVxyXG5cdH07XHJcblxyXG5cdGNoYXJ0T3B0aW9ucyA9IGNvbXB1dGVkPEhpZ2hjaGFydHMuT3B0aW9ucz4oKCkgPT4ge1xyXG5cdFx0Y29uc3QgY3VycmVudERhdGEgPSB0aGlzLmRhdGEoKTtcclxuXHRcdGlmICghY3VycmVudERhdGEgfHwgY3VycmVudERhdGEubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0Y2hhcnQ6IHtcclxuXHRcdFx0XHRcdHR5cGU6ICdhcmVhJyxcclxuXHRcdFx0XHRcdGhlaWdodDogMjAwXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR0aXRsZTogeyB0ZXh0OiB1bmRlZmluZWQgfSxcclxuXHRcdFx0XHR4QXhpczogeyB0eXBlOiAnZGF0ZXRpbWUnLCB2aXNpYmxlOiB0cnVlIH0sXHJcblx0XHRcdFx0eUF4aXM6IHsgdmlzaWJsZTogdHJ1ZSB9LFxyXG5cdFx0XHRcdHNlcmllczogW3tcclxuXHRcdFx0XHRcdG5hbWU6ICfDh2FsxLHFn21hIFPDvHJlc2knLFxyXG5cdFx0XHRcdFx0ZGF0YTogW10sXHJcblx0XHRcdFx0XHR0eXBlOiAnYXJlYSdcclxuXHRcdFx0XHR9XSxcclxuXHRcdFx0XHRjcmVkaXRzOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcblx0XHRcdFx0dG9vbHRpcDogeyBlbmFibGVkOiB0cnVlIH0sXHJcblx0XHRcdFx0cGxvdE9wdGlvbnM6IHtcclxuXHRcdFx0XHRcdGFyZWE6IHtcclxuXHRcdFx0XHRcdFx0ZmlsbENvbG9yOiAnI0Q2RUFGOCcsXHJcblx0XHRcdFx0XHRcdG1hcmtlcjogeyBlbmFibGVkOiBmYWxzZSB9LFxyXG5cdFx0XHRcdFx0XHRsaW5lV2lkdGg6IDJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH07XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0Y2hhcnQ6IHtcclxuXHRcdFx0XHR0eXBlOiAnYXJlYScsXHJcblx0XHRcdFx0aGVpZ2h0OiAyMDBcclxuXHRcdFx0fSxcclxuXHRcdFx0dGl0bGU6IHsgdGV4dDogdGhpcy50aXRsZSgpIH0sXHJcblx0XHRcdHhBeGlzOiB7IHR5cGU6ICdkYXRldGltZScsIHZpc2libGU6IHRydWUgfSxcclxuXHRcdFx0eUF4aXM6IHsgdmlzaWJsZTogdHJ1ZSB9LFxyXG5cdFx0XHRzZXJpZXM6IGN1cnJlbnREYXRhLm1hcChzID0+ICh7XHJcblx0XHRcdFx0Li4ucyxcclxuXHRcdFx0XHR0eXBlOiAnYXJlYSdcclxuXHRcdFx0fSkpLFxyXG5cdFx0XHRjcmVkaXRzOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcblx0XHRcdHRvb2x0aXA6IHsgZW5hYmxlZDogdHJ1ZSB9LFxyXG5cdFx0XHRwbG90T3B0aW9uczoge1xyXG5cdFx0XHRcdGFyZWE6IHtcclxuXHRcdFx0XHRcdGZpbGxDb2xvcjogJyNENkVBRjgnLFxyXG5cdFx0XHRcdFx0bWFya2VyOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXHJcblx0XHRcdFx0XHRsaW5lV2lkdGg6IDJcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH07XHJcblx0fSk7XHJcbn1cclxuIl19
@@ -1,100 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import * as Highcharts from 'highcharts';
3
- import { HighchartsChartModule } from 'highcharts-angular';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "highcharts-angular";
6
- // Example Data
7
- // data = [
8
- // { name: 'Kategori A', y: 200 },
9
- // { name: 'Kategori B', y: 100 },
10
- // { name: 'Kategori C', y: 500 },
11
- // { name: 'Kategori D', y: 250 },
12
- // { name: 'Kategori E', y: 400 },
13
- // ]
14
- export class BarHighChartComponent {
15
- constructor() {
16
- this.data = input.required();
17
- this.title = input('');
18
- this.categoriesTitle = input('');
19
- this.valuesTitle = input('');
20
- this.seriesName = input();
21
- this.width = input('460');
22
- this.height = input('380');
23
- this.Highcharts = Highcharts;
24
- this.chartOptions = {}; // Highcharts.Options
25
- }
26
- setChartOptions() {
27
- this.chartOptions = {
28
- chart: {
29
- type: 'bar',
30
- height: this.height(),
31
- width: this.width()
32
- },
33
- title: {
34
- text: this.title()
35
- },
36
- xAxis: {
37
- categories: this.data().map((item) => item.name),
38
- title: {
39
- text: this.categoriesTitle()
40
- }
41
- },
42
- yAxis: {
43
- min: 0,
44
- title: {
45
- text: this.valuesTitle()
46
- }
47
- },
48
- tooltip: {
49
- formatter: function () {
50
- return `
51
- <strong>${this.point.category}</strong><br>
52
- Değer: <b>${this.point.y.toLocaleString('tr-TR', {
53
- minimumFractionDigits: 2,
54
- maximumFractionDigits: 2
55
- })}</b>
56
- `;
57
- },
58
- useHTML: true
59
- },
60
- series: [
61
- {
62
- name: this.seriesName(),
63
- data: this.data().map((item) => item.y)
64
- }
65
- ],
66
- legend: { enabled: this.seriesName() ? true : false },
67
- credits: {
68
- enabled: false
69
- }
70
- };
71
- }
72
- ngOnChanges(changes) {
73
- if (changes['data'] || changes['title']) {
74
- this.setChartOptions();
75
- }
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BarHighChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: BarHighChartComponent, isStandalone: true, selector: "aril-bar-highchart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, categoriesTitle: { classPropertyName: "categoriesTitle", publicName: "categoriesTitle", isSignal: true, isRequired: false, transformFunction: null }, valuesTitle: { classPropertyName: "valuesTitle", publicName: "valuesTitle", isSignal: true, isRequired: false, transformFunction: null }, seriesName: { classPropertyName: "seriesName", publicName: "seriesName", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: ` <highcharts-chart
79
- style="width: 100%; display: block"
80
- [Highcharts]="Highcharts"
81
- [options]="chartOptions"
82
- [oneToOne]="true">
83
- </highcharts-chart>`, isInline: true, dependencies: [{ kind: "ngmodule", type: HighchartsChartModule }, { kind: "component", type: i1.HighchartsChartComponent, selector: "highcharts-chart", inputs: ["Highcharts", "constructorType", "callbackFunction", "oneToOne", "runOutsideAngular", "options", "update"], outputs: ["updateChange", "chartInstance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BarHighChartComponent, decorators: [{
86
- type: Component,
87
- args: [{
88
- standalone: true,
89
- selector: 'aril-bar-highchart',
90
- template: ` <highcharts-chart
91
- style="width: 100%; display: block"
92
- [Highcharts]="Highcharts"
93
- [options]="chartOptions"
94
- [oneToOne]="true">
95
- </highcharts-chart>`,
96
- imports: [HighchartsChartModule],
97
- changeDetection: ChangeDetectionStrategy.OnPush
98
- }]
99
- }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvY2hhcnRzL3NyYy9oaWdoQ2hhcnRzL2Jhci9iYXItY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQTRCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBVTNELGVBQWU7QUFDZixXQUFXO0FBQ1gsbUNBQW1DO0FBQ25DLG1DQUFtQztBQUNuQyxtQ0FBbUM7QUFDbkMsbUNBQW1DO0FBQ25DLG1DQUFtQztBQUNuQyxJQUFJO0FBZUosTUFBTSxPQUFPLHFCQUFxQjtJQWJsQztRQWNDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7UUFDckMsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixvQkFBZSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNoQyxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsVUFBSyxHQUFHLEtBQUssQ0FBUyxLQUFLLENBQUMsQ0FBQztRQUM3QixXQUFNLEdBQUcsS0FBSyxDQUFTLEtBQUssQ0FBQyxDQUFDO1FBRTlCLGVBQVUsR0FBc0IsVUFBVSxDQUFDO1FBQzNDLGlCQUFZLEdBQVEsRUFBRSxDQUFDLENBQUMscUJBQXFCO0tBc0Q3QztJQXBEQSxlQUFlO1FBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNuQixLQUFLLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ25CO1lBQ0QsS0FBSyxFQUFFO2dCQUNOLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ2xCO1lBQ0QsS0FBSyxFQUFFO2dCQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNoRCxLQUFLLEVBQUU7b0JBQ04sSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7aUJBQzVCO2FBQ0Q7WUFDRCxLQUFLLEVBQUU7Z0JBQ04sR0FBRyxFQUFFLENBQUM7Z0JBQ04sS0FBSyxFQUFFO29CQUNOLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO2lCQUN4QjthQUNEO1lBQ0QsT0FBTyxFQUFFO2dCQUNSLFNBQVMsRUFBRTtvQkFDVixPQUFPO2dCQUNJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtrQkFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTt3QkFDaEQscUJBQXFCLEVBQUUsQ0FBQzt3QkFDeEIscUJBQXFCLEVBQUUsQ0FBQztxQkFDeEIsQ0FBQztNQUNGLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLEVBQUUsSUFBSTthQUNiO1lBQ0QsTUFBTSxFQUFFO2dCQUNQO29CQUNDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDdkM7YUFDRDtZQUNELE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ3JELE9BQU8sRUFBRTtnQkFDUixPQUFPLEVBQUUsS0FBSzthQUNkO1NBQ0QsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDRixDQUFDOzhHQS9EVyxxQkFBcUI7a0dBQXJCLHFCQUFxQixxL0JBVnZCOzs7OztxQkFLVSwyREFFVixxQkFBcUI7OzJGQUduQixxQkFBcUI7a0JBYmpDLFNBQVM7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7cUJBS1U7b0JBRXBCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMnO1xyXG5pbXBvcnQgeyBIaWdoY2hhcnRzQ2hhcnRNb2R1bGUgfSBmcm9tICdoaWdoY2hhcnRzLWFuZ3VsYXInO1xyXG5cclxuaW50ZXJmYWNlIGRhdGFJdGVtcyB7XHJcblx0bmFtZTogc3RyaW5nO1xyXG5cdHk6IGFueTtcclxuXHRjb2xvcj86IHN0cmluZztcclxuXHR0b29sdGlwPzogc3RyaW5nO1xyXG5cdHNlbGVjdGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuLy8gRXhhbXBsZSBEYXRhXHJcbi8vIGRhdGEgPSBbXHJcbi8vIFx0eyBuYW1lOiAnS2F0ZWdvcmkgQScsIHk6IDIwMCB9LFxyXG4vLyBcdHsgbmFtZTogJ0thdGVnb3JpIEInLCB5OiAxMDAgfSxcclxuLy8gXHR7IG5hbWU6ICdLYXRlZ29yaSBDJywgeTogNTAwIH0sXHJcbi8vIFx0eyBuYW1lOiAnS2F0ZWdvcmkgRCcsIHk6IDI1MCB9LFxyXG4vLyBcdHsgbmFtZTogJ0thdGVnb3JpIEUnLCB5OiA0MDAgfSxcclxuLy8gXVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtYmFyLWhpZ2hjaGFydCcsXHJcblx0dGVtcGxhdGU6IGAgPGhpZ2hjaGFydHMtY2hhcnRcclxuXHRcdHN0eWxlPVwid2lkdGg6IDEwMCU7IGRpc3BsYXk6IGJsb2NrXCJcclxuXHRcdFtIaWdoY2hhcnRzXT1cIkhpZ2hjaGFydHNcIlxyXG5cdFx0W29wdGlvbnNdPVwiY2hhcnRPcHRpb25zXCJcclxuXHRcdFtvbmVUb09uZV09XCJ0cnVlXCI+XHJcblx0PC9oaWdoY2hhcnRzLWNoYXJ0PmAsXHJcblxyXG5cdGltcG9ydHM6IFtIaWdoY2hhcnRzQ2hhcnRNb2R1bGVdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJIaWdoQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cdGRhdGEgPSBpbnB1dC5yZXF1aXJlZDxkYXRhSXRlbXNbXT4oKTtcclxuXHR0aXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdGNhdGVnb3JpZXNUaXRsZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHZhbHVlc1RpdGxlID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0c2VyaWVzTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHR3aWR0aCA9IGlucHV0PHN0cmluZz4oJzQ2MCcpO1xyXG5cdGhlaWdodCA9IGlucHV0PHN0cmluZz4oJzM4MCcpO1xyXG5cclxuXHRIaWdoY2hhcnRzOiB0eXBlb2YgSGlnaGNoYXJ0cyA9IEhpZ2hjaGFydHM7XHJcblx0Y2hhcnRPcHRpb25zOiBhbnkgPSB7fTsgLy8gSGlnaGNoYXJ0cy5PcHRpb25zXHJcblxyXG5cdHNldENoYXJ0T3B0aW9ucygpIHtcclxuXHRcdHRoaXMuY2hhcnRPcHRpb25zID0ge1xyXG5cdFx0XHRjaGFydDoge1xyXG5cdFx0XHRcdHR5cGU6ICdiYXInLFxyXG5cdFx0XHRcdGhlaWdodDogdGhpcy5oZWlnaHQoKSxcclxuXHRcdFx0XHR3aWR0aDogdGhpcy53aWR0aCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdHRpdGxlOiB7XHJcblx0XHRcdFx0dGV4dDogdGhpcy50aXRsZSgpXHJcblx0XHRcdH0sXHJcblx0XHRcdHhBeGlzOiB7XHJcblx0XHRcdFx0Y2F0ZWdvcmllczogdGhpcy5kYXRhKCkubWFwKChpdGVtKSA9PiBpdGVtLm5hbWUpLFxyXG5cdFx0XHRcdHRpdGxlOiB7XHJcblx0XHRcdFx0XHR0ZXh0OiB0aGlzLmNhdGVnb3JpZXNUaXRsZSgpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR5QXhpczoge1xyXG5cdFx0XHRcdG1pbjogMCxcclxuXHRcdFx0XHR0aXRsZToge1xyXG5cdFx0XHRcdFx0dGV4dDogdGhpcy52YWx1ZXNUaXRsZSgpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b29sdGlwOiB7XHJcblx0XHRcdFx0Zm9ybWF0dGVyOiBmdW5jdGlvbiAodGhpczogYW55KSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gYFxyXG5cdFx0XHRcdFx0XHQ8c3Ryb25nPiR7dGhpcy5wb2ludC5jYXRlZ29yeX08L3N0cm9uZz48YnI+XHJcblx0XHRcdFx0XHRcdERlxJ9lcjogPGI+JHt0aGlzLnBvaW50LnkudG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywge1xyXG5cdFx0XHRcdFx0XHRcdG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuXHRcdFx0XHRcdFx0XHRtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDJcclxuXHRcdFx0XHRcdFx0fSl9PC9iPlxyXG5cdFx0XHRcdFx0YDtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHVzZUhUTUw6IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0c2VyaWVzOiBbXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0bmFtZTogdGhpcy5zZXJpZXNOYW1lKCksXHJcblx0XHRcdFx0XHRkYXRhOiB0aGlzLmRhdGEoKS5tYXAoKGl0ZW0pID0+IGl0ZW0ueSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdF0sXHJcblx0XHRcdGxlZ2VuZDogeyBlbmFibGVkOiB0aGlzLnNlcmllc05hbWUoKSA/IHRydWUgOiBmYWxzZSB9LFxyXG5cdFx0XHRjcmVkaXRzOiB7XHJcblx0XHRcdFx0ZW5hYmxlZDogZmFsc2VcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGlmIChjaGFuZ2VzWydkYXRhJ10gfHwgY2hhbmdlc1sndGl0bGUnXSkge1xyXG5cdFx0XHR0aGlzLnNldENoYXJ0T3B0aW9ucygpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=