@eclipse-scout/chart 25.1.14 → 25.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +2 -2
  2. package/dist/cyclonedx/bom.json +7 -7
  3. package/dist/cyclonedx/bom.xml +7 -7
  4. package/dist/d.ts/src/bookmark/ChartTableControlConfigHelperImpl.d.ts +7 -0
  5. package/dist/d.ts/src/bookmark/ChartTableControlConfigHelperImpl.d.ts.map +1 -0
  6. package/dist/d.ts/src/chart/Chart.d.ts +1 -5
  7. package/dist/d.ts/src/chart/Chart.d.ts.map +1 -1
  8. package/dist/d.ts/src/index.d.ts +5 -2
  9. package/dist/d.ts/src/index.d.ts.map +1 -1
  10. package/dist/d.ts/src/objectFactories.d.ts +2 -0
  11. package/dist/d.ts/src/objectFactories.d.ts.map +1 -0
  12. package/dist/d.ts/src/table/controls/ChartTableControl.d.ts +3 -0
  13. package/dist/d.ts/src/table/controls/ChartTableControl.d.ts.map +1 -1
  14. package/dist/d.ts/src/table/controls/ChartTableControlConfigDo.d.ts +11 -0
  15. package/dist/d.ts/src/table/controls/ChartTableControlConfigDo.d.ts.map +1 -0
  16. package/dist/eclipse-scout-chart-be2b168cca15cd40d8b5.min.js +3 -0
  17. package/dist/eclipse-scout-chart-be2b168cca15cd40d8b5.min.js.map +1 -0
  18. package/dist/eclipse-scout-chart.esm-01320c901d73a0e772c5.min.js +3 -0
  19. package/dist/eclipse-scout-chart.esm-01320c901d73a0e772c5.min.js.map +1 -0
  20. package/dist/eclipse-scout-chart.esm.js +464 -355
  21. package/dist/eclipse-scout-chart.esm.js.map +1 -1
  22. package/dist/eclipse-scout-chart.js +464 -354
  23. package/dist/eclipse-scout-chart.js.map +1 -1
  24. package/dist/file-list +4 -4
  25. package/dist/texts.json +17 -17
  26. package/package.json +3 -3
  27. package/src/bookmark/ChartTableControlConfigHelperImpl.ts +47 -0
  28. package/src/chart/AbstractSvgChartRenderer.ts +5 -5
  29. package/src/chart/Chart.ts +2 -6
  30. package/src/index.ts +6 -3
  31. package/src/objectFactories.ts +15 -0
  32. package/src/table/controls/ChartTableControl.ts +13 -1
  33. package/src/table/controls/ChartTableControlConfigDo.ts +21 -0
  34. package/dist/eclipse-scout-chart-ed9a921fecef1983eec1.min.js +0 -3
  35. package/dist/eclipse-scout-chart-ed9a921fecef1983eec1.min.js.map +0 -1
  36. package/dist/eclipse-scout-chart.esm-d01856792fe1a3c69851.min.js +0 -3
  37. package/dist/eclipse-scout-chart.esm-d01856792fe1a3c69851.min.js.map +0 -1
package/dist/file-list CHANGED
@@ -1,15 +1,15 @@
1
1
  cyclonedx/bom.json
2
2
  cyclonedx/bom.xml
3
- eclipse-scout-chart-ed9a921fecef1983eec1.min.js
4
- eclipse-scout-chart-ed9a921fecef1983eec1.min.js.map
3
+ eclipse-scout-chart-be2b168cca15cd40d8b5.min.js
4
+ eclipse-scout-chart-be2b168cca15cd40d8b5.min.js.map
5
5
  eclipse-scout-chart-theme-03e8dfdce2c2cd602f40.min.css
6
6
  eclipse-scout-chart-theme-dark-378a537154001198a741.min.css
7
7
  eclipse-scout-chart-theme-dark.css
8
8
  eclipse-scout-chart-theme-dark.css.map
9
9
  eclipse-scout-chart-theme.css
10
10
  eclipse-scout-chart-theme.css.map
11
- eclipse-scout-chart.esm-d01856792fe1a3c69851.min.js
12
- eclipse-scout-chart.esm-d01856792fe1a3c69851.min.js.map
11
+ eclipse-scout-chart.esm-01320c901d73a0e772c5.min.js
12
+ eclipse-scout-chart.esm-01320c901d73a0e772c5.min.js.map
13
13
  eclipse-scout-chart.esm.js
14
14
  eclipse-scout-chart.esm.js.map
