@smartbit4all/ng-client 4.2.69 → 4.2.71

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 (132) hide show
  1. package/esm2022/lib/smart-client/smart-component-api-client.mjs +25 -3
  2. package/esm2022/lib/smart-client/smart.component.mjs +9 -2
  3. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +2 -1
  4. package/esm2022/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.mjs +2 -0
  5. package/esm2022/lib/smart-component-layout/api/model/models.mjs +2 -1
  6. package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
  7. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +18 -1
  8. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +33 -3
  9. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +7 -3
  10. package/esm2022/lib/smart-diagram/api/api/api.mjs +4 -0
  11. package/esm2022/lib/smart-diagram/api/api/diagramService.service.mjs +141 -0
  12. package/esm2022/lib/smart-diagram/api/api.module.mjs +40 -0
  13. package/esm2022/lib/smart-diagram/api/configuration.mjs +91 -0
  14. package/esm2022/lib/smart-diagram/api/encoder.mjs +19 -0
  15. package/esm2022/lib/smart-diagram/api/index.mjs +7 -0
  16. package/esm2022/lib/smart-diagram/api/model/diagramColor.mjs +13 -0
  17. package/esm2022/lib/smart-diagram/api/model/diagramDataContainer.mjs +2 -0
  18. package/esm2022/lib/smart-diagram/api/model/diagramDataItem.mjs +13 -0
  19. package/esm2022/lib/smart-diagram/api/model/diagramDataSet.mjs +2 -0
  20. package/esm2022/lib/smart-diagram/api/model/diagramDescriptor.mjs +2 -0
  21. package/esm2022/lib/smart-diagram/api/model/diagramModel.mjs +2 -0
  22. package/esm2022/lib/smart-diagram/api/model/diagramShape.mjs +2 -0
  23. package/esm2022/lib/smart-diagram/api/model/drawTime.mjs +18 -0
  24. package/esm2022/lib/smart-diagram/api/model/labelText.mjs +2 -0
  25. package/esm2022/lib/smart-diagram/api/model/models.mjs +10 -0
  26. package/esm2022/lib/smart-diagram/api/param.mjs +2 -0
  27. package/esm2022/lib/smart-diagram/api/variables.mjs +9 -0
  28. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +289 -0
  29. package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +341 -0
  30. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +39 -0
  31. package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +10 -0
  32. package/esm2022/lib/smart-diagram/projects.mjs +5 -0
  33. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
  34. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -12
  35. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  36. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +6 -3
  37. package/esm2022/lib/smart-grid/smart-grid.component.mjs +22 -3
  38. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +5 -3
  39. package/esm2022/lib/smart-table/tables/table.mjs +5 -2
  40. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +2 -2
  41. package/esm2022/projects.mjs +2 -1
  42. package/fesm2022/smartbit4all-ng-client.mjs +1255 -171
  43. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  44. package/lib/smart-client/smart-component-api-client.d.ts +4 -1
  45. package/lib/smart-client/smart.component.d.ts +3 -0
  46. package/lib/smart-component-layout/api/model/componentWidgetType.d.ts +2 -1
  47. package/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.d.ts +19 -0
  48. package/lib/smart-component-layout/api/model/models.d.ts +1 -0
  49. package/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.d.ts +2 -0
  50. package/lib/smart-component-layout/smart-component-layout-utility.d.ts +2 -0
  51. package/lib/smart-component-layout/smart-component-layout.component.d.ts +7 -0
  52. package/lib/smart-component-layout/smart-component-layout.module.d.ts +2 -1
  53. package/lib/smart-diagram/api/api/api.d.ts +3 -0
  54. package/lib/smart-diagram/api/api/diagramService.service.d.ts +36 -0
  55. package/lib/smart-diagram/api/encoder.d.ts +11 -0
  56. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramColor.d.ts +2 -2
  57. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataContainer.d.ts +2 -3
  58. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataItem.d.ts +3 -3
  59. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataSet.d.ts +4 -4
  60. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDescriptor.d.ts +10 -9
  61. package/{src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramUiModel.d.ts → lib/smart-diagram/api/model/diagramModel.d.ts} +5 -4
  62. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramShape.d.ts +2 -2
  63. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/drawTime.d.ts +2 -2
  64. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/labelText.d.ts +2 -2
  65. package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/models.d.ts +1 -2
  66. package/lib/smart-diagram/component/default-smart-diagram-options.provider.d.ts +32 -0
  67. package/lib/smart-diagram/component/smart-diagram.component.d.ts +40 -0
  68. package/lib/smart-diagram/component/smart-diagram.module.d.ts +11 -0
  69. package/lib/smart-diagram/component/smart-diagram.util.d.ts +1 -0
  70. package/lib/smart-diagram/projects.d.ts +4 -0
  71. package/lib/smart-grid/api/grid-api/model/gridExportDescriptor.d.ts +2 -2
  72. package/lib/smart-grid/api/grid-api/model/gridModel.d.ts +1 -0
  73. package/lib/smart-grid/smart-grid-toolbar-util.d.ts +1 -0
  74. package/lib/smart-grid/smart-grid.component.d.ts +3 -0
  75. package/lib/smart-table/tables/material-table/material-table.component.d.ts +1 -0
  76. package/lib/smart-table/tables/table.d.ts +1 -0
  77. package/package.json +1 -7
  78. package/projects.d.ts +1 -0
  79. package/smartbit4all-ng-client-4.2.71.tgz +0 -0
  80. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartData.mjs +0 -2
  81. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartDescriptor.mjs +0 -2
  82. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartOrientation.mjs +0 -16
  83. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartType.mjs +0 -21
  84. package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartValue.mjs +0 -13
  85. package/esm2022/src/lib/smart-chart/smart-chart/api/model/models.mjs +0 -7
  86. package/esm2022/src/lib/smart-chart/smart-chart/api/model/pieChartLegendPosition.mjs +0 -16
  87. package/esm2022/src/lib/smart-chart/smart-chart/default-chart-options.provider.mjs +0 -233
  88. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.component.mjs +0 -285
  89. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.module.mjs +0 -39
  90. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/api/api.mjs +0 -2
  91. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/api.module.mjs +0 -40
  92. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/configuration.mjs +0 -91
  93. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/index.mjs +0 -7
  94. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramColor.mjs +0 -13
  95. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataContainer.mjs +0 -2
  96. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataItem.mjs +0 -13
  97. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSet.mjs +0 -2
  98. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.mjs +0 -13
  99. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDescriptor.mjs +0 -2
  100. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramShape.mjs +0 -2
  101. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramUiModel.mjs +0 -2
  102. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/drawTime.mjs +0 -18
  103. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/labelText.mjs +0 -2
  104. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/models.mjs +0 -11
  105. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/param.mjs +0 -2
  106. package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/variables.mjs +0 -9
  107. package/esm2022/src/lib/smart-chart/smart-chart-projects.mjs +0 -9
  108. package/esm2022/src/lib/smart-chart/smartbit4all-ng-client-src-lib-smart-chart.mjs +0 -5
  109. package/esm2022/src/lib/smart-chart/view-context/utility/componentLibrary.mjs +0 -9
  110. package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +0 -686
  111. package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +0 -1
  112. package/smartbit4all-ng-client-4.2.69.tgz +0 -0
  113. package/src/lib/smart-chart/index.d.ts +0 -5
  114. package/src/lib/smart-chart/smart-chart/api/model/chartData.d.ts +0 -16
  115. package/src/lib/smart-chart/smart-chart/api/model/chartDescriptor.d.ts +0 -37
  116. package/src/lib/smart-chart/smart-chart/api/model/chartOrientation.d.ts +0 -16
  117. package/src/lib/smart-chart/smart-chart/api/model/chartType.d.ts +0 -21
  118. package/src/lib/smart-chart/smart-chart/api/model/chartValue.d.ts +0 -16
  119. package/src/lib/smart-chart/smart-chart/api/model/models.d.ts +0 -6
  120. package/src/lib/smart-chart/smart-chart/api/model/pieChartLegendPosition.d.ts +0 -16
  121. package/src/lib/smart-chart/smart-chart/default-chart-options.provider.d.ts +0 -31
  122. package/src/lib/smart-chart/smart-chart/smart-chart.component.d.ts +0 -33
  123. package/src/lib/smart-chart/smart-chart/smart-chart.module.d.ts +0 -11
  124. package/src/lib/smart-chart/smart-chart/smart-chart2/api/api/api.d.ts +0 -1
  125. package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.d.ts +0 -21
  126. package/src/lib/smart-chart/smart-chart-projects.d.ts +0 -5
  127. package/src/lib/smart-chart/view-context/utility/componentLibrary.d.ts +0 -6
  128. /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/api.module.d.ts +0 -0
  129. /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/configuration.d.ts +0 -0
  130. /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/index.d.ts +0 -0
  131. /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/param.d.ts +0 -0
  132. /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/variables.d.ts +0 -0
