@eclipse-scout/chart 25.2.20 → 26.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +2 -2
  2. package/dist/cyclonedx/bom.json +9 -9
  3. package/dist/cyclonedx/bom.xml +9 -9
  4. package/dist/d.ts/src/chart/AbstractSvgChartRenderer.d.ts +0 -1
  5. package/dist/d.ts/src/chart/AbstractSvgChartRenderer.d.ts.map +1 -1
  6. package/dist/d.ts/src/chart/ChartJsRenderer.d.ts +1 -1
  7. package/dist/d.ts/src/chart/ChartJsRenderer.d.ts.map +1 -1
  8. package/dist/d.ts/src/chart/VennChartRenderer.d.ts +0 -1
  9. package/dist/d.ts/src/chart/VennChartRenderer.d.ts.map +1 -1
  10. package/dist/d.ts/src/chart/chartJsDateAdapter.d.ts.map +1 -1
  11. package/dist/d.ts/src/index.d.ts +1 -0
  12. package/dist/d.ts/src/index.d.ts.map +1 -1
  13. package/dist/d.ts/src/table/controls/ChartTableControl.d.ts +15 -7
  14. package/dist/d.ts/src/table/controls/ChartTableControl.d.ts.map +1 -1
  15. package/dist/d.ts/src/table/controls/FocusFirstChartTypeKeyStroke.d.ts +12 -0
  16. package/dist/d.ts/src/table/controls/FocusFirstChartTypeKeyStroke.d.ts.map +1 -0
  17. package/dist/eclipse-scout-chart-a0ba2d4527b56d5f365b.min.js +3 -0
  18. package/dist/eclipse-scout-chart-a0ba2d4527b56d5f365b.min.js.map +1 -0
  19. package/dist/{eclipse-scout-chart-theme-dark-378a537154001198a741.min.css → eclipse-scout-chart-theme-dark-b66633525a81fd799cce.min.css} +1 -1
  20. package/dist/eclipse-scout-chart-theme-dark.css +20 -24
  21. package/dist/eclipse-scout-chart-theme-dark.css.map +1 -1
  22. package/dist/{eclipse-scout-chart-theme-03e8dfdce2c2cd602f40.min.css → eclipse-scout-chart-theme-f814f69e9d7fea0e5af7.min.css} +1 -1
  23. package/dist/eclipse-scout-chart-theme.css +20 -24
  24. package/dist/eclipse-scout-chart-theme.css.map +1 -1
  25. package/dist/eclipse-scout-chart.esm-93dfff2828c44625222f.min.js +3 -0
  26. package/dist/eclipse-scout-chart.esm-93dfff2828c44625222f.min.js.map +1 -0
  27. package/dist/eclipse-scout-chart.esm.js +341 -209
  28. package/dist/eclipse-scout-chart.esm.js.map +1 -1
  29. package/dist/eclipse-scout-chart.js +311 -179
  30. package/dist/eclipse-scout-chart.js.map +1 -1
  31. package/dist/file-list +6 -6
  32. package/dist/texts.json +28 -12
  33. package/package.json +11 -11
  34. package/src/chart/ChartJsRenderer.ts +13 -2
  35. package/src/chart/SalesfunnelChartRenderer.ts +7 -7
  36. package/src/chart/chartJsDateAdapter.ts +2 -2
  37. package/src/index.ts +1 -0
  38. package/src/table/controls/ChartTableControl.less +15 -28
  39. package/src/table/controls/ChartTableControl.ts +114 -57
  40. package/src/table/controls/FocusFirstChartTypeKeyStroke.ts +37 -0
  41. package/dist/eclipse-scout-chart-bbeb0621046a40fee663.min.js +0 -3
  42. package/dist/eclipse-scout-chart-bbeb0621046a40fee663.min.js.map +0 -1
  43. package/dist/eclipse-scout-chart.esm-4768ef7787c7b4db4fea.min.js +0 -3
  44. package/dist/eclipse-scout-chart.esm-4768ef7787c7b4db4fea.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-bbeb0621046a40fee663.min.js