15
15
  eclipse-scout-chart.js
package/dist/texts.json CHANGED
@@ -35,6 +35,23 @@
35
35
  "ui.groupedByYear": "groupé par an",
36
36
  "ui.line": "Ligne"
37
37
  },
38
+ "it": {
39
+ "ui.Bio": "Bio",
40
+ "ui.Brd": "Brd",
41
+ "ui.Chart": "Diagramma",
42
+ "ui.Mio": "Mio",
43
+ "ui.Mrd": "Mrd",
44
+ "ui.TooMuchData": "Troppi dati",
45
+ "ui.Trd": "Trd",
46
+ "ui.Tri": "Tri",
47
+ "ui.Value": "Valore",
48
+ "ui.bar": "barra",
49
+ "ui.groupedByDate": "raggruppato per data",
50
+ "ui.groupedByMonth": "raggruppato per mese",
51
+ "ui.groupedByWeekday": "raggruppato per giorno della settimana",
52
+ "ui.groupedByYear": "raggruppato per anno",
53
+ "ui.line": "Linea"
54
+ },
38
55
  "de": {
39
56
  "ui.Bio": "Bio.",
40
57
  "ui.Brd": "Brd.",
@@ -53,22 +70,5 @@
53
70
  "ui.groupedByWeekday": "gruppiert nach Wochentag",
54
71
  "ui.groupedByYear": "gruppiert nach Jahr",
55
72
  "ui.line": "Linie"
56
- },
57
- "it": {
58
- "ui.Bio": "Bio",
59
- "ui.Brd": "Brd",
60
- "ui.Chart": "Diagramma",
61
- "ui.Mio": "Mio",
62
- "ui.Mrd": "Mrd",
63
- "ui.TooMuchData": "Troppi dati",
64
- "ui.Trd": "Trd",
65
- "ui.Tri": "Tri",
66
- "ui.Value": "Valore",
67
- "ui.bar": "barra",
68
- "ui.groupedByDate": "raggruppato per data",
69
- "ui.groupedByMonth": "raggruppato per mese",
70
- "ui.groupedByWeekday": "raggruppato per giorno della settimana",
71
- "ui.groupedByYear": "raggruppato per anno",
72
- "ui.line": "Linea"
73
73
  }
74
74
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-scout/chart",
3
- "version": "25.1.14",
3
+ "version": "25.2.0-beta.0",
4
4
  "description": "Eclipse Scout chart",
5
5
  "author": "BSI Business Systems Integration AG",
6
6
  "homepage": "https://eclipse.dev/scout/",
@@ -34,7 +34,7 @@
34
34
  "src"
35
35
  ],
36
36
  "devDependencies": {
37
- "@eclipse-scout/cli": "25.1.14",
37
+ "@eclipse-scout/cli": "25.2.0-beta.0",
38
38
  "@eclipse-scout/releng": "^25.1.0",
39
39
  "jasmine-core": "5.5.0",
40
40
  "jasmine-jquery": "2.1.1",
@@ -44,7 +44,7 @@
44
44
  "@types/jasmine-jquery": "1.5.37"
45
45
  },
