Skip to content

Commit 9d94074

Browse files
author
pipeline
committed
v24.1.45 is released
1 parent 7b28d24 commit 9d94074

File tree

2,465 files changed

+1492
-442367
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,465 files changed

+1492
-442367
lines changed

controls/barcodegenerator/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## [Unreleased]
44

5-
## 24.1.44 (2024-01-03)
5+
## 24.1.45 (2024-01-09)
66

77
### Barcode
88

controls/base/spec/template.spec.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,20 @@ describe('Template', () => {
162162
let result: Element[] = [];
163163
result.push(createElement('div', { innerHTML: 'one two' }));
164164
result.push(createElement('div', { innerHTML: 'two three ' }));
165-
expect(outDOM(template.compile(templateStr), spaceDS)).toEqual(result);
165+
let templateResult: Element[] = outDOM(template.compile(templateStr), spaceDS)
166+
expect(templateResult).toEqual(result);
167+
expect(templateResult[0].innerHTML).toEqual('one two');
168+
expect(templateResult[1].innerHTML).toEqual('two three ');
169+
});
170+
171+
it('Multiple space between inner tags template string', () => {
172+
let templateStr: string = "<div>${name}</div> <div>${name}</div>";
173+
let result: Element[] = [];
174+
result.push(createElement('div', { innerHTML: 'one two' }));
175+
result.push(createElement('div', { innerHTML: 'two three ' }));
176+
let templateResult: Element[] = outDOM(template.compile(templateStr), spaceDS)
177+
expect(templateResult.length).toEqual(2);
178+
expect(templateResult).toEqual(result);
166179
});
167180