@@ -1,21 +0,0 @@
1
- /**
2
- * Chart API
3
- * API for consume charts.
4
- *
5
- * The version of the OpenAPI document: 1.0.0
6
- * Contact: info@it4all.hu
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export const ChartType = {
13
- BarChart: 'BarChart',
14
- GroupedBarChart: 'GroupedBarChart',
15
- StackedBarChart: 'StackedBarChart',
16
- NormalizedBarChart: 'NormalizedBarChart',
17
- PieChart: 'PieChart',
18
- AdvancedPieChart: 'AdvancedPieChart',
19
- PieGrid: 'PieGrid'
20
- };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvYXBpL21vZGVsL2NoYXJ0VHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBS0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3JCLFFBQVEsRUFBRSxVQUF1QjtJQUNqQyxlQUFlLEVBQUUsaUJBQThCO0lBQy9DLGVBQWUsRUFBRSxpQkFBOEI7SUFDL0Msa0JBQWtCLEVBQUUsb0JBQWlDO0lBQ3JELFFBQVEsRUFBRSxVQUF1QjtJQUNqQyxnQkFBZ0IsRUFBRSxrQkFBK0I7SUFDakQsT0FBTyxFQUFFLFNBQXNCO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ2hhcnQgQVBJXHJcbiAqIEFQSSBmb3IgY29uc3VtZSBjaGFydHMuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgdHlwZSBDaGFydFR5cGUgPSAnQmFyQ2hhcnQnIHwgJ0dyb3VwZWRCYXJDaGFydCcgfCAnU3RhY2tlZEJhckNoYXJ0JyB8ICdOb3JtYWxpemVkQmFyQ2hhcnQnIHwgJ1BpZUNoYXJ0JyB8ICdBZHZhbmNlZFBpZUNoYXJ0JyB8ICdQaWVHcmlkJztcclxuXHJcbmV4cG9ydCBjb25zdCBDaGFydFR5cGUgPSB7XHJcbiAgICBCYXJDaGFydDogJ0JhckNoYXJ0JyBhcyBDaGFydFR5cGUsXHJcbiAgICBHcm91cGVkQmFyQ2hhcnQ6ICdHcm91cGVkQmFyQ2hhcnQnIGFzIENoYXJ0VHlwZSxcclxuICAgIFN0YWNrZWRCYXJDaGFydDogJ1N0YWNrZWRCYXJDaGFydCcgYXMgQ2hhcnRUeXBlLFxyXG4gICAgTm9ybWFsaXplZEJhckNoYXJ0OiAnTm9ybWFsaXplZEJhckNoYXJ0JyBhcyBDaGFydFR5cGUsXHJcbiAgICBQaWVDaGFydDogJ1BpZUNoYXJ0JyBhcyBDaGFydFR5cGUsXHJcbiAgICBBZHZhbmNlZFBpZUNoYXJ0OiAnQWR2YW5jZWRQaWVDaGFydCcgYXMgQ2hhcnRUeXBlLFxyXG4gICAgUGllR3JpZDogJ1BpZUdyaWQnIGFzIENoYXJ0VHlwZVxyXG59O1xyXG5cclxuIl19
@@ -1,13 +0,0 @@
1
- /**
2
- * Chart API
3
- * API for consume charts.
4
- *
5
- * The version of the OpenAPI document: 1.0.0
6
- * Contact: info@it4all.hu
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export {};
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRWYWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNoYXJ0L2FwaS9tb2RlbC9jaGFydFZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ2hhcnQgQVBJXHJcbiAqIEFQSSBmb3IgY29uc3VtZSBjaGFydHMuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENoYXJ0VmFsdWUgeyBcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHZhbHVlPzogb2JqZWN0O1xyXG4gICAgc2VyaWVzOiBBcnJheTxDaGFydFZhbHVlPjtcclxufVxyXG5cclxuIl19
@@ -1,7 +0,0 @@
1
- export * from './chartData';
2
- export * from './chartDescriptor';
3
- export * from './chartOrientation';
4
- export * from './chartType';
5
- export * from './chartValue';
6
- export * from './pieChartLegendPosition';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvYXBpL21vZGVsL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2hhcnREYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGFydERlc2NyaXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0T3JpZW50YXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoYXJ0VHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhcnRWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGllQ2hhcnRMZWdlbmRQb3NpdGlvbic7XHJcbiJdfQ==
@@ -1,16 +0,0 @@
1
- /**
2
- * Chart API
3
- * API for consume charts.
4
- *
5
- * The version of the OpenAPI document: 1.0.0
6
- * Contact: info@it4all.hu
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- export const PieChartLegendPosition = {
13
- Right: 'right',
14
- Below: 'below'
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllQ2hhcnRMZWdlbmRQb3NpdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWNoYXJ0L2FwaS9tb2RlbC9waWVDaGFydExlZ2VuZFBvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFLSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxLQUFLLEVBQUUsT0FBaUM7SUFDeEMsS0FBSyxFQUFFLE9BQWlDO0NBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ2hhcnQgQVBJXHJcbiAqIEFQSSBmb3IgY29uc3VtZSBjaGFydHMuXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcblxyXG5leHBvcnQgdHlwZSBQaWVDaGFydExlZ2VuZFBvc2l0aW9uID0gJ3JpZ2h0JyB8ICdiZWxvdyc7XHJcblxyXG5leHBvcnQgY29uc3QgUGllQ2hhcnRMZWdlbmRQb3NpdGlvbiA9IHtcclxuICAgIFJpZ2h0OiAncmlnaHQnIGFzIFBpZUNoYXJ0TGVnZW5kUG9zaXRpb24sXHJcbiAgICBCZWxvdzogJ2JlbG93JyBhcyBQaWVDaGFydExlZ2VuZFBvc2l0aW9uXHJcbn07XHJcblxyXG4iXX0=
@@ -1,233 +0,0 @@
1
- import { Injectable, InjectionToken, Optional, Inject } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export const CUSTOM_CHART_OPTIONS = new InjectionToken("CUSTOM_CHART_OPTIONS");
4
- export function transformDataToBasicDataSets(chartData) {
5
- return {
6
- labels: chartData.labels,
7
- datasets: chartData.items.map((dataset) => {
8
- const color = dataset.dataSetcolor || generateRandomColor();
9
- return {
10
- data: dataset.items.map((item) => item.xValue),
11
- label: dataset.label,
12
- backgroundColor: color,
13
- borderColor: color,
14
- };
15
- }),
16
- };
17
- }
18
- export function transformDataToBarLikeDataSet(chartData) {
19
- return {
20
- labels: chartData.labels,
21
- datasets: chartData.items.map((dataset) => {
22
- return {
23
- data: dataset.items.map((item) => item.xValue),
24
- label: dataset.label,
25
- backgroundColor: dataset.items.map((item) => item.itemColor || generateRandomColor()),
26
- borderColor: dataset.items.map((item) => item.itemColor || generateRandomColor()),
27
- };
28
- }),
29
- };
30
- }
31
- export function transformDataToScatter(chartData) {
32
- return {
33
- datasets: chartData.items.map((dataset) => {
34
- const color = dataset.dataSetcolor || generateRandomColor();
35
- return {
36
- label: dataset.label,
37
- data: dataset.items.map((item) => ({
38
- x: item.xValue,
39
- y: item.yValue,
40
- })),
41
- backgroundColor: color,
42
- borderColor: color,
43
- };
44
- }),
45
- };
46
- }
47
- export function transformDataToBubble(chartData) {
48
- return {
49
- datasets: chartData.items.map((dataset) => {
50
- const color = dataset.dataSetcolor || generateRandomColor();
51
- return {
52
- label: dataset.label,
53
- data: dataset.items.map((item) => ({
54
- x: item.xValue,
55
- y: item.yValue,
56
- r: item.rValue ?? 5,
57
- })),
58
- backgroundColor: color,
59
- borderColor: color,
60
- };
61
- }),
62
- };
63
- }
64
- export const barChart = {
65
- chartType: "bar",
66
- chartJsType: "bar",
67
- createOptions: () => {
68
- return {};
69
- },
70
- transformData: transformDataToBarLikeDataSet,
71
- };
72
- export const horizontalBarChart = {
73
- chartType: "horizontalBar",
74
- chartJsType: "bar",
75
- createOptions: () => {
76
- return {
77
- indexAxis: "y",
78
- };
79
- },
80
- transformData: transformDataToBarLikeDataSet,
81
- };
82
- export const radarChart = {
83
- chartType: "radar",
84
- chartJsType: "radar",
85
- createOptions: () => {
86
- return {};
87
- },
88
- transformData: (chartData) => {
89
- return {
90
- labels: chartData.labels,
91
- datasets: chartData.items.map((dataset) => ({
92
- data: dataset.items.map((item) => item.xValue),
93
- label: dataset.label,
94
- borderColor: dataset.dataSetcolor,
95
- pointBackgroundColor: dataset.dataSetcolor,
96
- pointBorderColor: dataset.dataSetcolor,
97
- pointHoverBackgroundColor: "#000000",
98
- pointHoverBorderColor: dataset.dataSetcolor,
99
- })),
100
- };
101
- },
102
- };
103
- export const stackedBarChart = {
104
- chartType: "stackedBar",
105
- chartJsType: "bar",
106
- createOptions: () => {
107
- return {
108
- scales: {
109
- x: {
110
- stacked: true,
111
- },
112
- y: {
113
- stacked: true,
114
- },
115
- },
116
- };
117
- },
118
- transformData: transformDataToBasicDataSets,
119
- };
120
- export const pieChart = {
121
- chartType: "pie",
122
- chartJsType: "pie",
123
- createOptions: () => {
124
- return {};
125
- },
126
- transformData: transformDataToBarLikeDataSet,
127
- };
128
- export const doughnutChart = {
129
- chartType: "doughnut",
130
- chartJsType: "doughnut",
131
- createOptions: () => {
132
- return {};
133
- },
134
- transformData: transformDataToBarLikeDataSet,
135
- };
136
- export const scatterChart = {
137
- chartType: "scatter",
138
- chartJsType: "scatter",
139
- createOptions: () => {
140
- return {};
141
- },
142
- transformData: transformDataToScatter,
143
- };
144
- export const bubbleChart = {
145
- chartType: "bubble",
146
- chartJsType: "bubble",
147
- createOptions: () => {
148
- return {};
149
- },
150
- transformData: transformDataToBubble,
151
- };
152
- export const multiAxisLineChart = {
153
- chartType: "multiAxisLine",
154
- chartJsType: "line",
155
- createOptions: (chartData) => {
156
- const yAxes = chartData.items.map((dataset, index) => ({
157
- id: `y${index == 1 ? "" : index}`,
158
- type: "linear",
159
- position: index % 2 === 0 ? "left" : "right",
160
- }));
161
- return {
162
- scales: {
163
- ...yAxes.reduce((acc, axis) => {
164
- acc[axis.id] = axis;
165
- return acc;
166
- }, {}),
167
- },
168
- };
169
- },
170
- transformData: (chartData) => {
171
- return {
172
- labels: chartData.labels,
173
- datasets: chartData.items.map((dataset, index) => ({
174
- data: dataset.items.map((item) => item.xValue),
175
- label: dataset.label,
176
- yAxisID: `y${index == 1 ? "" : index}`,
177
- backgroundColor: dataset.dataSetcolor,
178
- borderColor: dataset.dataSetcolor,
179
- })),
180
- };
181
- },
182
- };
183
- export const polarAreaChart = {
184
- chartType: "polarArea",
185
- chartJsType: "polarArea",
186
- createOptions: () => {
187
- return {};
188
- },
189
- transformData: (chartData) => {
190
- return {
191
- labels: chartData.labels,
192
- datasets: chartData.items.map((dataset) => ({
193
- data: dataset.items.map((item) => item.xValue),
194
- label: dataset.label,
195
- borderColor: dataset.items.map((item) => item.itemColor),
196
- backgroundColor: dataset.items.map((item) => item.itemColor),
197
- })),
198
- };
199
- },
200
- };
201
- export class DefaultChartOptionsProvider {
202
- constructor(factories) {
203
- this.factoriesByType = new Map(factories?.map((f) => [f.chartType, f]) ?? []);
204
- }
205
- getFactory(chartType) {
206
- return (this.factoriesByType.get(chartType) ?? {
207
- chartType: chartType,
208
- chartJsType: chartType,
209
- transformData: transformDataToBasicDataSets,
210
- createOptions: () => {
211
- return {};
212
- },
213
- });
214
- }
215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultChartOptionsProvider, deps: [{ token: CUSTOM_CHART_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
216
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultChartOptionsProvider, providedIn: "root" }); }
217
- }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultChartOptionsProvider, decorators: [{
219
- type: Injectable,
220
- args: [{
221
- providedIn: "root",
222
- }]
223
- }], ctorParameters: () => [{ type: undefined, decorators: [{
224
- type: Inject,
225
- args: [CUSTOM_CHART_OPTIONS]
226
- }, {
227
- type: Optional
228
- }] }] });
229
- function generateRandomColor() {
230
- const random = Math.floor(Math.random() * 16777215).toString(16);
231
- return `#${"000000".substring(0, 6 - random.length) + random}`;
232
- }
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jaGFydC1vcHRpb25zLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvZGVmYXVsdC1jaGFydC1vcHRpb25zLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzdFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUNwRCxzQkFBc0IsQ0FDdkIsQ0FBQztBQVNGLE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsU0FBK0I7SUFFL0IsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDNUQsT0FBTztnQkFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztnQkFDcEIsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLFdBQVcsRUFBRSxLQUFLO2FBQ25CLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsU0FBK0I7SUFFL0IsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFP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OytHQXZCVSwyQkFBMkIsa0JBRzVCLG9CQUFvQjttSEFIbkIsMkJBQTJCLGNBRjFCLE1BQU07OzRGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUlJLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsUUFBUTs7QUFzQmIsU0FBUyxtQkFBbUI7SUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ2pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERpYWdyYW1EYXRhQ29udGFpbmVyIH0gZnJvbSBcIi4vc21hcnQtY2hhcnQyL2FwaVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IENVU1RPTV9DSEFSVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPENoYXJ0SnNGYWN0b3J5PihcclxuICBcIkNVU1RPTV9DSEFSVF9PUFRJT05TXCJcclxuKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRKc0ZhY3Rvcnkge1xyXG4gIHJlYWRvbmx5IGNoYXJ0VHlwZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGNoYXJ0SnNUeXBlOiBzdHJpbmc7XHJcbiAgY3JlYXRlT3B0aW9ucyhjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55O1xyXG4gIHRyYW5zZm9ybURhdGEoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0Jhc2ljRGF0YVNldHMoXHJcbiAgY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lclxyXG4pOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBsYWJlbHM6IGNoYXJ0RGF0YS5sYWJlbHMsXHJcbiAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4ge1xyXG4gICAgICBjb25zdCBjb2xvciA9IGRhdGFzZXQuZGF0YVNldGNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0Jhckxpa2VEYXRhU2V0KFxyXG4gIGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXJcclxuKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoXHJcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpXHJcbiAgICAgICAgKSxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoXHJcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IgfHwgZ2VuZXJhdGVSYW5kb21Db2xvcigpXHJcbiAgICAgICAgKSxcclxuICAgICAgfTtcclxuICAgIH0pLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRhVG9TY2F0dGVyKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkge1xyXG4gIHJldHVybiB7XHJcbiAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4ge1xyXG4gICAgICBjb25zdCBjb2xvciA9IGRhdGFzZXQuZGF0YVNldGNvbG9yIHx8IGdlbmVyYXRlUmFuZG9tQ29sb3IoKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcclxuICAgICAgICAgIHg6IGl0ZW0ueFZhbHVlLFxyXG4gICAgICAgICAgeTogaXRlbS55VmFsdWUsXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yLFxyXG4gICAgICB9O1xyXG4gICAgfSksXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybURhdGFUb0J1YmJsZShjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55IHtcclxuICByZXR1cm4ge1xyXG4gICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+IHtcclxuICAgICAgY29uc3QgY29sb3IgPSBkYXRhc2V0LmRhdGFTZXRjb2xvciB8fCBnZW5lcmF0ZVJhbmRvbUNvbG9yKCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXHJcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XHJcbiAgICAgICAgICB4OiBpdGVtLnhWYWx1ZSxcclxuICAgICAgICAgIHk6IGl0ZW0ueVZhbHVlLFxyXG4gICAgICAgICAgcjogaXRlbS5yVmFsdWUgPz8gNSxcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcixcclxuICAgICAgICBib3JkZXJDb2xvcjogY29sb3IsXHJcbiAgICAgIH07XHJcbiAgICB9KSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgYmFyQ2hhcnQ6IENoYXJ0SnNGYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogXCJiYXJcIixcclxuICBjaGFydEpzVHlwZTogXCJiYXJcIixcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XHJcbiAgICByZXR1cm4ge307XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXJMaWtlRGF0YVNldCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBob3Jpem9udGFsQmFyQ2hhcnQ6IENoYXJ0SnNGYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogXCJob3Jpem9udGFsQmFyXCIsXHJcbiAgY2hhcnRKc1R5cGU6IFwiYmFyXCIsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaW5kZXhBeGlzOiBcInlcIixcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXJMaWtlRGF0YVNldCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCByYWRhckNoYXJ0OiBDaGFydEpzRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6IFwicmFkYXJcIixcclxuICBjaGFydEpzVHlwZTogXCJyYWRhclwiLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+IHtcclxuICAgIHJldHVybiB7fTtcclxuICB9LFxyXG4gIHRyYW5zZm9ybURhdGE6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcclxuICAgICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQpID0+ICh7XHJcbiAgICAgICAgZGF0YTogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ueFZhbHVlKSxcclxuICAgICAgICBsYWJlbDogZGF0YXNldC5sYWJlbCxcclxuICAgICAgICBib3JkZXJDb2xvcjogZGF0YXNldC5kYXRhU2V0Y29sb3IsXHJcbiAgICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6IGRhdGFzZXQuZGF0YVNldGNvbG9yLFxyXG4gICAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IGRhdGFzZXQuZGF0YVNldGNvbG9yLFxyXG4gICAgICAgIHBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3I6IFwiIzAwMDAwMFwiLFxyXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogZGF0YXNldC5kYXRhU2V0Y29sb3IsXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcbiAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzdGFja2VkQmFyQ2hhcnQ6IENoYXJ0SnNGYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogXCJzdGFja2VkQmFyXCIsXHJcbiAgY2hhcnRKc1R5cGU6IFwiYmFyXCIsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgeDoge1xyXG4gICAgICAgICAgc3RhY2tlZDogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHk6IHtcclxuICAgICAgICAgIHN0YWNrZWQ6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXNpY0RhdGFTZXRzLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBpZUNoYXJ0OiBDaGFydEpzRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6IFwicGllXCIsXHJcbiAgY2hhcnRKc1R5cGU6IFwicGllXCIsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogdHJhbnNmb3JtRGF0YVRvQmFyTGlrZURhdGFTZXQsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZG91Z2hudXRDaGFydDogQ2hhcnRKc0ZhY3RvcnkgPSB7XHJcbiAgY2hhcnRUeXBlOiBcImRvdWdobnV0XCIsXHJcbiAgY2hhcnRKc1R5cGU6IFwiZG91Z2hudXRcIixcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XHJcbiAgICByZXR1cm4ge307XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CYXJMaWtlRGF0YVNldCxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzY2F0dGVyQ2hhcnQ6IENoYXJ0SnNGYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogXCJzY2F0dGVyXCIsXHJcbiAgY2hhcnRKc1R5cGU6IFwic2NhdHRlclwiLFxyXG4gIGNyZWF0ZU9wdGlvbnM6ICgpID0+IHtcclxuICAgIHJldHVybiB7fTtcclxuICB9LFxyXG4gIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb1NjYXR0ZXIsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgYnViYmxlQ2hhcnQ6IENoYXJ0SnNGYWN0b3J5ID0ge1xyXG4gIGNoYXJ0VHlwZTogXCJidWJibGVcIixcclxuICBjaGFydEpzVHlwZTogXCJidWJibGVcIixcclxuICBjcmVhdGVPcHRpb25zOiAoKSA9PiB7XHJcbiAgICByZXR1cm4ge307XHJcbiAgfSxcclxuICB0cmFuc2Zvcm1EYXRhOiB0cmFuc2Zvcm1EYXRhVG9CdWJibGUsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgbXVsdGlBeGlzTGluZUNoYXJ0OiBDaGFydEpzRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6IFwibXVsdGlBeGlzTGluZVwiLFxyXG4gIGNoYXJ0SnNUeXBlOiBcImxpbmVcIixcclxuICBjcmVhdGVPcHRpb25zOiAoY2hhcnREYXRhOiBEaWFncmFtRGF0YUNvbnRhaW5lcik6IGFueSA9PiB7XHJcbiAgICBjb25zdCB5QXhlcyA9IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQsIGluZGV4KSA9PiAoe1xyXG4gICAgICBpZDogYHkke2luZGV4ID09IDEgPyBcIlwiIDogaW5kZXh9YCxcclxuICAgICAgdHlwZTogXCJsaW5lYXJcIixcclxuICAgICAgcG9zaXRpb246IGluZGV4ICUgMiA9PT0gMCA/IFwibGVmdFwiIDogXCJyaWdodFwiLFxyXG4gICAgfSkpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgLi4ueUF4ZXMucmVkdWNlKChhY2M6IGFueSwgYXhpcykgPT4ge1xyXG4gICAgICAgICAgYWNjW2F4aXMuaWRdID0gYXhpcztcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSwge30pLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9LFxyXG4gIHRyYW5zZm9ybURhdGE6IChjaGFydERhdGE6IERpYWdyYW1EYXRhQ29udGFpbmVyKTogYW55ID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsczogY2hhcnREYXRhLmxhYmVscyxcclxuICAgICAgZGF0YXNldHM6IGNoYXJ0RGF0YS5pdGVtcy5tYXAoKGRhdGFzZXQsIGluZGV4KSA9PiAoe1xyXG4gICAgICAgIGRhdGE6IGRhdGFzZXQuaXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnhWYWx1ZSksXHJcbiAgICAgICAgbGFiZWw6IGRhdGFzZXQubGFiZWwsXHJcbiAgICAgICAgeUF4aXNJRDogYHkke2luZGV4ID09IDEgPyBcIlwiIDogaW5kZXh9YCxcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGRhdGFzZXQuZGF0YVNldGNvbG9yLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBkYXRhc2V0LmRhdGFTZXRjb2xvcixcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBvbGFyQXJlYUNoYXJ0OiBDaGFydEpzRmFjdG9yeSA9IHtcclxuICBjaGFydFR5cGU6IFwicG9sYXJBcmVhXCIsXHJcbiAgY2hhcnRKc1R5cGU6IFwicG9sYXJBcmVhXCIsXHJcbiAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH0sXHJcbiAgdHJhbnNmb3JtRGF0YTogKGNoYXJ0RGF0YTogRGlhZ3JhbURhdGFDb250YWluZXIpOiBhbnkgPT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbGFiZWxzOiBjaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogY2hhcnREYXRhLml0ZW1zLm1hcCgoZGF0YXNldCkgPT4gKHtcclxuICAgICAgICBkYXRhOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS54VmFsdWUpLFxyXG4gICAgICAgIGxhYmVsOiBkYXRhc2V0LmxhYmVsLFxyXG4gICAgICAgIGJvcmRlckNvbG9yOiBkYXRhc2V0Lml0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pdGVtQ29sb3IpLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZGF0YXNldC5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0uaXRlbUNvbG9yKSxcclxuICAgICAgfSkpLFxyXG4gICAgfTtcclxuICB9LFxyXG59O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdENoYXJ0T3B0aW9uc1Byb3ZpZGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGZhY3Rvcmllc0J5VHlwZTogTWFwPHN0cmluZywgQ2hhcnRKc0ZhY3Rvcnk+O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChDVVNUT01fQ0hBUlRfT1BUSU9OUylcclxuICAgIEBPcHRpb25hbCgpXHJcbiAgICBmYWN0b3JpZXM6IENoYXJ0SnNGYWN0b3J5W10gfCB1bmRlZmluZWRcclxuICApIHtcclxuICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlID0gbmV3IE1hcChcclxuICAgICAgZmFjdG9yaWVzPy5tYXAoKGYpID0+IFtmLmNoYXJ0VHlwZSwgZl0pID8/IFtdXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmFjdG9yeShjaGFydFR5cGU6IHN0cmluZyk6IENoYXJ0SnNGYWN0b3J5IHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuZmFjdG9yaWVzQnlUeXBlLmdldChjaGFydFR5cGUpID8/IHtcclxuICAgICAgICBjaGFydFR5cGU6IGNoYXJ0VHlwZSxcclxuICAgICAgICBjaGFydEpzVHlwZTogY2hhcnRUeXBlLFxyXG4gICAgICAgIHRyYW5zZm9ybURhdGE6IHRyYW5zZm9ybURhdGFUb0Jhc2ljRGF0YVNldHMsXHJcbiAgICAgICAgY3JlYXRlT3B0aW9uczogKCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbUNvbG9yKCk6IHN0cmluZyB7XHJcbiAgY29uc3QgcmFuZG9tID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTY3NzcyMTUpLnRvU3RyaW5nKDE2KTtcclxuICByZXR1cm4gYCMke1wiMDAwMDAwXCIuc3Vic3RyaW5nKDAsIDYgLSByYW5kb20ubGVuZ3RoKSArIHJhbmRvbX1gO1xyXG59XHJcbiJdfQ==