46
46
  "dependencies": {
47
- "@eclipse-scout/core": "25.1.14",
47
+ "@eclipse-scout/core": "25.2.0-beta.0",
48
48
  "jquery": "3.7.1",
49
49
  "chart.js": "4.4.6",
50
50
  "chartjs-plugin-datalabels": "2.2.0"
@@ -0,0 +1,47 @@
1
+ /*
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ */
10
+ import {ChartTableControlConfigHelper, Page, scout, TableMatrixDateGroup, TableMatrixNumberGroup} from '@eclipse-scout/core';
11
+ import {ChartTableControl, ChartTableControlConfigDo, TableControlChartType} from '../index';
12
+
13
+ export class ChartTableControlConfigHelperImpl extends ChartTableControlConfigHelper {
14
+
15
+ protected override async _exportConfig(page: Page): Promise<ChartTableControlConfigDo> {
16
+ if (!page?.detailTable) {
17
+ return null;
18
+ }
19
+ let chartTableControl = page.detailTable.findTableControl(ChartTableControl);
20
+ if (chartTableControl && chartTableControl.selected) {
21
+ return scout.create(ChartTableControlConfigDo, {
22
+ chartTypeId: chartTableControl.chartType,
23
+ chartGroup1ColumnId: chartTableControl.chartGroup1?.id,
24
+ chartGroup1Modifier: chartTableControl.chartGroup1?.modifier,
25
+ chartGroup2ColumnId: chartTableControl.chartGroup2?.id,
26
+ chartGroup2Modifier: chartTableControl.chartGroup2?.modifier,
27
+ chartAggregationColumnId: chartTableControl.chartAggregation?.id,
28
+ chartAggregationModifier: chartTableControl.chartAggregation?.modifier
29
+ });
30
+ }
31
+ return null;
32
+ }
33
+
34
+ protected override async _importConfig(page: Page, config: ChartTableControlConfigDo): Promise<void> {
35
+ if (!page?.detailTable || !config) {
36
+ return;
37
+ }
38
+ let chartTableControl = page.detailTable.findTableControl(ChartTableControl);
39
+ if (chartTableControl) {
40
+ chartTableControl.setSelected(true); // necessary, because otherwise internal data structures might not be properly initialized
41
+ chartTableControl.setChartType(config.chartTypeId as TableControlChartType);
42
+ chartTableControl.setChartGroup1({id: config.chartGroup1ColumnId, modifier: config.chartGroup1Modifier as TableMatrixNumberGroup | TableMatrixDateGroup});
43
+ chartTableControl.setChartGroup2({id: config.chartGroup2ColumnId, modifier: config.chartGroup2Modifier as TableMatrixNumberGroup | TableMatrixDateGroup});
44
+ chartTableControl.setChartAggregation({id: config.chartAggregationColumnId, modifier: config.chartAggregationModifier as TableMatrixNumberGroup});
45
+ }
46
+ }
47
+ }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2010, 2023 BSI Business Systems Integration AG
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
3
  *
4
4
  * This program and the accompanying materials are made
5
5
  * available under the terms of the Eclipse Public License 2.0
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
- import {aria, ObjectFactory, strings, styles} from '@eclipse-scout/core';
10
+ import {aria, ObjectIdProvider, strings, styles} from '@eclipse-scout/core';
11
11
  import $ from 'jquery';
12
12
  import {AbstractChartRenderer, Chart} from '../index';
13
13
  import {ClickObject} from './Chart';
@@ -29,8 +29,8 @@ export class AbstractSvgChartRenderer extends AbstractChartRenderer {
29
29
  super(chart);
30
30
  this.chartBox = null;
31
31
 
32
- this.clipId = 'Clip-' + ObjectFactory.get().createUniqueId();
33
- this.maskId = 'Mask-' + ObjectFactory.get().createUniqueId();
32
+ this.clipId = 'Clip-' + ObjectIdProvider.get().createUiSeqId();
33
+ this.maskId = 'Mask-' + ObjectIdProvider.get().createUiSeqId();
34
34
 
35
35
  this.suppressLegendBox = false;
36
36
  }
@@ -253,7 +253,7 @@ export class AbstractSvgChartRenderer extends AbstractChartRenderer {
253
253
  $mask[0].id = this.maskId;
254
254
 
255
255
  this.chart.$container.find('.' + cssClass).each(function(i) {
256
- this.id = 'ClipMask-' + ObjectFactory.get().createUniqueId();
256
+ this.id = 'ClipMask-' + ObjectIdProvider.get().createUiSeqId();
257
257
  $clip.appendSVG('use').attrXLINK('href', '#' + this.id);
258
258
  $mask.appendSVG('use').attrXLINK('href', '#' + this.id);
259
259
  });
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2010, 2024 BSI Business Systems Integration AG
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
3
  *
4
4
  * This program and the accompanying materials are made
5
5
  * available under the terms of the Eclipse Public License 2.0
@@ -8,7 +8,7 @@
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
10
  import {AbstractChartRenderer, ChartEventMap, ChartJsRenderer, ChartLayout, ChartModel, FulfillmentChartRenderer, SalesfunnelChartRenderer, SpeedoChartRenderer, VennChartRenderer} from '../index';
11
- import {aria, arrays, ColorScheme, colorSchemes, EnumObject, HtmlComponent, InitModelOf, objects, Widget} from '@eclipse-scout/core';
11
+ import {aria, arrays, ColorScheme, colorSchemes, DeepPartial, EnumObject, HtmlComponent, InitModelOf, objects, Widget} from '@eclipse-scout/core';
12
12
  import {GreenAreaPosition} from './SpeedoChartRenderer';
13
13
  import {CategoryScaleOptions, ChartConfiguration, ChartOptions, LinearScaleOptions, LogarithmicScaleOptions, RadialLinearScaleOptions, ScaleType, TimeScaleOptions as ChartJsTimeScaleOptions} from 'chart.js';
14
14
  import $ from 'jquery';
@@ -532,7 +532,3 @@ export type UpdateChartOptions = {
532
532
  onlyRefresh?: boolean;
533
533
  enforceRerender?: boolean;
534
534
  };
535
-
536
- type DeepPartial<T> = T extends object ? {
537
- [P in keyof T]?: DeepPartial<T[P]>;
538
- } : T;
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2010, 2023 BSI Business Systems Integration AG
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
3
  *
4
4
  * This program and the accompanying materials are made
5
5
  * available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,8 @@
10
10
  import {ObjectFactory} from '@eclipse-scout/core';
11
11
  import * as self from './index';
12
12
 
13
+ export * from './objectFactories';
14
+ export * from './bookmark/ChartTableControlConfigHelperImpl';
13
15
  export * from './chart/Chart';
14
16
  export * from './chart/ChartAdapter';
15
17
  export * from './chart/ChartEventMap';
@@ -33,12 +35,13 @@ export * from './tile/ChartFieldTile';
33
35
  export * from './tile/ChartFieldTileAdapter';
34
36
  export * from './tile/ChartFieldTileModel';
35
37
  export * from './table/controls/ChartTableControl';
38
+ export * from './table/controls/ChartTableControlAdapter';
39
+ export * from './table/controls/ChartTableControlConfigDo';
36
40
  export * from './table/controls/ChartTableControlEventMap';
41
+ export * from './table/controls/ChartTableControlLayout';
37
42
  export * from './table/controls/ChartTableControlModel';
38
43
  export * from './table/controls/ChartTableUserFilter';
39
44
  export * from './table/controls/ChartTableUserFilterModel';
40
- export * from './table/controls/ChartTableControlAdapter';
41
- export * from './table/controls/ChartTableControlLayout';
42
45
 
43
46
  export default self;
44
47
 
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ */
10
+ import {scout} from '@eclipse-scout/core';
11
+ import {ChartTableControlConfigHelperImpl} from './index';
12
+
13
+ scout.addObjectFactories({
14
+ 'ChartTableControlConfigHelper': () => new ChartTableControlConfigHelperImpl()
15
+ });
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2010, 2024 BSI Business Systems Integration AG
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
3
  *
4
4
  * This program and the accompanying materials are made
5
5
  * available under the terms of the Eclipse Public License 2.0
@@ -323,6 +323,10 @@ export class ChartTableControl extends TableControl implements ChartTableControl
323
323
  }
324
324
  }
