@smartbit4all/ng-client 4.2.20 → 4.2.21
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.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/index.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/layoutDirection.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/param.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/variables.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
- package/esm2022/lib/smart-form/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-form/api/api/default.service.mjs +1 -1
- package/esm2022/lib/smart-form/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-form/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-form/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-form/api/index.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/propertyMapping.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormInputMode.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetDirection.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartWidgetHint.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
- package/esm2022/lib/smart-form/api/param.mjs +1 -1
- package/esm2022/lib/smart-form/api/variables.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
- package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceDescriptor.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceType.mjs +1 -1
- package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
- package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
- package/esm2022/lib/smart-map/projects.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.component.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
- package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
- package/esm2022/lib/view-context/api/model/componentConstraint.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/models.mjs +1 -7
- package/esm2022/src/lib/smart-chart/smart-chart/default-chart-options.provider.mjs +32 -32
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.component.mjs +46 -7
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.module.mjs +6 -6
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/api/api.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/api.module.mjs +40 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/configuration.mjs +91 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/index.mjs +7 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramColor.mjs +13 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataContainer.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataItem.mjs +13 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSet.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.mjs +13 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramDescriptor.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramShape.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramUiModel.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/drawTime.mjs +18 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/model/models.mjs +10 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/param.mjs +2 -0
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart2/api/variables.mjs +9 -0
- package/esm2022/src/lib/smart-chart/smart-chart-projects.mjs +6 -5
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +103 -46
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +1 -1
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.2.21.tgz +0 -0
- package/src/lib/smart-chart/smart-chart/api/model/models.d.ts +0 -6
- package/src/lib/smart-chart/smart-chart/default-chart-options.provider.d.ts +2 -2
- package/src/lib/smart-chart/smart-chart/smart-chart.component.d.ts +1 -1
- package/src/lib/smart-chart/smart-chart/smart-chart.module.d.ts +1 -1
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramColor.d.ts +17 -0
- package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/model/diagramDataContainer.d.ts +2 -2
- package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/model/diagramDataItem.d.ts +2 -2
- package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/model/diagramDataSet.d.ts +2 -2
- package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/model/diagramDataSetConstructionInstruction.d.ts +2 -2
- package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/model/diagramDescriptor.d.ts +4 -2
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/diagramShape.d.ts +28 -0
- package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/model/diagramUiModel.d.ts +4 -4
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/drawTime.d.ts +18 -0
- package/src/lib/smart-chart/smart-chart/smart-chart2/api/model/models.d.ts +9 -0
- package/src/lib/smart-chart/smart-chart-projects.d.ts +5 -4
- package/esm2022/src/lib/smart-chart/smart-chart/api/api/api.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/api.module.mjs +0 -40
- package/esm2022/src/lib/smart-chart/smart-chart/api/configuration.mjs +0 -91
- package/esm2022/src/lib/smart-chart/smart-chart/api/index.mjs +0 -7
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/diagramDataContainer.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/diagramDataItem.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/diagramDataSet.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/diagramDataSetConstructionInstruction.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/diagramDescriptor.mjs +0 -13
- package/esm2022/src/lib/smart-chart/smart-chart/api/model/diagramUiModel.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/param.mjs +0 -2
- package/esm2022/src/lib/smart-chart/smart-chart/api/variables.mjs +0 -9
- package/smartbit4all-ng-client-4.2.20.tgz +0 -0
- /package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/api/api.d.ts +0 -0
- /package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/api.module.d.ts +0 -0
- /package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/configuration.d.ts +0 -0
- /package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/index.d.ts +0 -0
- /package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/param.d.ts +0 -0
- /package/src/lib/smart-chart/smart-chart/{api → smart-chart2/api}/variables.d.ts +0 -0
|
@@ -4,8 +4,9 @@ import { BrowserModule } from '@angular/platform-browser';
|
|
|
4
4
|
import * as i2 from 'primeng/chart';
|
|
5
5
|
import { ChartModule } from 'primeng/chart';
|
|
6
6
|
import { Chart } from 'chart.js';
|
|
7
|
+
import annotationPlugin from 'chartjs-plugin-annotation';
|
|
7
8
|
|
|
8
|
-
const CUSTOM_CHART_OPTIONS = new InjectionToken(
|
|
9
|
+
const CUSTOM_CHART_OPTIONS = new InjectionToken("CUSTOM_CHART_OPTIONS");
|
|
9
10
|
function transformDataToBasicDataSets(chartData) {
|
|
10
11
|
return {
|
|
11
12
|
labels: chartData.labels,
|
|
@@ -67,26 +68,26 @@ function transformDataToBubble(chartData) {
|
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
const barChart = {
|
|
70
|
-
chartType:
|
|
71
|
-
chartJsType:
|
|
71
|
+
chartType: "bar",
|
|
72
|
+
chartJsType: "bar",
|
|
72
73
|
createOptions: () => {
|
|
73
74
|
return {};
|
|
74
75
|
},
|
|
75
76
|
transformData: transformDataToBarLikeDataSet,
|
|
76
77
|
};
|
|
77
78
|
const horizontalBarChart = {
|
|
78
|
-
chartType:
|
|
79
|
-
chartJsType:
|
|
79
|
+
chartType: "horizontalBar",
|
|
80
|
+
chartJsType: "bar",
|
|
80
81
|
createOptions: () => {
|
|
81
82
|
return {
|
|
82
|
-
indexAxis:
|
|
83
|
+
indexAxis: "y",
|
|
83
84
|
};
|
|
84
85
|
},
|
|
85
86
|
transformData: transformDataToBarLikeDataSet,
|
|
86
87
|
};
|
|
87
88
|
const radarChart = {
|
|
88
|
-
chartType:
|
|
89
|
-
chartJsType:
|
|
89
|
+
chartType: "radar",
|
|
90
|
+
chartJsType: "radar",
|
|
90
91
|
createOptions: () => {
|
|
91
92
|
return {};
|
|
92
93
|
},
|
|
@@ -99,15 +100,15 @@ const radarChart = {
|
|
|
99
100
|
borderColor: dataset.dataSetcolor,
|
|
100
101
|
pointBackgroundColor: dataset.dataSetcolor,
|
|
101
102
|
pointBorderColor: dataset.dataSetcolor,
|
|
102
|
-
pointHoverBackgroundColor:
|
|
103
|
+
pointHoverBackgroundColor: "#000000",
|
|
103
104
|
pointHoverBorderColor: dataset.dataSetcolor,
|
|
104
105
|
})),
|
|
105
106
|
};
|
|
106
107
|
},
|
|
107
108
|
};
|
|
108
109
|
const stackedBarChart = {
|
|
109
|
-
chartType:
|
|
110
|
-
chartJsType:
|
|
110
|
+
chartType: "stackedBar",
|
|
111
|
+
chartJsType: "bar",
|
|
111
112
|
createOptions: () => {
|
|
112
113
|
return {
|
|
113
114
|
scales: {
|
|
@@ -123,45 +124,45 @@ const stackedBarChart = {
|
|
|
123
124
|
transformData: transformDataToBasicDataSets,
|
|
124
125
|
};
|
|
125
126
|
const pieChart = {
|
|
126
|
-
chartType:
|
|
127
|
-
chartJsType:
|
|
127
|
+
chartType: "pie",
|
|
128
|
+
chartJsType: "pie",
|
|
128
129
|
createOptions: () => {
|
|
129
130
|
return {};
|
|
130
131
|
},
|
|
131
132
|
transformData: transformDataToBarLikeDataSet,
|
|
132
133
|
};
|
|
133
134
|
const doughnutChart = {
|
|
134
|
-
chartType:
|
|
135
|
-
chartJsType:
|
|
135
|
+
chartType: "doughnut",
|
|
136
|
+
chartJsType: "doughnut",
|
|
136
137
|
createOptions: () => {
|
|
137
138
|
return {};
|
|
138
139
|
},
|
|
139
140
|
transformData: transformDataToBarLikeDataSet,
|
|
140
141
|
};
|
|
141
142
|
const scatterChart = {
|
|
142
|
-
chartType:
|
|
143
|
-
chartJsType:
|
|
143
|
+
chartType: "scatter",
|
|
144
|
+
chartJsType: "scatter",
|
|
144
145
|
createOptions: () => {
|
|
145
146
|
return {};
|
|
146
147
|
},
|
|
147
148
|
transformData: transformDataToScatter,
|
|
148
149
|
};
|
|
149
150
|
const bubbleChart = {
|
|
150
|
-
chartType:
|
|
151
|
-
chartJsType:
|
|
151
|
+
chartType: "bubble",
|
|
152
|
+
chartJsType: "bubble",
|
|
152
153
|
createOptions: () => {
|
|
153
154
|
return {};
|
|
154
155
|
},
|
|
155
156
|
transformData: transformDataToBubble,
|
|
156
157
|
};
|
|
157
158
|
const multiAxisLineChart = {
|
|
158
|
-
chartType:
|
|
159
|
-
chartJsType:
|
|
159
|
+
chartType: "multiAxisLine",
|
|
160
|
+
chartJsType: "line",
|
|
160
161
|
createOptions: (chartData) => {
|
|
161
162
|
const yAxes = chartData.items.map((dataset, index) => ({
|
|
162
|
-
id: `y${index == 1 ?
|
|
163
|
-
type:
|
|
164
|
-
position: index % 2 === 0 ?
|
|
163
|
+
id: `y${index == 1 ? "" : index}`,
|
|
164
|
+
type: "linear",
|
|
165
|
+
position: index % 2 === 0 ? "left" : "right",
|
|
165
166
|
}));
|
|
166
167
|
return {
|
|
167
168
|
scales: {
|
|
@@ -178,7 +179,7 @@ const multiAxisLineChart = {
|
|
|
178
179
|
datasets: chartData.items.map((dataset, index) => ({
|
|
179
180
|
data: dataset.items.map((item) => item.xValue),
|
|
180
181
|
label: dataset.label,
|
|
181
|
-
yAxisID: `y${index == 1 ?
|
|
182
|
+
yAxisID: `y${index == 1 ? "" : index}`,
|
|
182
183
|
backgroundColor: dataset.dataSetcolor,
|
|
183
184
|
borderColor: dataset.dataSetcolor,
|
|
184
185
|
})),
|
|
@@ -186,8 +187,8 @@ const multiAxisLineChart = {
|
|
|
186
187
|
},
|
|
187
188
|
};
|
|
188
189
|
const polarAreaChart = {
|
|
189
|
-
chartType:
|
|
190
|
-
chartJsType:
|
|
190
|
+
chartType: "polarArea",
|
|
191
|
+
chartJsType: "polarArea",
|
|
191
192
|
createOptions: () => {
|
|
192
193
|
return {};
|
|
193
194
|
},
|
|
@@ -218,12 +219,12 @@ class DefaultChartOptionsProvider {
|
|
|
218
219
|
});
|
|
219
220
|
}
|
|
220
221
|
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 }); }
|
|
221
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultChartOptionsProvider, providedIn:
|
|
222
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultChartOptionsProvider, providedIn: "root" }); }
|
|
222
223
|
}
|
|
223
224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DefaultChartOptionsProvider, decorators: [{
|
|
224
225
|
type: Injectable,
|
|
225
226
|
args: [{
|
|
226
|
-
providedIn:
|
|
227
|
+
providedIn: "root",
|
|
227
228
|
}]
|
|
228
229
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
229
230
|
type: Inject,
|
|
@@ -233,7 +234,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
233
234
|
}] }] });
|
|
234
235
|
function generateRandomColor() {
|
|
235
236
|
const random = Math.floor(Math.random() * 16777215).toString(16);
|
|
236
|
-
return `#${
|
|
237
|
+
return `#${"000000".substring(0, 6 - random.length) + random}`;
|
|
237
238
|
}
|
|
238
239
|
|
|
239
240
|
// lib/view-context/utility/componentLibrary.ts
|
|
@@ -252,23 +253,24 @@ class SmartChartComponent {
|
|
|
252
253
|
this.onDataClicked = new EventEmitter(); //
|
|
253
254
|
this.componentLibrary = ComponentLibrary;
|
|
254
255
|
this.compLib = compLib ?? ComponentLibrary.PRIMENG;
|
|
256
|
+
Chart.register(annotationPlugin);
|
|
255
257
|
}
|
|
256
258
|
ngOnInit() {
|
|
257
259
|
let options = undefined;
|
|
258
|
-
const diagramType = !!this.diagramUiModel.
|
|
259
|
-
? this.diagramUiModel.
|
|
260
|
+
const diagramType = !!this.diagramUiModel.descriptor?.diagramType
|
|
261
|
+
? this.diagramUiModel.descriptor.diagramType
|
|
260
262
|
: "";
|
|
261
263
|
const factory = this.chartOptionProvider.getFactory(diagramType);
|
|
262
264
|
this.type = factory.chartJsType;
|
|
263
|
-
options = factory.createOptions(this.diagramUiModel.
|
|
264
|
-
if (this.diagramUiModel.
|
|
265
|
-
options = this.deepMerge(this.convertBackendOptions(this.diagramUiModel.
|
|
265
|
+
options = factory.createOptions(this.diagramUiModel.diagramData);
|
|
266
|
+
if (this.diagramUiModel.descriptor) {
|
|
267
|
+
options = this.deepMerge(this.convertBackendOptions(this.diagramUiModel.descriptor), options);
|
|
266
268
|
}
|
|
267
269
|
if (this.options) {
|
|
268
270
|
options = this.deepMerge(this.options, options);
|
|
269
271
|
}
|
|
270
272
|
this.options = options;
|
|
271
|
-
this.data = factory.transformData(this.diagramUiModel.
|
|
273
|
+
this.data = factory.transformData(this.diagramUiModel.diagramData);
|
|
272
274
|
}
|
|
273
275
|
deepMerge(target, source) {
|
|
274
276
|
for (const key of Object.keys(source)) {
|
|
@@ -322,6 +324,43 @@ class SmartChartComponent {
|
|
|
322
324
|
},
|
|
323
325
|
};
|
|
324
326
|
}
|
|
327
|
+
//Create shapes
|
|
328
|
+
if (descriptor.diagramShapes) {
|
|
329
|
+
descriptor.diagramShapes.forEach((shape, index) => {
|
|
330
|
+
options.plugins.annotation = options.plugins.annotation || {};
|
|
331
|
+
options.plugins.annotation.annotations =
|
|
332
|
+
options.plugins.annotation.annotations || {};
|
|
333
|
+
var borderColor = `rgba(
|
|
334
|
+
${shape.borderColor?.red ?? 0},
|
|
335
|
+
${shape.borderColor?.green ?? 0},
|
|
336
|
+
${shape.borderColor?.blue ?? 0},
|
|
337
|
+
${shape.borderColor?.alpha ?? 1})`;
|
|
338
|
+
var backgroundColor = `rgba(
|
|
339
|
+
${shape.backgroundColor?.red ?? 0},
|
|
340
|
+
${shape.backgroundColor?.green ?? 0},
|
|
341
|
+
${shape.backgroundColor?.blue ?? 0},
|
|
342
|
+
${shape.backgroundColor?.alpha ?? 1})`;
|
|
343
|
+
var borderDash;
|
|
344
|
+
if (shape.borderDashLength && shape.borderDashGap) {
|
|
345
|
+
borderDash = [shape.borderDashLength, shape.borderDashGap];
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
borderDash = undefined;
|
|
349
|
+
}
|
|
350
|
+
options.plugins.annotation.annotations[`shape${index}`] = {
|
|
351
|
+
type: shape.shapeType ?? "line",
|
|
352
|
+
xMin: shape.xMin ?? undefined,
|
|
353
|
+
xMax: shape.xMax ?? undefined,
|
|
354
|
+
yMin: shape.yMin ?? undefined,
|
|
355
|
+
yMax: shape.yMax ?? undefined,
|
|
356
|
+
backgroundColor: backgroundColor ?? undefined,
|
|
357
|
+
borderColor: borderColor ?? undefined,
|
|
358
|
+
borderWidth: shape.borderWidth ?? 1,
|
|
359
|
+
borderDash: borderDash ?? undefined,
|
|
360
|
+
drawTime: shape.drawTime ?? undefined,
|
|
361
|
+
};
|
|
362
|
+
});
|
|
363
|
+
}
|
|
325
364
|
return options;
|
|
326
365
|
}
|
|
327
366
|
onDataSelect(event) {
|
|
@@ -476,10 +515,14 @@ const ChartType = {
|
|
|
476
515
|
* https://openapi-generator.tech
|
|
477
516
|
* Do not edit the class manually.
|
|
478
517
|
*/
|
|
518
|
+
const PieChartLegendPosition = {
|
|
519
|
+
Right: 'right',
|
|
520
|
+
Below: 'below'
|
|
521
|
+
};
|
|
479
522
|
|
|
480
523
|
/**
|
|
481
|
-
*
|
|
482
|
-
*
|
|
524
|
+
* smartchart API
|
|
525
|
+
* Describes a model for smart chart.
|
|
483
526
|
*
|
|
484
527
|
* The version of the OpenAPI document: 1.0.0
|
|
485
528
|
* Contact: info@it4all.hu
|
|
@@ -490,8 +533,8 @@ const ChartType = {
|
|
|
490
533
|
*/
|
|
491
534
|
|
|
492
535
|
/**
|
|
493
|
-
*
|
|
494
|
-
*
|
|
536
|
+
* smartchart API
|
|
537
|
+
* Describes a model for smart chart.
|
|
495
538
|
*
|
|
496
539
|
* The version of the OpenAPI document: 1.0.0
|
|
497
540
|
* Contact: info@it4all.hu
|
|
@@ -502,8 +545,8 @@ const ChartType = {
|
|
|
502
545
|
*/
|
|
503
546
|
|
|
504
547
|
/**
|
|
505
|
-
*
|
|
506
|
-
*
|
|
548
|
+
* smartchart API
|
|
549
|
+
* Describes a model for smart chart.
|
|
507
550
|
*
|
|
508
551
|
* The version of the OpenAPI document: 1.0.0
|
|
509
552
|
* Contact: info@it4all.hu
|
|
@@ -512,9 +555,23 @@ const ChartType = {
|
|
|
512
555
|
* https://openapi-generator.tech
|
|
513
556
|
* Do not edit the class manually.
|
|
514
557
|
*/
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* smartchart API
|
|
561
|
+
* Describes a model for smart chart.
|
|
562
|
+
*
|
|
563
|
+
* The version of the OpenAPI document: 1.0.0
|
|
564
|
+
* Contact: info@it4all.hu
|
|
565
|
+
*
|
|
566
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
567
|
+
* https://openapi-generator.tech
|
|
568
|
+
* Do not edit the class manually.
|
|
569
|
+
*/
|
|
570
|
+
const DrawTime = {
|
|
571
|
+
BeforeDraw: 'beforeDraw',
|
|
572
|
+
BeforeDatasetsDraw: 'beforeDatasetsDraw',
|
|
573
|
+
AfterDatasetsDraw: 'afterDatasetsDraw',
|
|
574
|
+
AfterDraw: 'afterDraw'
|
|
518
575
|
};
|
|
519
576
|
|
|
520
577
|
/*
|
|
@@ -525,5 +582,5 @@ const PieChartLegendPosition = {
|
|
|
525
582
|
* Generated bundle index. Do not edit.
|
|
526
583
|
*/
|
|
527
584
|
|
|
528
|
-
export { CUSTOM_CHART_OPTIONS, ChartOrientation, ChartType, DefaultChartOptionsProvider, PieChartLegendPosition, SmartChartComponent, SmartChartModule, barChart, bubbleChart, doughnutChart, horizontalBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
|
|
585
|
+
export { CUSTOM_CHART_OPTIONS, ChartOrientation, ChartType, DefaultChartOptionsProvider, DrawTime, PieChartLegendPosition, SmartChartComponent, SmartChartModule, barChart, bubbleChart, doughnutChart, horizontalBarChart, multiAxisLineChart, pieChart, polarAreaChart, radarChart, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter };
|
|
529
586
|
//# sourceMappingURL=smartbit4all-ng-client-src-lib-smart-chart.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartbit4all-ng-client-src-lib-smart-chart.mjs","sources":["../../../projects/smart-ng-client/src/lib/smart-chart/default-chart-options.provider.ts","../../../projects/smart-ng-client/src/lib/view-context/utility/componentLibrary.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.html","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.module.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartOrientation.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartType.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartValue.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/diagramDataItem.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/diagramDataSetConstructionInstruction.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/diagramDescriptor.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/pieChartLegendPosition.ts","../../../projects/smart-ng-client/src/lib/smart-chart-projects.ts","../../../projects/smart-ng-client/src/lib/smartbit4all-ng-client-src-lib-smart-chart.ts"],"sourcesContent":["import { Injectable, InjectionToken, Optional, Inject } from '@angular/core';\r\nimport { DiagramDataContainer } from './api';\r\n\r\nexport const CUSTOM_CHART_OPTIONS = new InjectionToken<ChartJsFactory>('CUSTOM_CHART_OPTIONS');\r\n\r\nexport interface ChartJsFactory {\r\n readonly chartType: string;\r\n readonly chartJsType: string;\r\n createOptions(chartData: DiagramDataContainer): any;\r\n transformData(chartData: DiagramDataContainer): any;\r\n}\r\n\r\nexport function transformDataToBasicDataSets(chartData: DiagramDataContainer): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBarLikeDataSet(chartData: DiagramDataContainer): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: dataset.items.map((item) => item.itemColor || generateRandomColor()),\r\n borderColor: dataset.items.map((item) => item.itemColor || generateRandomColor()),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToScatter(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBubble(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n r: item.rValue ?? 5,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport const barChart: ChartJsFactory = {\r\n chartType: 'bar',\r\n chartJsType: 'bar',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const horizontalBarChart: ChartJsFactory = {\r\n chartType: 'horizontalBar',\r\n chartJsType: 'bar',\r\n createOptions: () => {\r\n return {\r\n indexAxis: 'y',\r\n };\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const radarChart: ChartJsFactory = {\r\n chartType: 'radar',\r\n chartJsType: 'radar',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.dataSetcolor,\r\n pointBackgroundColor: dataset.dataSetcolor,\r\n pointBorderColor: dataset.dataSetcolor,\r\n pointHoverBackgroundColor: '#000000',\r\n pointHoverBorderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const stackedBarChart: ChartJsFactory = {\r\n chartType: 'stackedBar',\r\n chartJsType: 'bar',\r\n createOptions: () => {\r\n return {\r\n scales: {\r\n x: {\r\n stacked: true,\r\n },\r\n y: {\r\n stacked: true,\r\n },\r\n },\r\n };\r\n },\r\n transformData: transformDataToBasicDataSets,\r\n};\r\n\r\nexport const pieChart: ChartJsFactory = {\r\n chartType: 'pie',\r\n chartJsType: 'pie',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const doughnutChart: ChartJsFactory = {\r\n chartType: 'doughnut',\r\n chartJsType: 'doughnut',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const scatterChart: ChartJsFactory = {\r\n chartType: 'scatter',\r\n chartJsType: 'scatter',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToScatter,\r\n};\r\n\r\nexport const bubbleChart: ChartJsFactory = {\r\n chartType: 'bubble',\r\n chartJsType: 'bubble',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBubble,\r\n};\r\n\r\nexport const multiAxisLineChart: ChartJsFactory = {\r\n chartType: 'multiAxisLine',\r\n chartJsType: 'line',\r\n createOptions: (chartData: DiagramDataContainer): any => {\r\n const yAxes = chartData.items.map((dataset, index) => ({\r\n id: `y${index == 1 ? '' : index}`,\r\n type: 'linear',\r\n position: index % 2 === 0 ? 'left' : 'right',\r\n }));\r\n return {\r\n scales: {\r\n ...yAxes.reduce((acc: any, axis) => {\r\n acc[axis.id] = axis;\r\n return acc;\r\n }, {}),\r\n },\r\n };\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset, index) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n yAxisID: `y${index == 1 ? '' : index}`,\r\n backgroundColor: dataset.dataSetcolor,\r\n borderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const polarAreaChart: ChartJsFactory = {\r\n chartType: 'polarArea',\r\n chartJsType: 'polarArea',\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.items.map((item) => item.itemColor),\r\n backgroundColor: dataset.items.map((item) => item.itemColor),\r\n })),\r\n };\r\n },\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DefaultChartOptionsProvider {\r\n private readonly factoriesByType: Map<string, ChartJsFactory>;\r\n constructor(@Inject(CUSTOM_CHART_OPTIONS) @Optional() factories: ChartJsFactory[] | undefined) {\r\n this.factoriesByType = new Map(factories?.map((f) => [f.chartType, f]) ?? []);\r\n }\r\n\r\n getFactory(chartType: string): ChartJsFactory {\r\n return (\r\n this.factoriesByType.get(chartType) ?? {\r\n chartType: chartType,\r\n chartJsType: chartType,\r\n transformData: transformDataToBasicDataSets,\r\n createOptions: () => {\r\n return {};\r\n },\r\n }\r\n );\r\n }\r\n}\r\n\r\nfunction generateRandomColor(): string {\r\n const random = Math.floor(Math.random() * 16777215).toString(16);\r\n return `#${'000000'.substring(0, 6 - random.length) + random}`;\r\n}\r\n","// lib/view-context/utility/componentLibrary.ts\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport enum ComponentLibrary {\r\n MATERIAL = 'material',\r\n PRIMENG = 'primeng',\r\n}\r\n\r\nexport const COMPONENT_LIBRARY = new InjectionToken<ComponentLibrary>('COMPONENT_LIBRARY');\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n Optional,\r\n Output,\r\n viewChild,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DefaultChartOptionsProvider } from \"./default-chart-options.provider\";\r\nimport { DiagramDescriptor, DiagramUiModel } from \"./api\";\r\nimport {\r\n COMPONENT_LIBRARY,\r\n ComponentLibrary,\r\n} from \"../view-context/utility/componentLibrary\";\r\nimport { Chart } from \"chart.js\";\r\nimport { UIChart } from \"primeng/chart\";\r\n\r\n@Component({\r\n selector: \"smart-chart\",\r\n templateUrl: \"./smart-chart.component.html\",\r\n styleUrls: [\"./smart-chart.component.css\"],\r\n})\r\nexport class SmartChartComponent {\r\n @ViewChild(\"chartJSRef\") chart?: UIChart;\r\n @Input() diagramUiModel!: DiagramUiModel;\r\n @Input() options?: any;\r\n\r\n @Output() dataSelect = new EventEmitter<any>();\r\n @Output() chartClick = new EventEmitter<any>();\r\n @Output() onDataClicked = new EventEmitter<any>(); //\r\n\r\n data: any;\r\n type: any;\r\n\r\n compLib: ComponentLibrary;\r\n componentLibrary = ComponentLibrary;\r\n\r\n constructor(\r\n private chartOptionProvider: DefaultChartOptionsProvider,\r\n @Inject(COMPONENT_LIBRARY) @Optional() compLib?: ComponentLibrary\r\n ) {\r\n this.compLib = compLib ?? ComponentLibrary.PRIMENG;\r\n }\r\n\r\n ngOnInit() {\r\n let options = undefined;\r\n const diagramType = !!this.diagramUiModel.Descriptor?.diagramType\r\n ? this.diagramUiModel.Descriptor.diagramType\r\n : \"\";\r\n\r\n const factory = this.chartOptionProvider.getFactory(diagramType);\r\n this.type = factory.chartJsType;\r\n options = factory.createOptions(this.diagramUiModel.DiagramData!);\r\n if (this.diagramUiModel.Descriptor) {\r\n options = this.deepMerge(\r\n this.convertBackendOptions(this.diagramUiModel.Descriptor),\r\n options\r\n );\r\n }\r\n if (this.options) {\r\n options = this.deepMerge(this.options, options);\r\n }\r\n\r\n this.options = options;\r\n this.data = factory.transformData(this.diagramUiModel.DiagramData!);\r\n }\r\n\r\n private deepMerge(target: any, source: any): any {\r\n for (const key of Object.keys(source)) {\r\n if (source[key] instanceof Object && target[key]) {\r\n Object.assign(source[key], this.deepMerge(target[key], source[key]));\r\n }\r\n }\r\n Object.assign(target || {}, source);\r\n return target;\r\n }\r\n\r\n private convertBackendOptions(descriptor: DiagramDescriptor) {\r\n const options: any = {\r\n plugins: {\r\n legend: {\r\n display: descriptor.showLegendForChart ?? true,\r\n },\r\n },\r\n scales: {} as any,\r\n };\r\n if (\r\n descriptor.diagramMinX !== undefined &&\r\n descriptor.diagramMaxX !== undefined\r\n ) {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n min: descriptor.diagramMinX,\r\n max: descriptor.diagramMaxX,\r\n };\r\n } else {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n };\r\n }\r\n if (\r\n descriptor.diagramMinY !== undefined &&\r\n descriptor.diagramMaxY !== undefined\r\n ) {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n min: descriptor.diagramMinY,\r\n max: descriptor.diagramMaxY,\r\n };\r\n } else {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n };\r\n }\r\n return options;\r\n }\r\n\r\n onDataSelect(event: any) {\r\n this.dataSelect.emit(event);\r\n }\r\n\r\n handleChartClick(event: any): void {\r\n this.chartClick.emit(event);\r\n }\r\n\r\n handleOnDataClicked(event: any): void {\r\n const canvas = event.target as HTMLCanvasElement;\r\n const chart = Chart.getChart(canvas);\r\n\r\n if (chart) {\r\n const elements = chart.getElementsAtEventForMode(\r\n event,\r\n \"nearest\",\r\n { intersect: true },\r\n false\r\n );\r\n if (elements.length === 0) {\r\n return;\r\n }\r\n const clickedItems = chart.tooltip?.dataPoints?.map((item) => {\r\n return {\r\n datasetIndex: item.datasetIndex,\r\n itemIndex: item.dataIndex,\r\n element: item.element,\r\n };\r\n });\r\n\r\n this.onDataClicked.emit({ event, clickedItems });\r\n }\r\n }\r\n\r\n getBase64Image() {\r\n return this.chart?.getBase64Image();\r\n }\r\n\r\n refresh() {\r\n return this.chart?.refresh();\r\n }\r\n\r\n getChart() {\r\n return this.chart?.chart;\r\n }\r\n}\r\n","@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport {\r\n barChart,\r\n bubbleChart,\r\n CUSTOM_CHART_OPTIONS,\r\n DefaultChartOptionsProvider,\r\n doughnutChart,\r\n horizontalBarChart,\r\n multiAxisLineChart,\r\n pieChart,\r\n polarAreaChart,\r\n radarChart,\r\n scatterChart,\r\n stackedBarChart,\r\n} from './default-chart-options.provider';\r\nimport { SmartChartComponent } from './smart-chart.component';\r\n\r\nconst DEFAULT_PROVIDERS: Provider[] = [\r\n DefaultChartOptionsProvider,\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: barChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: scatterChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: bubbleChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: horizontalBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: stackedBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: multiAxisLineChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: polarAreaChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: radarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: doughnutChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: pieChart, multi: true },\r\n];\r\n\r\n@NgModule({\r\n declarations: [SmartChartComponent],\r\n imports: [BrowserModule, ChartModule],\r\n exports: [SmartChartComponent],\r\n})\r\nexport class SmartChartModule {\r\n static forRoot(providers: Provider[]): ModuleWithProviders<SmartChartModule> {\r\n return {\r\n ngModule: SmartChartModule,\r\n providers: [...DEFAULT_PROVIDERS, ...providers],\r\n };\r\n }\r\n}\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartOrientation = 'Horizontal' | 'Vertical';\r\n\r\nexport const ChartOrientation = {\r\n Horizontal: 'Horizontal' as ChartOrientation,\r\n Vertical: 'Vertical' as ChartOrientation\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartType = 'BarChart' | 'GroupedBarChart' | 'StackedBarChart' | 'NormalizedBarChart' | 'PieChart' | 'AdvancedPieChart' | 'PieGrid';\r\n\r\nexport const ChartType = {\r\n BarChart: 'BarChart' as ChartType,\r\n GroupedBarChart: 'GroupedBarChart' as ChartType,\r\n StackedBarChart: 'StackedBarChart' as ChartType,\r\n NormalizedBarChart: 'NormalizedBarChart' as ChartType,\r\n PieChart: 'PieChart' as ChartType,\r\n AdvancedPieChart: 'AdvancedPieChart' as ChartType,\r\n PieGrid: 'PieGrid' as ChartType\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ChartValue { \r\n name: string;\r\n value?: object;\r\n series: Array<ChartValue>;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n/**\r\n * Contains an items data, based on the type of the diagram.\r\n */\r\nexport interface DiagramDataItem { \r\n uri?: string;\r\n label?: string;\r\n xValue?: number;\r\n yValue?: number;\r\n /**\r\n * This property specifies the radius of each bubble in a bubble chart. It is used to determine the size of the bubbles relative to their data values.\r\n */\r\n rValue?: number;\r\n itemColor?: string;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramDataSetConstructionInstruction { \r\n xValuePath?: Array<string>;\r\n yValuePath?: Array<string>;\r\n rValuePath?: Array<string>;\r\n labelValuePath?: Array<string>;\r\n colorValuePath?: Array<string>;\r\n loadLatest?: boolean;\r\n dataSetLabel?: string;\r\n dataSetType?: string;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n/**\r\n * A descriptor for the diagram.\r\n */\r\nexport interface DiagramDescriptor { \r\n uri?: string;\r\n /**\r\n * The type of the diagram.\r\n */\r\n diagramType?: string;\r\n /**\r\n * Specifies the starting point for rendering the chart\\'s X-axis. For example, if the minimum X value in the dataset is -30 and this property is set to -35, an extra \\\"padding\\\" of 5 units will be added below the lowest data point.\r\n */\r\n diagramMinX?: number;\r\n /**\r\n * Specifies the ending point for rendering the chart\\'s X-axis. For instance, if the maximum X value in the dataset is 30 and this property is set to 35, an additional \\\"padding\\\" of 5 units will be added above the highest data point.\r\n */\r\n diagramMaxX?: number;\r\n /**\r\n * Specifies the starting point for rendering the chart\\'s Y-axis. For example, if the minimum Y value in the dataset is -30 and this property is set to -35, an extra \\\"padding\\\" of 5 units will be added below the lowest data point.\r\n */\r\n diagramMinY?: number;\r\n /**\r\n * Specifies the ending point for rendering the chart\\'s Y-axis. For instance, if the maximum Y value in the dataset is 30 and this property is set to 35, an additional \\\"padding\\\" of 5 units will be added above the highest data point.\r\n */\r\n diagramMaxY?: number;\r\n /**\r\n * Determines whether the labels on the X-Axis are displayed on the chart. Set to `true` to show the labels, or `false` to hide them.\r\n */\r\n showLabelsForXAxis?: boolean;\r\n /**\r\n * Determines whether the labels on the Y-Axis are displayed on the chart. Set to `true` to show the labels, or `false` to hide them.\r\n */\r\n showLabelsForYAxis?: boolean;\r\n /**\r\n * Determines whether the legend for the chart is displayed. Set to `true` to show the legend, or `false` to hide it.\r\n */\r\n showLegendForChart?: boolean;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PieChartLegendPosition = 'right' | 'below';\r\n\r\nexport const PieChartLegendPosition = {\r\n Right: 'right' as PieChartLegendPosition,\r\n Below: 'below' as PieChartLegendPosition\r\n};\r\n\r\n","/*\r\n * Public API Surface of smart-chart\r\n */\r\n\r\nexport * from './smart-chart/smart-chart.module';\r\nexport * from './smart-chart/smart-chart.component';\r\nexport * from './smart-chart/api/model/models';\r\nexport * from './smart-chart/default-chart-options.provider';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './smart-chart-projects';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartbit4all-ng-client-src-lib-smart-chart.mjs","sources":["../../../projects/smart-ng-client/src/lib/smart-chart/default-chart-options.provider.ts","../../../projects/smart-ng-client/src/lib/view-context/utility/componentLibrary.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.component.html","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart.module.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartOrientation.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartType.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/chartValue.ts","../../../projects/smart-ng-client/src/lib/smart-chart/api/model/pieChartLegendPosition.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramColor.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramDataItem.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/diagramDataSetConstructionInstruction.ts","../../../projects/smart-ng-client/src/lib/smart-chart/smart-chart2/api/model/drawTime.ts","../../../projects/smart-ng-client/src/lib/smart-chart-projects.ts","../../../projects/smart-ng-client/src/lib/smartbit4all-ng-client-src-lib-smart-chart.ts"],"sourcesContent":["import { Injectable, InjectionToken, Optional, Inject } from \"@angular/core\";\r\nimport { DiagramDataContainer } from \"./smart-chart2/api\";\r\n\r\nexport const CUSTOM_CHART_OPTIONS = new InjectionToken<ChartJsFactory>(\r\n \"CUSTOM_CHART_OPTIONS\"\r\n);\r\n\r\nexport interface ChartJsFactory {\r\n readonly chartType: string;\r\n readonly chartJsType: string;\r\n createOptions(chartData: DiagramDataContainer): any;\r\n transformData(chartData: DiagramDataContainer): any;\r\n}\r\n\r\nexport function transformDataToBasicDataSets(\r\n chartData: DiagramDataContainer\r\n): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBarLikeDataSet(\r\n chartData: DiagramDataContainer\r\n): any {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => {\r\n return {\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n backgroundColor: dataset.items.map(\r\n (item) => item.itemColor || generateRandomColor()\r\n ),\r\n borderColor: dataset.items.map(\r\n (item) => item.itemColor || generateRandomColor()\r\n ),\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToScatter(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport function transformDataToBubble(chartData: DiagramDataContainer): any {\r\n return {\r\n datasets: chartData.items.map((dataset) => {\r\n const color = dataset.dataSetcolor || generateRandomColor();\r\n return {\r\n label: dataset.label,\r\n data: dataset.items.map((item) => ({\r\n x: item.xValue,\r\n y: item.yValue,\r\n r: item.rValue ?? 5,\r\n })),\r\n backgroundColor: color,\r\n borderColor: color,\r\n };\r\n }),\r\n };\r\n}\r\n\r\nexport const barChart: ChartJsFactory = {\r\n chartType: \"bar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const horizontalBarChart: ChartJsFactory = {\r\n chartType: \"horizontalBar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {\r\n indexAxis: \"y\",\r\n };\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const radarChart: ChartJsFactory = {\r\n chartType: \"radar\",\r\n chartJsType: \"radar\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.dataSetcolor,\r\n pointBackgroundColor: dataset.dataSetcolor,\r\n pointBorderColor: dataset.dataSetcolor,\r\n pointHoverBackgroundColor: \"#000000\",\r\n pointHoverBorderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const stackedBarChart: ChartJsFactory = {\r\n chartType: \"stackedBar\",\r\n chartJsType: \"bar\",\r\n createOptions: () => {\r\n return {\r\n scales: {\r\n x: {\r\n stacked: true,\r\n },\r\n y: {\r\n stacked: true,\r\n },\r\n },\r\n };\r\n },\r\n transformData: transformDataToBasicDataSets,\r\n};\r\n\r\nexport const pieChart: ChartJsFactory = {\r\n chartType: \"pie\",\r\n chartJsType: \"pie\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const doughnutChart: ChartJsFactory = {\r\n chartType: \"doughnut\",\r\n chartJsType: \"doughnut\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBarLikeDataSet,\r\n};\r\n\r\nexport const scatterChart: ChartJsFactory = {\r\n chartType: \"scatter\",\r\n chartJsType: \"scatter\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToScatter,\r\n};\r\n\r\nexport const bubbleChart: ChartJsFactory = {\r\n chartType: \"bubble\",\r\n chartJsType: \"bubble\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: transformDataToBubble,\r\n};\r\n\r\nexport const multiAxisLineChart: ChartJsFactory = {\r\n chartType: \"multiAxisLine\",\r\n chartJsType: \"line\",\r\n createOptions: (chartData: DiagramDataContainer): any => {\r\n const yAxes = chartData.items.map((dataset, index) => ({\r\n id: `y${index == 1 ? \"\" : index}`,\r\n type: \"linear\",\r\n position: index % 2 === 0 ? \"left\" : \"right\",\r\n }));\r\n return {\r\n scales: {\r\n ...yAxes.reduce((acc: any, axis) => {\r\n acc[axis.id] = axis;\r\n return acc;\r\n }, {}),\r\n },\r\n };\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset, index) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n yAxisID: `y${index == 1 ? \"\" : index}`,\r\n backgroundColor: dataset.dataSetcolor,\r\n borderColor: dataset.dataSetcolor,\r\n })),\r\n };\r\n },\r\n};\r\n\r\nexport const polarAreaChart: ChartJsFactory = {\r\n chartType: \"polarArea\",\r\n chartJsType: \"polarArea\",\r\n createOptions: () => {\r\n return {};\r\n },\r\n transformData: (chartData: DiagramDataContainer): any => {\r\n return {\r\n labels: chartData.labels,\r\n datasets: chartData.items.map((dataset) => ({\r\n data: dataset.items.map((item) => item.xValue),\r\n label: dataset.label,\r\n borderColor: dataset.items.map((item) => item.itemColor),\r\n backgroundColor: dataset.items.map((item) => item.itemColor),\r\n })),\r\n };\r\n },\r\n};\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class DefaultChartOptionsProvider {\r\n private readonly factoriesByType: Map<string, ChartJsFactory>;\r\n constructor(\r\n @Inject(CUSTOM_CHART_OPTIONS)\r\n @Optional()\r\n factories: ChartJsFactory[] | undefined\r\n ) {\r\n this.factoriesByType = new Map(\r\n factories?.map((f) => [f.chartType, f]) ?? []\r\n );\r\n }\r\n\r\n getFactory(chartType: string): ChartJsFactory {\r\n return (\r\n this.factoriesByType.get(chartType) ?? {\r\n chartType: chartType,\r\n chartJsType: chartType,\r\n transformData: transformDataToBasicDataSets,\r\n createOptions: () => {\r\n return {};\r\n },\r\n }\r\n );\r\n }\r\n}\r\n\r\nfunction generateRandomColor(): string {\r\n const random = Math.floor(Math.random() * 16777215).toString(16);\r\n return `#${\"000000\".substring(0, 6 - random.length) + random}`;\r\n}\r\n","// lib/view-context/utility/componentLibrary.ts\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport enum ComponentLibrary {\r\n MATERIAL = 'material',\r\n PRIMENG = 'primeng',\r\n}\r\n\r\nexport const COMPONENT_LIBRARY = new InjectionToken<ComponentLibrary>('COMPONENT_LIBRARY');\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DefaultChartOptionsProvider } from \"./default-chart-options.provider\";\r\nimport {\r\n COMPONENT_LIBRARY,\r\n ComponentLibrary,\r\n} from \"../view-context/utility/componentLibrary\";\r\nimport { Chart } from \"chart.js\";\r\nimport { UIChart } from \"primeng/chart\";\r\nimport annotationPlugin from \"chartjs-plugin-annotation\";\r\nimport {\r\n DiagramDescriptor,\r\n DiagramShape,\r\n DiagramUiModel,\r\n} from \"./smart-chart2/api\";\r\n\r\n@Component({\r\n selector: \"smart-chart\",\r\n templateUrl: \"./smart-chart.component.html\",\r\n styleUrls: [\"./smart-chart.component.css\"],\r\n})\r\nexport class SmartChartComponent {\r\n @ViewChild(\"chartJSRef\") chart?: UIChart;\r\n @Input() diagramUiModel!: DiagramUiModel;\r\n @Input() options?: any;\r\n\r\n @Output() dataSelect = new EventEmitter<any>();\r\n @Output() chartClick = new EventEmitter<any>();\r\n @Output() onDataClicked = new EventEmitter<any>(); //\r\n\r\n data: any;\r\n type: any;\r\n\r\n compLib: ComponentLibrary;\r\n componentLibrary = ComponentLibrary;\r\n\r\n constructor(\r\n private chartOptionProvider: DefaultChartOptionsProvider,\r\n @Inject(COMPONENT_LIBRARY) @Optional() compLib?: ComponentLibrary\r\n ) {\r\n this.compLib = compLib ?? ComponentLibrary.PRIMENG;\r\n Chart.register(annotationPlugin);\r\n }\r\n\r\n ngOnInit() {\r\n let options = undefined;\r\n const diagramType = !!this.diagramUiModel.descriptor?.diagramType\r\n ? this.diagramUiModel.descriptor.diagramType\r\n : \"\";\r\n\r\n const factory = this.chartOptionProvider.getFactory(diagramType);\r\n this.type = factory.chartJsType;\r\n options = factory.createOptions(this.diagramUiModel.diagramData!);\r\n if (this.diagramUiModel.descriptor) {\r\n options = this.deepMerge(\r\n this.convertBackendOptions(this.diagramUiModel.descriptor),\r\n options\r\n );\r\n }\r\n if (this.options) {\r\n options = this.deepMerge(this.options, options);\r\n }\r\n\r\n this.options = options;\r\n this.data = factory.transformData(this.diagramUiModel.diagramData!);\r\n }\r\n\r\n private deepMerge(target: any, source: any): any {\r\n for (const key of Object.keys(source)) {\r\n if (source[key] instanceof Object && target[key]) {\r\n Object.assign(source[key], this.deepMerge(target[key], source[key]));\r\n }\r\n }\r\n Object.assign(target || {}, source);\r\n return target;\r\n }\r\n\r\n private convertBackendOptions(descriptor: DiagramDescriptor) {\r\n const options: any = {\r\n plugins: {\r\n legend: {\r\n display: descriptor.showLegendForChart ?? true,\r\n },\r\n },\r\n scales: {} as any,\r\n };\r\n if (\r\n descriptor.diagramMinX !== undefined &&\r\n descriptor.diagramMaxX !== undefined\r\n ) {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n min: descriptor.diagramMinX,\r\n max: descriptor.diagramMaxX,\r\n };\r\n } else {\r\n options.scales.x = {\r\n ticks: {\r\n display: descriptor.showLabelsForXAxis ?? true,\r\n },\r\n };\r\n }\r\n if (\r\n descriptor.diagramMinY !== undefined &&\r\n descriptor.diagramMaxY !== undefined\r\n ) {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n min: descriptor.diagramMinY,\r\n max: descriptor.diagramMaxY,\r\n };\r\n } else {\r\n options.scales.y = {\r\n ticks: {\r\n display: descriptor.showLabelsForYAxis ?? true,\r\n },\r\n };\r\n }\r\n\r\n //Create shapes\r\n if (descriptor.diagramShapes) {\r\n descriptor.diagramShapes.forEach((shape: DiagramShape, index: number) => {\r\n options.plugins.annotation = options.plugins.annotation || {};\r\n options.plugins.annotation.annotations =\r\n options.plugins.annotation.annotations || {};\r\n\r\n var borderColor = `rgba(\r\n ${shape.borderColor?.red ?? 0},\r\n ${shape.borderColor?.green ?? 0},\r\n ${shape.borderColor?.blue ?? 0},\r\n ${shape.borderColor?.alpha ?? 1})`;\r\n var backgroundColor = `rgba(\r\n ${shape.backgroundColor?.red ?? 0},\r\n ${shape.backgroundColor?.green ?? 0},\r\n ${shape.backgroundColor?.blue ?? 0},\r\n ${shape.backgroundColor?.alpha ?? 1})`;\r\n\r\n var borderDash;\r\n if (shape.borderDashLength && shape.borderDashGap) {\r\n borderDash = [shape.borderDashLength, shape.borderDashGap];\r\n } else {\r\n borderDash = undefined;\r\n }\r\n\r\n options.plugins.annotation.annotations[`shape${index}`] = {\r\n type: shape.shapeType ?? \"line\",\r\n xMin: shape.xMin ?? undefined,\r\n xMax: shape.xMax ?? undefined,\r\n yMin: shape.yMin ?? undefined,\r\n yMax: shape.yMax ?? undefined,\r\n backgroundColor: backgroundColor ?? undefined,\r\n borderColor: borderColor ?? undefined,\r\n borderWidth: shape.borderWidth ?? 1,\r\n borderDash: borderDash ?? undefined,\r\n drawTime: shape.drawTime ?? undefined,\r\n };\r\n });\r\n }\r\n return options;\r\n }\r\n\r\n onDataSelect(event: any) {\r\n this.dataSelect.emit(event);\r\n }\r\n\r\n handleChartClick(event: any): void {\r\n this.chartClick.emit(event);\r\n }\r\n\r\n handleOnDataClicked(event: any): void {\r\n const canvas = event.target as HTMLCanvasElement;\r\n const chart = Chart.getChart(canvas);\r\n\r\n if (chart) {\r\n const elements = chart.getElementsAtEventForMode(\r\n event,\r\n \"nearest\",\r\n { intersect: true },\r\n false\r\n );\r\n if (elements.length === 0) {\r\n return;\r\n }\r\n const clickedItems = chart.tooltip?.dataPoints?.map((item) => {\r\n return {\r\n datasetIndex: item.datasetIndex,\r\n itemIndex: item.dataIndex,\r\n element: item.element,\r\n };\r\n });\r\n\r\n this.onDataClicked.emit({ event, clickedItems });\r\n }\r\n }\r\n\r\n getBase64Image() {\r\n return this.chart?.getBase64Image();\r\n }\r\n\r\n refresh() {\r\n return this.chart?.refresh();\r\n }\r\n\r\n getChart() {\r\n return this.chart?.chart;\r\n }\r\n}\r\n","@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { ChartModule } from \"primeng/chart\";\r\nimport {\r\n barChart,\r\n bubbleChart,\r\n CUSTOM_CHART_OPTIONS,\r\n DefaultChartOptionsProvider,\r\n doughnutChart,\r\n horizontalBarChart,\r\n multiAxisLineChart,\r\n pieChart,\r\n polarAreaChart,\r\n radarChart,\r\n scatterChart,\r\n stackedBarChart,\r\n} from \"./default-chart-options.provider\";\r\nimport { SmartChartComponent } from \"./smart-chart.component\";\r\nimport annotationPlugin from \"chartjs-plugin-annotation\";\r\n\r\nconst DEFAULT_PROVIDERS: Provider[] = [\r\n DefaultChartOptionsProvider,\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: barChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: scatterChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: bubbleChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: horizontalBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: stackedBarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: multiAxisLineChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: polarAreaChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: radarChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: doughnutChart, multi: true },\r\n { provide: CUSTOM_CHART_OPTIONS, useValue: pieChart, multi: true },\r\n];\r\n\r\n@NgModule({\r\n declarations: [SmartChartComponent],\r\n imports: [BrowserModule, ChartModule],\r\n exports: [SmartChartComponent],\r\n})\r\nexport class SmartChartModule {\r\n static forRoot(providers: Provider[]): ModuleWithProviders<SmartChartModule> {\r\n return {\r\n ngModule: SmartChartModule,\r\n providers: [...DEFAULT_PROVIDERS, ...providers],\r\n };\r\n }\r\n}\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartOrientation = 'Horizontal' | 'Vertical';\r\n\r\nexport const ChartOrientation = {\r\n Horizontal: 'Horizontal' as ChartOrientation,\r\n Vertical: 'Vertical' as ChartOrientation\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type ChartType = 'BarChart' | 'GroupedBarChart' | 'StackedBarChart' | 'NormalizedBarChart' | 'PieChart' | 'AdvancedPieChart' | 'PieGrid';\r\n\r\nexport const ChartType = {\r\n BarChart: 'BarChart' as ChartType,\r\n GroupedBarChart: 'GroupedBarChart' as ChartType,\r\n StackedBarChart: 'StackedBarChart' as ChartType,\r\n NormalizedBarChart: 'NormalizedBarChart' as ChartType,\r\n PieChart: 'PieChart' as ChartType,\r\n AdvancedPieChart: 'AdvancedPieChart' as ChartType,\r\n PieGrid: 'PieGrid' as ChartType\r\n};\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface ChartValue { \r\n name: string;\r\n value?: object;\r\n series: Array<ChartValue>;\r\n}\r\n\r\n","/**\r\n * Chart API\r\n * API for consume charts.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type PieChartLegendPosition = 'right' | 'below';\r\n\r\nexport const PieChartLegendPosition = {\r\n Right: 'right' as PieChartLegendPosition,\r\n Below: 'below' as PieChartLegendPosition\r\n};\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramColor { \r\n red?: number;\r\n green?: number;\r\n blue?: number;\r\n alpha?: number;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\n/**\r\n * Contains an items data, based on the type of the diagram.\r\n */\r\nexport interface DiagramDataItem { \r\n uri?: string;\r\n label?: string;\r\n xValue?: number;\r\n yValue?: number;\r\n /**\r\n * This property specifies the radius of each bubble in a bubble chart. It is used to determine the size of the bubbles relative to their data values.\r\n */\r\n rValue?: number;\r\n itemColor?: string;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport interface DiagramDataSetConstructionInstruction { \r\n xValuePath?: Array<string>;\r\n yValuePath?: Array<string>;\r\n rValuePath?: Array<string>;\r\n labelValuePath?: Array<string>;\r\n colorValuePath?: Array<string>;\r\n loadLatest?: boolean;\r\n dataSetLabel?: string;\r\n dataSetType?: string;\r\n}\r\n\r\n","/**\r\n * smartchart API\r\n * Describes a model for smart chart.\r\n *\r\n * The version of the OpenAPI document: 1.0.0\r\n * Contact: info@it4all.hu\r\n *\r\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\r\n * https://openapi-generator.tech\r\n * Do not edit the class manually.\r\n */\r\n\r\n\r\nexport type DrawTime = 'beforeDraw' | 'beforeDatasetsDraw' | 'afterDatasetsDraw' | 'afterDraw';\r\n\r\nexport const DrawTime = {\r\n BeforeDraw: 'beforeDraw' as DrawTime,\r\n BeforeDatasetsDraw: 'beforeDatasetsDraw' as DrawTime,\r\n AfterDatasetsDraw: 'afterDatasetsDraw' as DrawTime,\r\n AfterDraw: 'afterDraw' as DrawTime\r\n};\r\n\r\n","/*\r\n * Public API Surface of smart-chart\r\n */\r\n\r\nexport * from \"./smart-chart/smart-chart.module\";\r\nexport * from \"./smart-chart/smart-chart.component\";\r\nexport * from \"./smart-chart/api/model/models\";\r\nexport * from \"./smart-chart/smart-chart2/api/model/models\";\r\nexport * from \"./smart-chart/default-chart-options.provider\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './smart-chart-projects';\n"],"names":[],"mappings":"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"}
|