Skip to content

Commit 6bc72a4

Browse files
author
pipeline
committed
v31.2.5 is released
1 parent eb29e1f commit 6bc72a4

File tree

174 files changed

+2918
-1150
lines changed

Some content is hidden

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

174 files changed

+2918
-1150
lines changed

controls/base/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
## [Unreleased]
44

5+
## 31.2.5 (2025-11-04)
6+
7+
### Common
8+
9+
#### Bug Fixes
10+
11+
- `#I780829` - Resolved the issue of unexpected auto-correction of invalid time input on blur in the DateTimePicker and TimePicker components.
12+
513
## 31.2.4 (2025-10-28)
614
### Common
715
#### Bug Fixes

controls/base/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-base",
3-
"version": "31.2.2",
3+
"version": "31.2.4",
44
"description": "A common package of Essential JS 2 base libraries, methods and class definitions",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

controls/base/src/intl/date-parser.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,18 @@ export class DateParser {
287287
return null;
288288
}
289289
}
290+
if (key === 'hour') {
291+
var is12h: boolean = options.hour12;
292+
if (is12h) {
293+
if (tValue < 1 || tValue > 12) { return null; }
294+
} else {
295+
if (tValue < 0 || tValue > 23) { return null; }
296+
}
297+
} else if (key === 'minute' || key === 'second') {
298+
if (tValue < 0 || tValue > 59) { return null; }
299+
} else if (key === 'milliseconds') {
300+
if (tValue < 0 || tValue > 999) { return null; }
301+
}
290302
(<any>res)[`${(<any>timeSetter)[`${key}`]}`](tValue);
291303
}
292304
}

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-
## 31.2.4 (2025-10-28)
5+
## 31.2.5 (2025-11-04)
66

77
### DatePicker
88

controls/charts/CHANGELOG.md

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

33
## [Unreleased]
44

5-
## 31.2.4 (2025-10-28)
5+
## 31.2.5 (2025-11-04)
6+
7+
### Chart
8+
9+
#### Bug Fixes
10+
11+
- `#I757693` - Extra space will no longer be added to the axis label during dynamic updates.
12+
- `#I777050` - Grid lines are now rendered for empty charts.
13+
14+
#### Feature
15+
16+
- `#I776271` - Support for accessibility labels has been added to the chart SVG.
17+
18+
## 31.2.3 (2025-10-22)
619