325
325
 
326
+ setChartAggregation(chartAggregation: TableControlChartAggregation) {
327
+ this.setProperty('chartAggregation', chartAggregation);
328
+ }
329
+
326
330
  protected _setChartAggregation(chartAggregation: TableControlChartAggregation) {
327
331
  if (chartAggregation === this.chartAggregation) {
328
332
  return;
@@ -333,10 +337,18 @@ export class ChartTableControl extends TableControl implements ChartTableControl
333
337
  }
334
338
  }
335
339
 
340
+ setChartGroup1(chartGroup: TableControlChartGroup) {
341
+ this.setProperty('chartGroup1', chartGroup);
342
+ }
343
+
336
344
  protected _setChartGroup1(chartGroup: TableControlChartGroup) {
337
345
  this._setChartGroup(1, chartGroup);
338
346
  }
339
347
 
348
+ setChartGroup2(chartGroup: TableControlChartGroup) {
349
+ this.setProperty('chartGroup2', chartGroup);
350
+ }
351
+
340
352
  protected _setChartGroup2(chartGroup: TableControlChartGroup) {
341
353
  this._setChartGroup(2, chartGroup);
342
354
  }
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
3
+ *
4
+ * This program and the accompanying materials are made
5
+ * available under the terms of the Eclipse Public License 2.0
6
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7
+ *
8
+ * SPDX-License-Identifier: EPL-2.0
9
+ */
10
+ import {BaseDoEntity, IChartTableControlConfigDo, typeName} from '@eclipse-scout/core';
11
+
12
+ @typeName('scout.ChartTableControlConfig')
13
+ export class ChartTableControlConfigDo extends BaseDoEntity implements IChartTableControlConfigDo {
14
+ chartTypeId?: string;
15
+ chartGroup1ColumnId?: string;
16
+ chartGroup1Modifier?: number;
17
+ chartGroup2ColumnId?: string;
18
+ chartGroup2Modifier?: number;
19
+ chartAggregationColumnId?: string;
20
+ chartAggregationModifier?: number;
21
+ }