4
- eclipse-scout-chart-bbeb0621046a40fee663.min.js.map
5
- eclipse-scout-chart-theme-03e8dfdce2c2cd602f40.min.css
6
- eclipse-scout-chart-theme-dark-378a537154001198a741.min.css
3
+ eclipse-scout-chart-a0ba2d4527b56d5f365b.min.js
4
+ eclipse-scout-chart-a0ba2d4527b56d5f365b.min.js.map
5
+ eclipse-scout-chart-theme-dark-b66633525a81fd799cce.min.css
7
6
  eclipse-scout-chart-theme-dark.css
8
7
  eclipse-scout-chart-theme-dark.css.map
8
+ eclipse-scout-chart-theme-f814f69e9d7fea0e5af7.min.css
9
9
  eclipse-scout-chart-theme.css
10
10
  eclipse-scout-chart-theme.css.map
11
- eclipse-scout-chart.esm-4768ef7787c7b4db4fea.min.js
12
- eclipse-scout-chart.esm-4768ef7787c7b4db4fea.min.js.map
11
+ eclipse-scout-chart.esm-93dfff2828c44625222f.min.js
12
+ eclipse-scout-chart.esm-93dfff2828c44625222f.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
@@ -3,6 +3,11 @@
3
3
  "ui.Bio": "Tri.",
4
4
  "ui.Brd": "quad",
5
5
  "ui.Chart": "Chart",
6
+ "ui.ChartTypeBar": "Bar",
7
+ "ui.ChartTypeBarHorizontal": "Bar (horizontal)",
8
+ "ui.ChartTypeBubble": "Bubble",
9
+ "ui.ChartTypeLine": "Line",
10
+ "ui.ChartTypePie": "Pie",
6
11
  "ui.FulfillmentChartAriaDescription": "Fulfillment chart. Current value: {0}%",
7
12
  "ui.Mio": "Mio.",
8
13
  "ui.Mrd": "Bio.",
@@ -11,51 +16,64 @@
11
16
  "ui.Trd": "Sex.",
12
17
  "ui.Tri": "Qui.",
13
18
  "ui.Value": "Value",
14
- "ui.bar": "Bar",
15
19
  "ui.groupedByDate": "grouped by date",
16
20
  "ui.groupedByMonth": "grouped by month",
17
21
  "ui.groupedByWeekday": "grouped by weekday",
18
- "ui.groupedByYear": "grouped by year",
19
- "ui.line": "Line"
22
+ "ui.groupedByYear": "grouped by year"
20
23
  },
21
24
  "fr": {
22
25
  "ui.Bio": "Bio.",
23
26
  "ui.Brd": "Brd.",
24
27
  "ui.Chart": "Diagramme",
28
+ "ui.ChartTypeBar": "Barre",
29
+ "ui.ChartTypeBarHorizontal": "Barre (horizontale)",
30
+ "ui.ChartTypeBubble": "Bulles",
31
+ "ui.ChartTypeLine": "Ligne",
32
+ "ui.ChartTypePie": "Secteurs",
33
+ "ui.FulfillmentChartAriaDescription": "Graphique du degré de réalisation. Valeur actuelle : {0} %",
25
34
  "ui.Mio": "Mio.",
26
35
  "ui.Mrd": "Mrd.",
36
+ "ui.SpeedoChartAriaDescription": "Graphique à aiguilles. Valeur actuelle : {0} Valeur minimale : {1} Valeur maximale : {2}",
27
37
  "ui.TooMuchData": "Trop de données",
28
38
  "ui.Trd": "Trd.",
29
39
  "ui.Tri": "Tri.",
30
40
  "ui.Value": "Valeur",
31
- "ui.bar": "barre",
32
41
  "ui.groupedByDate": "groupé par date",
33
42
  "ui.groupedByMonth": "groupé par mois",
34
43
  "ui.groupedByWeekday": "groupé par jour de la semaine",
35
- "ui.groupedByYear": "groupé par an",
36
- "ui.line": "Ligne"
44
+ "ui.groupedByYear": "groupé par an"
37
45
  },