720
### Chart
821

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1412,7 +1412,6 @@ describe('Chart Control', () => {
14121412
done();
14131413
};
14141414
chart.loaded = loaded;
1415-
chart.isBlazor = true;
14161415
chart.series[0].fill = 'blue';
14171416
chart.series[0].type = 'Line';
14181417
chart.enableExport = false;
@@ -1600,9 +1599,8 @@ describe('Chart Control', () => {
16001599
it('Checking the checking chart refreshLiveData method', (done: Function) => {
16011600
loaded = (args: ILoadedEventArgs): void => {
16021601
chart.loaded = null;
1603-
args.chart.isBlazor = true;
16041602
args.chart.refreshLiveData();
1605-
args.chart.isBlazor = false; args.chart.enableCanvas = true;
1603+
args.chart.enableCanvas = true;
16061604
//args.chart.refreshLiveData();
16071605
element = document.getElementById('container');
16081606
expect(element !== null).toBe(true);

controls/charts/spec/chart/scrollbar/scrollbar-horizontal.spec.ts

Lines changed: 37 additions & 37 deletions
Large diffs are not rendered by default.

controls/charts/spec/pie/base/accumulation.spec.ts

Lines changed: 55 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44
import { createElement } from '@syncfusion/ej2-base';
55
import { EmitType } from '@syncfusion/ej2-base';
6-
import { DataManager, Query } from '@syncfusion/ej2-data';
6+
import { DataManager, ODataAdaptor, Query } from '@syncfusion/ej2-data';
77
import { AccumulationChart} from '../../../src/accumulation-chart/accumulation';
88
import { AccumulationTooltip} from '../../../src/accumulation-chart/user-interaction/tooltip';
99
import { AccumulationDataLabel} from '../../../src/accumulation-chart/renderer/dataLabel';
@@ -674,12 +674,10 @@ describe('Checking RTL Behaviour for Title', () => {
674674
});
675675
it('Checking chart without element id', (done: Function) => {
676676
accumulation.loaded = (args: IAccLoadedEventArgs) => {
677-
args.chart.isBlazor = true;
678677
expect(args.chart.element !== null).toBe(true);
679678
done();
680679
};
681680
accumulation.element.id = '';
682-
accumulation.isBlazor = true;
683681
accumulation.refresh();
684682
});
685683
it('Check accumulation chart center x and y', (done: Function) => {
@@ -941,36 +939,6 @@ describe('Checking RTL Behaviour for Title', () => {
941939
accumulation.animate(0);
942940
accumulation.refresh();
943941
});
944-
it('Checking accumulation chart elements', (done: Function) => {
945-
accumulation.loaded = (args: IAccLoadedEventArgs) => {
946-
accumulation.loaded = null;
947-
if (args.accumulation.accBaseModule) {
948-
args.chart.isBlazor = true;
949-
args.chart.renderElements();
950-
args
951-
expect(document.getElementById('ej2-container') !== null).toBe(true);
952-
}
953-
expect(document.getElementById('ej2-container') !== null).toBe(true);
954-
done();
955-
};
956-
accumulation.load = (args: IAccLoadedEventArgs) => {
957-
args.chart.isBlazor = true;
958-
};
959-
accumulation.refresh();
960-
});
961-
it('Checking accumulation checking pointColormappings', (done: Function) => {
962-
accumulation.loaded = (args: IAccLoadedEventArgs) => {
963-
if (args.chart.accBaseModule) {
964-
args.chart.animate();
965-
}
966-
expect(document.getElementById('ej2-container') !== null).toBe(true);
967-
done();
968-
};
969-
accumulation.series[0].pointColorMapping = 'color';
970-
accumulation.series[0].dataSource = [{ y: 18, x: 1, name: 'Bald Eagle', color: 'red', text: 'Bald Eagle : 18', radius: '50%' }, { y: 23, x: 2, name: 'Bison', color: 'Blue', text: 'Bison : 23', radius: '60%' },
971-
{ y: 30, x: 3, name: 'Brown Bear', color: 'yellow', text: 'Brown Bear : 30', radius: '70%' }, { y: 44, x: 4, name: 'Elk', color: 'black', text: 'Elk : 44', radius: '100%' }];
972-
accumulation.refresh();
973-
});
974942
});
975943
describe('Checking accumulation chart explode ', () => {
976944
let element: HTMLElement;
@@ -1296,4 +1264,58 @@ describe('Checking RTL Behaviour for Title', () => {
12961264
accumulation.refresh();
12971265
});
12981266
})
1267+
describe('Checking applyPattern', () => {
1268+
let element: HTMLElement;
1269+
let id: string = 'ej2-container1';
1270+
let accumulation: AccumulationChart;
1271+
let dataManager: DataManager = new DataManager({
1272+
url: 'https://services.syncfusion.com/js/production/api/orders',
1273+
adaptor: new ODataAdaptor(),
1274+
offline: true,
1275+
});
1276+
let query: Query = new Query();
1277+
beforeAll((): void => {
1278+
1279+
element = createElement('div', { id: id });
1280+
document.body.appendChild(element);
1281+
accumulation = new AccumulationChart({
1282+
border: { width: 1, color: 'blue' },
1283+
series: [{
1284+
type: 'Pie', dataSource: [{ y: 18, x: 1, name: 'Bald Eagle', color: 'red', text: 'Bald Eagle : 18', radius: '50%' }, { y: 23, x: 2, name: 'Bison', color: 'Blue', text: 'Bison : 23', radius: '60%' },
1285+
{ y: 30, x: 3, name: 'Brown Bear', color: 'yellow', text: 'Brown Bear : 30', radius: '70%' }, { y: 44, x: 4, name: 'Elk', color: 'black', text: 'Elk : 44', radius: '100%' }], xName: 'x', query: query, yName: 'y', animation: { enable: false },
1286+
dataLabel: {
1287+
name: 'text', visible: true, position: 'Outside',
1288+
connectorStyle: { type: 'Curve', color: 'black', width: 2, dashArray: '2,1', length: '5' }
1289+
},
1290+
}],
1291+
width: '600',
1292+
height: '400',
1293+
centerLabel: {
1294+
text: 'Syncfusion',
1295+
textStyle: {
1296+
size: '11px',
1297+
},
1298+
hoverTextFormat: '${point.x}'
1299+
}
1300+
});
1301+
accumulation.appendTo('#' + id);
1302+
});
1303+
afterAll((): void => {
1304+
accumulation.loaded = null;
1305+
accumulation.destroy();
1306+
removeElement(id);
1307+
});
1308+
it('Checking title with right position and rtl', function (done) {
1309+
accumulation.loaded = function (args) {
1310+
accumulation.loaded = null;
1311+
accumulation.export('CSV', 'Chart');
1312+
done();
1313+
};
1314+
accumulation.series[0].dataSource = dataManager;
1315+
accumulation.series[0].xName = 'CustomerID';
1316+
accumulation.series[0].yName = 'Freight';
1317+
accumulation.series[0].query = query;
1318+
accumulation.refresh();
1319+
});
1320+
});
12991321
});

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Property, Component, Complex, Collection, NotifyPropertyChanges, INotifyPropertyChanged, animationMode, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { ModuleDeclaration, Internationalization, Event, EmitType, Browser, EventHandler, Touch } from '@syncfusion/ej2-base';import { remove, extend, isNullOrUndefined, updateBlazorTemplate } from '@syncfusion/ej2-base';import { Margin, Border, TooltipSettings, CenterLabel, Indexes, Accessibility, TitleStyleSettings } from '../common/model/base';import { AccumulationSeries, AccPoints, PieCenter } from './model/acc-base';import { AccumulationType, AccumulationSelectionMode, AccumulationHighlightMode } from './model/enum';import { IAccSeriesRenderEventArgs, IAccTextRenderEventArgs } from './model/pie-interface';import { IAccAnimationCompleteEventArgs, IAccPointRenderEventArgs, IAccLoadedEventArgs, IAccSelectionCompleteEventArgs } from './model/pie-interface';import { getThemeColor } from '../common/model/theme';import { ILegendRenderEventArgs, IMouseEventArgs, IPointEventArgs, ITooltipRenderEventArgs } from '../chart/model/chart-interface';import { IAnnotationRenderEventArgs } from '../chart/model/chart-interface';import { load, pointClick } from '../common/model/constants';import { pointMove, chartDoubleClick, chartMouseClick, chartMouseDown } from '../common/model/constants';import { chartMouseLeave, chartMouseMove, chartMouseUp, resized, beforeResize } from '../common/model/constants';import { MarginModel, BorderModel, CenterLabelModel, TooltipSettingsModel, IndexesModel, AccessibilityModel, TitleStyleSettingsModel } from '../common/model/base-model';import { AccumulationSeriesModel, PieCenterModel } from './model/acc-base-model';import { LegendSettings } from '../common/legend/legend';import { AccumulationLegend } from './renderer/legend';import { LegendSettingsModel } from '../common/legend/legend-model';import { ChartLocation, indexFinder, appendChildElement, redrawElement, blazorTemplatesReset, getTextAnchor, stringToNumber, textWrap, subtractRect } from '../common/utils/helper';import { RectOption, showTooltip, ImageOption } from '../common/utils/helper';import { textElement, createSvg, calculateSize, removeElement, firstToLowerCase, withInBounds } from '../common/utils/helper';import { getElement, titlePositionX } from '../common/utils/helper';import { Rect, Size, measureText, TextOption, SvgRenderer, CanvasRenderer } from '@syncfusion/ej2-svg-base';import { Data } from '../common/model/data';import { AccumulationTooltip } from './user-interaction/tooltip';import { AccumulationBase } from './renderer/accumulation-base';import { PieSeries } from './renderer/pie-series';import { AccumulationDataLabel } from './renderer/dataLabel';import { FunnelSeries } from './renderer/funnel-series';import { PyramidSeries } from './renderer/pyramid-series';import { AccumulationSelection } from './user-interaction/selection';import { AccumulationHighlight } from './user-interaction/high-light';import { AccumulationTheme } from './model/enum';import { AccumulationAnnotationSettingsModel } from './model/acc-base-model';import { AccumulationAnnotationSettings } from './model/acc-base';import { AccumulationAnnotation } from './annotation/annotation';import { IPrintEventArgs } from '../chart/model/chart-interface';import { Alignment, ExportType, SelectionPattern } from '../common/utils/enum';import { getTitle, AccPointData } from '../common/utils/helper';import { Index } from '../common/model/base';import { IThemeStyle } from '../chart/model/chart-interface';import { IAccResizeEventArgs, IAccBeforeResizeEventArgs, IAccLegendClickEventArgs } from './model/pie-interface';import { DataManager } from '@syncfusion/ej2-data';import { Export } from '../chart/print-export/export';import { Animation, AnimationOptions, compile as templateComplier} from '@syncfusion/ej2-base';import { PrintUtils } from '../common/utils/print';import { IAfterExportEventArgs, IExportEventArgs } from '../common/model/interface';import { createTemplate } from '../common/utils/helper';import { createElement } from '@syncfusion/ej2-base';
1+
import { Property, Component, Complex, Collection, NotifyPropertyChanges, INotifyPropertyChanged, animationMode, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { ModuleDeclaration, Internationalization, Event, EmitType, Browser, EventHandler, Touch } from '@syncfusion/ej2-base';import { remove, extend, isNullOrUndefined } from '@syncfusion/ej2-base';import { Margin, Border, TooltipSettings, CenterLabel, Indexes, Accessibility, TitleStyleSettings } from '../common/model/base';import { AccumulationSeries, AccPoints, PieCenter } from './model/acc-base';import { AccumulationType, AccumulationSelectionMode, AccumulationHighlightMode } from './model/enum';import { IAccSeriesRenderEventArgs, IAccTextRenderEventArgs } from './model/pie-interface';import { IAccAnimationCompleteEventArgs, IAccPointRenderEventArgs, IAccLoadedEventArgs, IAccSelectionCompleteEventArgs } from './model/pie-interface';import { getThemeColor } from '../common/model/theme';import { ILegendRenderEventArgs, IMouseEventArgs, IPointEventArgs, ITooltipRenderEventArgs } from '../chart/model/chart-interface';import { IAnnotationRenderEventArgs } from '../chart/model/chart-interface';import { load, pointClick } from '../common/model/constants';import { pointMove, chartDoubleClick, chartMouseClick, chartMouseDown } from '../common/model/constants';import { chartMouseLeave, chartMouseMove, chartMouseUp, resized, beforeResize } from '../common/model/constants';import { MarginModel, BorderModel, CenterLabelModel, TooltipSettingsModel, IndexesModel, AccessibilityModel, TitleStyleSettingsModel } from '../common/model/base-model';import { AccumulationSeriesModel, PieCenterModel } from './model/acc-base-model';import { LegendSettings } from '../common/legend/legend';import { AccumulationLegend } from './renderer/legend';import { LegendSettingsModel } from '../common/legend/legend-model';import { ChartLocation, indexFinder, appendChildElement, redrawElement, getTextAnchor, stringToNumber, textWrap, subtractRect } from '../common/utils/helper';import { RectOption, showTooltip, ImageOption } from '../common/utils/helper';import { textElement, createSvg, calculateSize, removeElement, firstToLowerCase, withInBounds } from '../common/utils/helper';import { getElement, titlePositionX } from '../common/utils/helper';import { Rect, Size, measureText, TextOption, SvgRenderer, CanvasRenderer } from '@syncfusion/ej2-svg-base';import { Data } from '../common/model/data';import { AccumulationTooltip } from './user-interaction/tooltip';import { AccumulationBase } from './renderer/accumulation-base';import { PieSeries } from './renderer/pie-series';import { AccumulationDataLabel } from './renderer/dataLabel';import { FunnelSeries } from './renderer/funnel-series';import { PyramidSeries } from './renderer/pyramid-series';import { AccumulationSelection } from './user-interaction/selection';import { AccumulationHighlight } from './user-interaction/high-light';import { AccumulationTheme } from './model/enum';import { AccumulationAnnotationSettingsModel } from './model/acc-base-model';import { AccumulationAnnotationSettings } from './model/acc-base';import { AccumulationAnnotation } from './annotation/annotation';import { IPrintEventArgs } from '../chart/model/chart-interface';import { Alignment, ExportType, SelectionPattern } from '../common/utils/enum';import { getTitle, AccPointData } from '../common/utils/helper';import { Index } from '../common/model/base';import { IThemeStyle } from '../chart/model/chart-interface';import { IAccResizeEventArgs, IAccBeforeResizeEventArgs, IAccLegendClickEventArgs } from './model/pie-interface';import { DataManager } from '@syncfusion/ej2-data';import { Export } from '../chart/print-export/export';import { Animation, AnimationOptions, compile as templateComplier} from '@syncfusion/ej2-base';import { PrintUtils } from '../common/utils/print';import { IAfterExportEventArgs, IExportEventArgs } from '../common/model/interface';import { createTemplate } from '../common/utils/helper';import { createElement } from '@syncfusion/ej2-base';
22
import {ComponentModel} from '@syncfusion/ej2-base';
33

44
/**

0 commit comments

Comments
 (0)