@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.
- package/esm2022/lib/smart-client/smart-component-api-client.mjs +25 -3
- package/esm2022/lib/smart-client/smart.component.mjs +9 -2
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +2 -1
- package/esm2022/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.mjs +2 -0
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +2 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +18 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +33 -3
- package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +7 -3
- package/esm2022/lib/smart-diagram/api/api/api.mjs +4 -0
- package/esm2022/lib/smart-diagram/api/api/diagramService.service.mjs +141 -0
- package/esm2022/lib/smart-diagram/api/api.module.mjs +40 -0
- package/esm2022/lib/smart-diagram/api/configuration.mjs +91 -0
- package/esm2022/lib/smart-diagram/api/encoder.mjs +19 -0
- package/esm2022/lib/smart-diagram/api/index.mjs +7 -0
- package/esm2022/lib/smart-diagram/api/model/diagramColor.mjs +13 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDataContainer.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDataItem.mjs +13 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDataSet.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramDescriptor.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramModel.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/diagramShape.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/drawTime.mjs +18 -0
- package/esm2022/lib/smart-diagram/api/model/labelText.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/model/models.mjs +10 -0
- package/esm2022/lib/smart-diagram/api/param.mjs +2 -0
- package/esm2022/lib/smart-diagram/api/variables.mjs +9 -0
- package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +289 -0
- package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +341 -0
- package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +39 -0
- package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +10 -0
- package/esm2022/lib/smart-diagram/projects.mjs +5 -0
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
- package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -12
- package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +6 -3
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +22 -3
- package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +5 -3
- package/esm2022/lib/smart-table/tables/table.mjs +5 -2
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +2 -2
- package/esm2022/projects.mjs +2 -1
- package/fesm2022/smartbit4all-ng-client.mjs +1255 -171
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-client/smart-component-api-client.d.ts +4 -1
- package/lib/smart-client/smart.component.d.ts +3 -0
- package/lib/smart-component-layout/api/model/componentWidgetType.d.ts +2 -1
- package/lib/smart-component-layout/api/model/layoutDefinitionDescriptor.d.ts +19 -0
- package/lib/smart-component-layout/api/model/models.d.ts +1 -0
- package/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.d.ts +2 -0
- package/lib/smart-component-layout/smart-component-layout-utility.d.ts +2 -0
- package/lib/smart-component-layout/smart-component-layout.component.d.ts +7 -0
- package/lib/smart-component-layout/smart-component-layout.module.d.ts +2 -1
- package/lib/smart-diagram/api/api/api.d.ts +3 -0
- package/lib/smart-diagram/api/api/diagramService.service.d.ts +36 -0
- package/lib/smart-diagram/api/encoder.d.ts +11 -0
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramColor.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataContainer.d.ts +2 -3
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataItem.d.ts +3 -3
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDataSet.d.ts +4 -4
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramDescriptor.d.ts +10 -9
- package/{src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramUiModel.d.ts → lib/smart-diagram/api/model/diagramModel.d.ts} +5 -4
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/diagramShape.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/drawTime.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/labelText.d.ts +2 -2
- package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/model/models.d.ts +1 -2
- package/lib/smart-diagram/component/default-smart-diagram-options.provider.d.ts +32 -0
- package/lib/smart-diagram/component/smart-diagram.component.d.ts +40 -0
- package/lib/smart-diagram/component/smart-diagram.module.d.ts +11 -0
- package/lib/smart-diagram/component/smart-diagram.util.d.ts +1 -0
- package/lib/smart-diagram/projects.d.ts +4 -0
- package/lib/smart-grid/api/grid-api/model/gridExportDescriptor.d.ts +2 -2
- package/lib/smart-grid/api/grid-api/model/gridModel.d.ts +1 -0
- package/lib/smart-grid/smart-grid-toolbar-util.d.ts +1 -0
- package/lib/smart-grid/smart-grid.component.d.ts +3 -0
- package/lib/smart-table/tables/material-table/material-table.component.d.ts +1 -0
- package/lib/smart-table/tables/table.d.ts +1 -0
- package/package.json +1 -7
- package/projects.d.ts +1 -0
- package/smartbit4all-ng-client-4.2.71.tgz +0 -0
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartData.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartDescriptor.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartOrientation.mjs +0 -16
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartType.mjs +0 -21
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/chartValue.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/models.mjs +0 -7
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/pieChartLegendPosition.mjs +0 -16
- package/esm2022/src/lib/smart-chart/smart-chart/default-chart-options.provider.mjs +0 -233
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.component.mjs +0 -285
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.module.mjs +0 -39
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/api/api.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/api.module.mjs +0 -40
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/configuration.mjs +0 -91
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/index.mjs +0 -7
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramColor.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataContainer.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataItem.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSet.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDescriptor.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramShape.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramUiModel.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/drawTime.mjs +0 -18
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/labelText.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/models.mjs +0 -11
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/param.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/variables.mjs +0 -9
- package/esm2022/src/lib/smart-chart/smart-chart-projects.mjs +0 -9
- package/esm2022/src/lib/smart-chart/smartbit4all-ng-client-src-lib-smart-chart.mjs +0 -5
- package/esm2022/src/lib/smart-chart/view-context/utility/componentLibrary.mjs +0 -9
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +0 -686
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +0 -1
- package/smartbit4all-ng-client-4.2.69.tgz +0 -0
- package/src/lib/smart-chart/index.d.ts +0 -5
- package/src/lib/smart-chart/smart-chart/api/model/chartData.d.ts +0 -16
- package/src/lib/smart-chart/smart-chart/api/model/chartDescriptor.d.ts +0 -37
- package/src/lib/smart-chart/smart-chart/api/model/chartOrientation.d.ts +0 -16
- package/src/lib/smart-chart/smart-chart/api/model/chartType.d.ts +0 -21
- package/src/lib/smart-chart/smart-chart/api/model/chartValue.d.ts +0 -16
- package/src/lib/smart-chart/smart-chart/api/model/models.d.ts +0 -6
- package/src/lib/smart-chart/smart-chart/api/model/pieChartLegendPosition.d.ts +0 -16
- package/src/lib/smart-chart/smart-chart/default-chart-options.provider.d.ts +0 -31
- package/src/lib/smart-chart/smart-chart/smart-chart.component.d.ts +0 -33
- package/src/lib/smart-chart/smart-chart/smart-chart.module.d.ts +0 -11
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/api/api.d.ts +0 -1
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.d.ts +0 -21
- package/src/lib/smart-chart/smart-chart-projects.d.ts +0 -5
- package/src/lib/smart-chart/view-context/utility/componentLibrary.d.ts +0 -6
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/api.module.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/configuration.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/index.d.ts +0 -0
- /package/{src/lib/smart-chart/smart-chart/smart-chart2 → lib/smart-diagram}/api/param.d.ts +0 -0
- /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==
|