38
46
  "it": {
39
47
  "ui.Bio": "Bio",
40
48
  "ui.Brd": "Brd",
41
49
  "ui.Chart": "Diagramma",
50
+ "ui.ChartTypeBar": "Barra",
51
+ "ui.ChartTypeBarHorizontal": "Barra (orizzontale)",
52
+ "ui.ChartTypeBubble": "Bolle",
53
+ "ui.ChartTypeLine": "Linea",
54
+ "ui.ChartTypePie": "Torta",
55
+ "ui.FulfillmentChartAriaDescription": "Grafico del grado di realizzazione. Valore attuale: {0} %",
42
56
  "ui.Mio": "Mio",
43
57
  "ui.Mrd": "Mrd",
58
+ "ui.SpeedoChartAriaDescription": "Grafico indicatore. Valore attuale: {0} Valore minimo: {1} Valore massimo: {2}",
44
59
  "ui.TooMuchData": "Troppi dati",
45
60
  "ui.Trd": "Trd",
46
61
  "ui.Tri": "Tri",
47
62
  "ui.Value": "Valore",
48
- "ui.bar": "barra",
49
63
  "ui.groupedByDate": "raggruppato per data",
50
64
  "ui.groupedByMonth": "raggruppato per mese",
51
65
  "ui.groupedByWeekday": "raggruppato per giorno della settimana",
52
- "ui.groupedByYear": "raggruppato per anno",
53
- "ui.line": "Linea"
66
+ "ui.groupedByYear": "raggruppato per anno"
54
67
  },
55
68
  "de": {
56
69
  "ui.Bio": "Bio.",
57
70
  "ui.Brd": "Brd.",
58
71
  "ui.Chart": "Diagramm",
72
+ "ui.ChartTypeBar": "Balken",
73
+ "ui.ChartTypeBarHorizontal": "Balken (horizontal)",
74
+ "ui.ChartTypeBubble": "Blasen",
75
+ "ui.ChartTypeLine": "Linie",
76
+ "ui.ChartTypePie": "Kuchen",
59
77
  "ui.FulfillmentChartAriaDescription": "Erfüllungsgrad-Diagramm. Aktueller Wert: {0} %",
60
78
  "ui.Mio": "Mio.",
61
79
  "ui.Mrd": "Mrd.",
@@ -64,11 +82,9 @@
64
82
  "ui.Trd": "Trd.",
65
83
  "ui.Tri": "Tri.",
66
84
  "ui.Value": "Wert",
67
- "ui.bar": "Balken",
68
85
  "ui.groupedByDate": "gruppiert nach Datum",
69
86
  "ui.groupedByMonth": "gruppiert nach Monat",
70
87
  "ui.groupedByWeekday": "gruppiert nach Wochentag",
71
- "ui.groupedByYear": "gruppiert nach Jahr",
72
- "ui.line": "Linie"
88
+ "ui.groupedByYear": "gruppiert nach Jahr"
73
89
  }
74
90
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-scout/chart",
3
- "version": "25.2.20",
3
+ "version": "26.1.0-beta.1",
4
4
  "description": "Eclipse Scout chart",
5
5
  "author": "BSI Business Systems Integration AG",
6
6
  "homepage": "https://eclipse.dev/scout/",
@@ -10,9 +10,9 @@
10
10
  },
11
11
  "license": "EPL-2.0",
12
12
  "engines": {
13
- "node": ">=22.12.0",
14
- "npm": ">=10.9.0",
15
- "pnpm": ">=9.15.0"
13
+ "node": ">=24.12.0",
14
+ "npm": ">=11.6.2",
15
+ "pnpm": ">=10.26.1"
16
16
  },