168181
it('JSON array input with href value with apostrophe', () => {
@@ -203,8 +216,8 @@ describe('Template', () => {
203216
</div>`;
204217
/* tslint:enable */
205218
let result: Element[] = [];
206-
result.push(createElement('div', { innerHTML: ' <span>one</span>01 ' }));
207-
result.push(createElement('div', { innerHTML: ' <span>two</span>02 ' }));
219+
result.push(createElement('div', { innerHTML: '<span>one</span>01' }));
220+
result.push(createElement('div', { innerHTML: '<span>two</span>02' }));
208221
expect(outDOM(template.compile(templateStr), dsJSONArray)).toEqual(result);
209222
template.expression(new RegExp('\\${([^}]*)}', 'g'));
210223
});

controls/base/src/template.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Template Engine
33
*/
44

5-
const LINES: RegExp = new RegExp('[\\n\\r\\s]+', 'g');
5+
const LINES: RegExp = new RegExp('\\n\\s+|(?<=>)\\s{1,}(?=<)', 'g');
66
const QUOTES: RegExp = new RegExp(/'|"/g);
77
const IF_STMT: RegExp = new RegExp('if ?\\(');
88
const ELSEIF_STMT: RegExp = new RegExp('else if ?\\(');
@@ -126,7 +126,7 @@ function evalExp(str: string, nameSpace: string, helper?: Object, ignorePrefix?:
126126
});
127127
}
128128

129-
return str.replace(LINES, ' ').replace(DBL_QUOTED_STR, '\'$1\'').replace(
129+
return str.replace(LINES, '').replace(DBL_QUOTED_STR, '\'$1\'').replace(
130130

131131
exp,
132132
// eslint-disable-next-line

controls/calendars/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## [Unreleased]
44

5-
## 24.1.44 (2024-01-03)
5+
## 24.1.45 (2024-01-09)
66

77
### TimePicker
88

controls/charts/CHANGELOG.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,31 @@
22

33
## [Unreleased]
44

5+
## 24.1.45 (2024-01-09)
6+
7+
### AccumulationChart
8+
9+
#### Bug Fixes
10+
11+
- `#I533625` - Now, the `textAlignment` property in the `titleStyle` of the accumulation chart is functioning correctly.
12+
13+
### Chart
14+
15+
#### Bug Fixes
16+
17+
- `#I536934` - Now, the `category` axis label renders properly when the x-value is provided as an empty string.
18+
519
## 24.1.44 (2024-01-03)
620

721
### Chart
822

923
#### Bug Fixes
1024

11-
- #I521819 - Improved the accuracy of the normal distribution in the histogram series.
12-
- #I528067 - Removed the multilevel label if all series are not visible.
13-
- #I185777 - Fixed the marker size issue in the scatter chart during initial loading.
14-
- #I185904 - Resolved the issue with the shared tooltip when disabling `showNearestPoint`.
15-
- #I532475 - Fixed the console error in Mozilla Firefox when zooming the bubble chart.
25+
- `#I521819` - Improved the accuracy of the normal distribution in the histogram series.
26+
- `#I528067` - Removed the multilevel label if all series are not visible.
27+
- `#I185777` - Fixed the marker size issue in the scatter chart during initial loading.
28+
- `#I185904` - Resolved the issue with the shared tooltip when disabling `showNearestPoint`.
29+
- `#I532475` - Fixed the console error in Mozilla Firefox when zooming the bubble chart.
1630

1731
## 24.1.43 (2023-12-27)
1832

controls/charts/ReadMe.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
[![coverage](http://ej2.syncfusion.com/badges/ej2-charts/coverage.svg)](http://ej2.syncfusion.com/badges/ej2-charts)
2+
13
# JavaScript Chart Control
24

35
The [JavaScript Chart](https://www.syncfusion.com/javascript-ui-controls/js-charts?utm_source=npm&utm_medium=listing&utm_campaign=javascript-chart-npm) control is a well-crafted charting component for visualizing data with 50+ charts and graphs, ranging from line to financial types. It can bind data from datasource such as array of JSON objects, `OData web services` or [DataManager](https://ej2.syncfusion.com/documentation/data/data-binding/). All chart elements are rendered using Scalable Vector Graphics (SVG).

controls/charts/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-charts",
3-
"version": "24.1.43",
3+
"version": "24.1.44",
44
"description": "Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball.",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

controls/charts/spec/chart3d/axis/axis.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ describe('Chart Control', () => {
549549
let secondLabel: HTMLElement = document.getElementById('chartContainer2-0-axis-label-1');
550550
expect(secondLabel).toEqual(null);
551551
let thirdLabel: HTMLElement = document.getElementById('chartContainer2-0-axis-label-2');
552-
expect(thirdLabel.textContent).toEqual('3 custom Labels');
552+
expect(thirdLabel).toEqual(null);
553553
done();
554554
};
555555
axisLabelRender = (args: Chart3DAxisLabelRenderEventArgs) => {

controls/charts/spec/chart3d/axis/logarithmic-axis.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ describe('Chart Control', () => {
191191
it('Checking Xaxis label rotation', (done: Function) => {
192192
loaded = (args: Object): void => {
193193
let label = document.getElementById('chartContainer-0-axis-label-0');
194-
expect(label.getAttribute('transform')).toBe('rotate(45,60.385239567233384,379.7413170621421)');
194+
expect(label.getAttribute('transform')).toBe('rotate(45,60.385239567233384,380.7814883375094)');
195195
done();
196196
};
197197
chartObj.loaded = loaded;
@@ -201,7 +201,7 @@ describe('Chart Control', () => {
201201
it('Checking Yaxis label rotation', (done: Function) => {
202202
loaded = (args: Object): void => {
203203
let label = document.getElementById('chartContainer-1-axis-label-0');
204-
expect(label.getAttribute('transform')).toBe('rotate(45,60.52462913595727,359.3531684698609)');
204+
expect(label.getAttribute('transform')).toBe('rotate(45,60.52462913595727,357.3918083462133)');
205205
done();
206206
};
207207
chartObj.loaded = loaded;
@@ -212,7 +212,7 @@ describe('Chart Control', () => {
212212
loaded = (args: Object): void => {
213213
let label = document.getElementById('chartContainer-2-axis-label-0');
214214
expect(parseInt(label.getAttribute('x'))).toBe(754);
215-
expect(parseInt(label.getAttribute('y'))).toBe(359);
215+
expect(parseInt(label.getAttribute('y'))).toBe(357);
216216
done();
217217
};
218218
chartObj.loaded = loaded;
@@ -227,7 +227,7 @@ describe('Chart Control', () => {
227227
it('checking minor gridlines', (done: Function) => {
228228
chartObj.loaded = (args: Object): void => {
229229
let tick: Element = document.getElementById('chartContainer-1-grid-lines-3');
230-
expect(tick.getBoundingClientRect().top == 304.3954162597656 || tick.getBoundingClientRect().top == 194.7030487060547).toBe(true);
230+
expect(tick.getBoundingClientRect().top == 304.3954162597656 || tick.getBoundingClientRect().top == 193.7574462890625).toBe(true);
231231
done();
232232
};
233233
chartObj.primaryXAxis.minorTicksPerInterval = 1;

controls/charts/spec/chart3d/base/chart.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import { getMemoryProfile, inMB, profile } from '../../common.spec';
1313
import { Selection3D } from '../../../src/chart3d/user-interaction/selection';
1414
import { Highlight3D } from '../../../src/chart3d/user-interaction/high-light';
1515
import { DateTime3D } from '../../../src/chart3d/axis/date-time-axis';
16+
import { Double3D } from '../../../src/chart3d/axis/double-axis';
1617

17-
Chart3D.Inject(ColumnSeries3D, DataLabel3D, DateTime3D, Legend3D, Selection3D, Highlight3D, Category3D, Tooltip3D);
18+
Chart3D.Inject(ColumnSeries3D, Double3D, DataLabel3D, DateTime3D, Legend3D, Selection3D, Highlight3D, Category3D, Tooltip3D);
1819
export const categoryData: object[] = [{ x: 'USA', y: 50 }, { x: 'China', y: 40 },
1920
{ x: 'Japan', y: 70 }, { x: 'Australia', y: 60 },
2021
{ x: 'France', y: 50 }, { x: 'Germany', y: null },
@@ -936,6 +937,7 @@ describe('Chart Control', () => {
936937
primaryYAxis: {
937938
minimum: 20, maximum: 40, interval: 5,
938939
title: 'Efficiency',
940+
valueType: 'Double',
939941
labelFormat: '{value}%'
940942
},
941943
axes: [{

controls/charts/src/accumulation-chart/accumulation.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1866,15 +1866,10 @@ export class AccumulationChart extends Component<HTMLElement> implements INotify
18661866
);
18671867
const space: number = (this.series[0].type === 'Pie' && this.visibleSeries[0].dataLabel.position === 'Outside' && this.visibleSeries[0].dataLabel.connectorStyle.length) ? stringToNumber(this.visibleSeries[0].dataLabel.connectorStyle.length , this.accBaseModule.radius) : 0;
18681868
if (!this.subTitle && (this.series[0].type !== 'Funnel' && this.series[0].type !== 'Pyramid')) {
1869-
options.x = parseInt(this.series[0].radius) >= 80 ? options.x : this.accBaseModule.center.x;
18701869
options.y = parseInt(this.series[0].radius) >= 80 ? options.y :
18711870
(this.accBaseModule.center.y - this.accBaseModule.radius - padding
18721871
- titleHeight - legendHeight - expodeValue - space);
18731872
if (this.series[0].type === 'Pie' && (parseInt(this.series[0].radius) < 80 || isNaN(parseInt(this.series[0].radius)))) {
1874-
options.x = (this.accBaseModule.center.x - (titleSize.width / 2)) < this.initialClipRect.x ?
1875-
(titleSize.width / 2) + this.initialClipRect.x :
1876-
(this.accBaseModule.center.x + (titleSize.width / 2)) > (this.initialClipRect.x + this.initialClipRect.width) ?
1877-
(this.initialClipRect.x + this.initialClipRect.width) - (titleSize.width / 2) - this.initialClipRect.x : options.x;
18781873
options.y = options.y < (this.initialClipRect.y - legendHeight) ? (this.initialClipRect.y - legendHeight) : options.y;
18791874
}
18801875
}

controls/charts/src/chart/axis/category-axis.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ export class Category extends NiceInterval {
108108
position = Math.round(tempInterval);
109109
triggerLabelRender(
110110
this.chart, position,
111-
axis.labels[position as number] ? axis.labels[position as number].toString() : position.toString(),
111+
axis.labels[position as number] ? axis.labels[position as number].toString() : '',
112112
labelStyle, axis
113113
);
114114
}

controls/charts/src/chart3d/axis/double-axis.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,4 +437,16 @@ export class Double3D {
437437
return isCustom ? format.replace('{value}', axis.format(labelValue))
438438
: format ? axis.format(tempInterval) : axis.format(labelValue);
439439
}
440+
441+
/**
442+
* Gets the module name.
443+
*
444+
* @returns {string} - the module name.
445+
*/
446+
protected getModuleName(): string {
447+
/**
448+
* Returns the module name.
449+
*/
450+
return 'Double3D';
451+
}
440452
}

controls/charts/src/chart3d/axis/logarithmic-axis.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export class Logarithmic3D extends Double3D {
6161
return (item.type.indexOf('Column') !== -1 || item.type.indexOf('Bar') !== -1);
6262
});
6363
if (isRectSeries) {
64-
this.min = (this.min < 0) ? (+this.min - 1) : this.min;
64+
this.min = (this.min <= 0) ? (+this.min - 1) : this.min;
6565
}
6666
this.max = Math.ceil(logEnd / 1);
6767
this.max = this.max === this.min ? <number>this.max + 1 : this.max;

controls/charts/src/chart3d/series/bar-series.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ export class BarSeries3D {
4848
const seriesIndex: number = chart.visibleSeries.indexOf(series);
4949
const left: number = point.left;
5050
const right: number = point.right;
51-
const bottom: number = series.yAxis.visibleRange.min;
52-
const top: number = series.yAxis.visibleRange.max;
51+
const bottom: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.min) : series.yAxis.visibleRange.min;
52+
const top: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.max) : series.yAxis.visibleRange.max;
5353
const xStart: number = series.xAxis.visibleRange.min;
5454
const xEnd: number = series.xAxis.visibleRange.max;
5555

controls/charts/src/chart3d/series/column-series.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export class ColumnSeries3D {
4444
const seriesIndex: number = series.index;
4545
const left: number = point.left;
4646
const right: number = point.right;
47-
const bottom: number = series.yAxis.visibleRange.min;
48-
const top: number = series.yAxis.visibleRange.max;
47+
const bottom: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.min) : series.yAxis.visibleRange.min;
48+
const top: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.max) : series.yAxis.visibleRange.max;
4949
const xStart: number = series.xAxis.visibleRange.min;
5050
const xEnd: number = series.xAxis.visibleRange.max;
5151

controls/charts/src/chart3d/series/stacking-bar-series.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ export class StackingBarSeries3D {
4646
const seriesIndex: number = series.index;
4747
const left: number = point.left;
4848
const right: number = point.right;
49-
const bottom: number = series.yAxis.visibleRange.min;
50-
const top: number = series.yAxis.visibleRange.max;
49+
const bottom: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.min) : series.yAxis.visibleRange.min;
50+
const top: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.max) : series.yAxis.visibleRange.max;
5151
const xStart: number = series.xAxis.visibleRange.min;
5252
const xEnd: number = series.xAxis.visibleRange.max;
5353

controls/charts/src/chart3d/series/stacking-column-series.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export class StackingColumnSeries3D {
4444
const seriesIndex: number = series.index;
4545
const left: number = point.left;
4646
const right: number = point.right;
47-
const bottom: number = series.yAxis.visibleRange.min;
48-
const top: number = series.yAxis.visibleRange.max;
47+
const bottom: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.min) : series.yAxis.visibleRange.min;
48+
const top: number = series.yAxis.valueType === 'Logarithmic' ? Math.pow(series.yAxis.logBase, series.yAxis.visibleRange.max) : series.yAxis.visibleRange.max;
4949
const xStart: number = series.xAxis.visibleRange.min;
5050
const xEnd: number = series.xAxis.visibleRange.max;
5151
if (!((left >= xStart) && (left <= xEnd)) || !((right >= xStart) && (right <= xEnd))) {

controls/charts/src/chart3d/utils/renderer.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,6 @@ export class AxisRenderer {
325325
let x1: number = 0;
326326
let y1: number = 0;
327327
let pointX: number;
328-
let previousVisibleLabel: number;
329328
axis.visibleLabels[i as number].originalText = axis.visibleLabels[i as number].text as string;
330329
let textAnchor: string;
331330

@@ -394,24 +393,26 @@ export class AxisRenderer {
394393
y1 = axis.visibleLabels[i as number].index ?
395394
y1 + axis.visibleLabels[i as number].index * (textSize.height + 5) : y1;
396395
} else if (axis.labelIntersectAction === 'Hide') {
397-
previousVisibleLabel = previousVisibleLabel ? previousVisibleLabel : 0;
398-
if (i !== 0) {
399-
if (labels[previousVisibleLabel as number].x + labels[previousVisibleLabel as number].size.width / 2 >=
400-
labels[i as number].x - labels[i as number].size.width / 2) {
401-
continue;
396+
let isAxisLabelHidden: boolean = false;
397+
for (let j: number = 0; j < i; j++) {
398+
if (labels[j as number].x + (labels[j as number].size.width / 2) >= labels[i as number].x - (labels[i as number].size.width / 2)) {
399+
isAxisLabelHidden = true;
400+
break;
402401
}
403402
}
404-
previousVisibleLabel = i;
403+
if (isAxisLabelHidden) {
404+
continue;
405+
}
405406
}
406407
}
407408
}
408409
let font: Chart3DFontModel = {
409-
size: axis.labelStyle.size,
410-
fontWeight: axis.labelStyle.fontWeight,
411-
fontStyle: axis.labelStyle.fontStyle,
412-
fontFamily: axis.labelStyle.fontFamily,
413-
color: axis.labelStyle.color,
414-
opacity: axis.labelStyle.opacity
410+
size: axis.visibleLabels[i as number].labelStyle.size,
411+
fontWeight: axis.visibleLabels[i as number].labelStyle.fontWeight,
412+
fontStyle: axis.visibleLabels[i as number].labelStyle.fontStyle,
413+
fontFamily: axis.visibleLabels[i as number].labelStyle.fontFamily,
414+
color: axis.visibleLabels[i as number].labelStyle.color,
415+
opacity: axis.visibleLabels[i as number].labelStyle.opacity
415416
};
416417
const element: Chart3DLabelElement = {
417418
width: textSize.width, height: textSize.height, label: axis.visibleLabels[i as number], textAnchor: textAnchor,

controls/diagrams/CHANGELOG.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,18 @@
22

33
## [Unreleased]
44

5-
## 24.1.44 (2024-01-03)
5+
## 24.1.45 (2024-01-09)
6+
7+
### Diagram
8+
9+
#### Bug Fixes
10+
11+
- `#F185764` - Now, removing bpmn text annotation dynamically is working properly.
12+
- `#I526870` - Resolved snap to lines issue when dragging shapes from palette to swimlane.
13+
- `#I526172` - The node now remains in the diagram when the ungroup action is performed.
14+
- `#FB48313` - The background color is now visible on symbol hover after rapid expand and collapse in the palette
15+
16+
## 24.1.43 (2023-12-27)
617

718
### Diagram
819

controls/diagrams/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@syncfusion/ej2-diagrams",
3-
"version": "24.1.41",
3+
"version": "24.1.43",
44
"description": "Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

0 commit comments

Comments
 (0)