17
17
  "keywords": [
18
18
  "scout",
@@ -34,19 +34,19 @@
34
34
  "src"
35
35
  ],
36
36
  "devDependencies": {
37
- "@eclipse-scout/cli": "25.2.20",
38
- "@eclipse-scout/releng": "^25.1.0",
39
- "jasmine-core": "5.5.0",
37
+ "@eclipse-scout/cli": "26.1.0-beta.1",
38
+ "@eclipse-scout/releng": "^26.1.0",
39
+ "jasmine-core": "5.13.0",
40
40
  "jasmine-jquery": "2.1.1",
41
41
  "karma": "6.4.4",
42
- "@types/jquery": "3.5.32",
43
- "@types/jasmine": "5.1.5",
42
+ "@types/jquery": "3.5.33",
43
+ "@types/jasmine": "5.1.13",
44
44
  "@types/jasmine-jquery": "1.5.37"
45
45
  },
46
46
  "dependencies": {
47
- "@eclipse-scout/core": "25.2.20",
47
+ "@eclipse-scout/core": "26.1.0-beta.1",
48
48
  "jquery": "3.7.1",
49
- "chart.js": "4.4.6",
49
+ "chart.js": "4.5.1",
50
50
  "chartjs-plugin-datalabels": "2.2.0"
51
51
  },
52
52
  "scripts": {
@@ -2930,8 +2930,8 @@ export class ChartJsRenderer extends AbstractChartRenderer {
2930
2930
 
2931
2931
  let yAxisType = (datasets[0].type || type),
2932
2932
  yAxisDiffTypeType = (datasetsDiffType[0].type || type),
2933
- yAxisTypeLabel = this.chart.session.text('ui.' + yAxisType),
2934
- yAxisDiffTypeTypeLabel = this.chart.session.text('ui.' + yAxisDiffTypeType),
2933
+ yAxisTypeLabel = this._typeText(yAxisType),
2934
+ yAxisDiffTypeTypeLabel = this._typeText(yAxisDiffTypeType),
2935
2935
  yAxisScaleLabel = options.scaleLabelByTypeMap ? options.scaleLabelByTypeMap[yAxisType] : null,
2936
2936
  yAxisDiffTypeScaleLabel = options.scaleLabelByTypeMap ? options.scaleLabelByTypeMap[yAxisDiffTypeType] : null;
2937
2937
 
@@ -2948,6 +2948,17 @@ export class ChartJsRenderer extends AbstractChartRenderer {
2948
2948
  });
2949
2949
  }
2950
2950
 
2951
+ protected _typeText(chartType: ChartType) {
2952
+ if (chartType === Chart.Type.BAR) {
2953
+ return this.chart.session.text('ui.ChartTypeBar');
2954
+ }
2955
+ if (chartType === Chart.Type.LINE) {
2956
+ return this.chart.session.text('ui.ChartTypeLine');
2957
+ }
2958
+ // Not relevant for other types because the text is only used for the COMBO_BAR_LINE chart
2959
+ return '';
2960
+ }
2961
+
2951
2962
  protected _adjustAxisMaxMin(axis: AxisWithMaxMin, maxTicks: number, maxMinValue: Boundary) {
2952
2963
  if (!axis) {
2953
2964
  return;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2010, 2025 BSI Business Systems Integration AG
2
+ * Copyright (c) 2010, 2026 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
@@ -368,12 +368,12 @@ export class SalesfunnelChartRenderer extends AbstractSvgChartRenderer {
368
368
 
369
369
  protected _analyzeData(valueGroups: ChartValueGroup[]): AnalyzedData {
370
370
  let result: AnalyzedData = {
371
- labelCount: 0,
372
- maxValue: null,
373
- maxLengthFirstValueRow: 0,
374
- maxLengthSecondValueRow: 0
375
- },
376
- labelClass = this._dynamicCssClass('salesfunnel-label');
371
+ labelCount: 0,
372
+ maxValue: null,
373
+ maxLengthFirstValueRow: 0,
374
+ maxLengthSecondValueRow: 0
375
+ };
376
+ let labelClass = this._dynamicCssClass('salesfunnel-label');
377
377
 
378
378
  for (let i = 0; i < valueGroups.length; i++) {
379
379
 
@@ -14,7 +14,7 @@ import {DateFormat, dates, Locale, objects, Session, strings} from '@eclipse-sco
14
14
  export const chartJsDateAdapter = {
15
15
  getAdapter(session: Session): Partial<DateAdapter> {
16
16
  return {
17
- formats: (): { [key: string]: string } => _getFormats(session.locale),
17
+ formats: (): Record<TimeUnit | 'datetime', string> => _getFormats(session.locale),
18
18
 
19
19
  parse: (value: unknown, format?: TimeUnit): number | null => {
20
20
  if (objects.isNullOrUndefined(value)) {
@@ -158,7 +158,7 @@ export const chartJsDateAdapter = {
158
158
  }
159
159
  };
160
160
 
161
- function _getFormats(locale: Locale) {
161
+ function _getFormats(locale: Locale): Record<TimeUnit | 'datetime', string> {
162
162
  return {
163
163
  datetime: locale.dateFormatPatternDefault + ' ' + locale.timeFormatPatternDefault,
164
164
  millisecond: 'HH:mm:ss.SSS',
package/src/index.ts CHANGED
@@ -42,6 +42,7 @@ export * from './table/controls/ChartTableControlLayout';
42
42
  export * from './table/controls/ChartTableControlModel';
43
43
  export * from './table/controls/ChartTableUserFilter';
44
44
  export * from './table/controls/ChartTableUserFilterModel';
45
+ export * from './table/controls/FocusFirstChartTypeKeyStroke';
45
46
 
46
47
  export default self;
47
48
 
@@ -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
@@ -29,41 +29,19 @@
29
29
  .chart-select {
30
30
  display: flex;
31
31
  flex-flow: column;
32
-
33
32
  width: 75px;
34
33
  margin: 25px;
35
34
 
36
-
37
- & > .icon {
35
+ & > .chart-type {
38
36
  padding: 15px 0;
39
37
  margin-bottom: 8px;
40
38
  min-width: 60px;
41
-
42
- font-size: 26px;
43
- font-weight: @icon-font-weight-light;
44
- text-align: center;
45
-
46
39
  border-radius: @border-radius-medium;
40
+ transition: none; // Disable focus transition because other chart items also have no transition
47
41
 
48
- color: @button-color;
49
-
50
- &:not(.disabled) {
51
- cursor: pointer;
52
-
53
- &.selected,
54
- &.selected:hover {
55
- background-color: @default-button-background-color;
56
- color: @default-button-color;
57
- }
58
-
59
- &:hover {
60
- color: @button-hover-color;
61
- background-color: @hover-background-color;
62
- }
63
- }
64
-
65
- &.disabled {
66
- color: @button-disabled-color;
42
+ & > .icon {
43
+ font-size: 26px;
44
+ font-weight: @icon-font-weight-light;
67
45
  }
68
46
  }
69
47
  }
@@ -137,6 +115,10 @@
137
115
  color: @selected-color;
138
116
  }
139
117
 
118
+ &:focus {
119
+ #scout.focus-inset-box-shadow();
120
+ }
121
+
140
122
  &.disabled {
141
123
  cursor: default;
142
124
  background-color: @table-control-container-background-color;
@@ -145,6 +127,11 @@
145
127
  &:hover {
146
128
  background-color: @table-control-container-background-color;
147
129
  }
130
+
131
+ &.selected {
132
+ color: @selected-color;
133
+ background-color: @selected-disabled-background-color;
134
+ }
148
135
  }
149
136
 
150
137
  & > .select-axis-group {