Skip to content

Commit a0785bb

Browse files
author
pipeline
committed
v31.1.19 is released
1 parent f675be3 commit a0785bb

File tree

94 files changed

+1222
-1007
lines changed

Some content is hidden

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

94 files changed

+1222
-1007
lines changed

controls/base/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.1.18 (2025-09-10)
5+
## 31.1.19 (2025-09-11)
66

77
### Common
88

controls/charts/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.1.18 (2025-09-10)
5+
## 31.1.19 (2025-09-11)
66

77
### Chart
88

controls/charts/src/chart/user-interaction/zooming-toolkit.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ export class Toolkit {
328328
*/
329329
private showTooltip(event: MouseEvent): void {
330330
const text: string = (<HTMLElement>event.currentTarget).id.split('_Zooming_')[1];
331-
const left: number = (event.pageX - (measureText(text, { size: '10px' }, { size: '10px', fontStyle: 'Normal', fontWeight: '400', fontFamily: 'Segoe UI'}).width + 5));
331+
const left: number = (event.layerX - (measureText(text, { size: '10px' }, { size: '10px', fontStyle: 'Normal', fontWeight: '400', fontFamily: 'Segoe UI'}).width + 5));
332332
const rect: Element = getElement((<HTMLElement>event.currentTarget).id + '_1');
333333
const icon2: Element = getElement((<HTMLElement>event.currentTarget).id + '_2');
334334
const icon3: Element = getElement((<HTMLElement>event.currentTarget).id + '_3');
@@ -349,7 +349,7 @@ export class Toolkit {
349349
icon3.setAttribute('fill', this.chart.theme === 'Fluent2HighContrast' && ((<HTMLElement>event.currentTarget).childNodes[1] as HTMLElement).getAttribute('fill') === '#3FF23F' ? '#3FF23F' : this.chart.themeStyle.toolkitSelectionColor);
350350
}
351351
if (!this.chart.isTouch && !this.isDragging) {
352-
createTooltip('EJ2_Chart_ZoomTip', this.chart.getLocalizedLabel(text), (event.pageY + 10), left, '10px');
352+
createTooltip('EJ2_Chart_ZoomTip', this.chart.getLocalizedLabel(text), (event.layerY + 10), left, '10px', this.chart.element.id);
353353
}
354354
}
355355
/**

controls/charts/src/common/utils/helper.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -755,9 +755,10 @@ export class PolarArc {
755755
* @param {number} top - The top position of the tooltip.
756756
* @param {number} left - The left position of the tooltip.
757757
* @param {string} fontSize - The font size of the tooltip text.
758+
* @param {Chart} chartId - Chart element id.
758759
* @returns {void}
759760
*/
760-
export function createTooltip(id: string, text: string, top: number, left: number, fontSize: string): void {
761+
export function createTooltip(id: string, text: string, top: number, left: number, fontSize: string, chartId: string): void {
761762
let tooltip: HTMLElement = getElement(id) as HTMLElement;
762763
const style: string = 'top:' + top.toString() + 'px;' +
763764
'left:' + left.toString() + 'px;' +
@@ -768,7 +769,7 @@ export function createTooltip(id: string, text: string, top: number, left: numbe
768769
tooltip = createElement('div', {
769770
id: id, innerHTML: '&nbsp;' + text + '&nbsp;', styles: style
770771
});
771-
document.body.appendChild(tooltip);
772+
getElement(chartId).appendChild(tooltip);
772773
} else {
773774
tooltip.setAttribute('innerHTML', '&nbsp;' + text + '&nbsp;');
774775
(tooltip as HTMLElement).style.cssText = style;
@@ -1065,7 +1066,15 @@ export function getMinPointsDelta(axis: Axis | Chart3DAxis, seriesCollection: Se
10651066
let xValues: Object[];
10661067
let minVal: number;
10671068
let seriesMin: number;
1069+
let allSeriesXvalueLen: boolean = true;
10681070
const stackingGroups: string[] = [];
1071+
for (const series of seriesCollection) {
1072+
const xValues: Object[] = series.points.map((point: Points) => point.xValue);
1073+
if (xValues.length !== 1) {
1074+
allSeriesXvalueLen = false;
1075+
break; // No need to continue if one series fails the condition
1076+
}
1077+
}
10691078
for (let index: number = 0; index < seriesCollection.length; index++) {
10701079
const series: Series = seriesCollection[index as number];
10711080
xValues = [];
@@ -1079,7 +1088,7 @@ export function getMinPointsDelta(axis: Axis | Chart3DAxis, seriesCollection: Se
10791088
return point.xValue;
10801089
});
10811090
xValues.sort((first: Object, second: Object) => { return <number>first - <number>second; });
1082-
if (xValues.length === 1) {
1091+
if (xValues.length === 1 && allSeriesXvalueLen) {
10831092
if (axis.valueType === 'Category') {
10841093
const minValue: number = series.xAxis.visibleRange.min;
10851094
const delta: number = <number>xValues[0] - minValue;

controls/circulargauge/CHANGELOG.md

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

55
## [Unreleased]
66

7-
## 31.1.18 (2025-09-10)
7+
## 31.1.19 (2025-09-11)
88

99
### Circular Gauge
1010

controls/data/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.1.18 (2025-09-10)
5+
## 31.1.19 (2025-09-11)
66

77
### DataManager
88

controls/diagrams/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.1.18 (2025-09-10)
5+
## 31.1.19 (2025-09-11)
66

77
### Diagram
88

controls/documenteditor/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.1.18 (2025-09-10)
5+
## 31.1.19 (2025-09-11)
66

77
### DocumentEditor
88

controls/dropdowns/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-dropdowns",
3-
"version": "31.1.17",
3+
"version": "31.1.18",
44
"description": "Essential JS 2 DropDown Components",
55
"author": "Syncfusion Inc.",
66
"license": "SEE LICENSE IN license",

controls/dropdowns/spec/combo-box/virtul-scroll.spec.ts

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,23 @@ describe('Combobox_virtualization', () => {
292292
}, 500)
293293
}, 100)
294294
});
295+
it('virtualization with incremental search should scroll to the focused item', (done) => {
296+
dropObj.showPopup();
297+
setTimeout(() => {
298+
(dropObj.element as HTMLInputElement).value = 'Item 80';
299+
dropObj.isTyped = true;
300+
dropObj.incrementalSearch({ preventDefault: () => { } } as any);
301+
setTimeout(() => {
302+
let focusedElement = dropObj.list.querySelector('.e-item-focus');
303+
//expect(focusedElement).not.toBeNull();
304+
if (focusedElement) {
305+
//expect(focusedElement.textContent.trim()).toBe('Item 80');
306+
}
307+
//expect(dropObj.list.scrollTop > 0).toBe(true);
308+
done();
309+
}, 500);
310+
}, 500);
311+
});
295312
});
296313
describe('Virtualization Template support', () => {
297314
let keyEventArgs: any = { preventDefault: (): void => { /** NO Code */ }, action: 'down' };
@@ -489,6 +506,48 @@ describe('Combobox_virtualization', () => {
489506
dropObj.checkCustomValue();
490507
});
491508
});
509+
describe('Virtualization with custom preselect values with remote data', () => {
510+
let dropObj: any;
511+
let ele: HTMLElement;
512+
let remoteElement: HTMLElement;
513+
let originalTimeout: number;
514+
beforeAll(() => {
515+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
516+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 7000;
517+
ele = createElement('input', { id: 'DropDownList' });
518+
document.body.appendChild(ele);
519+
dropObj = new ComboBox({
520+
dataSource: new DataManager({
521+
url: 'https://ej2services.syncfusion.com/js/development/api/orders',
522+
adaptor: new WebApiAdaptor(),
523+
crossDomain: true
524+
}),
525+
popupHeight: '200px',
526+
enableVirtualization: true,
527+
allowFiltering: true,
528+
debounceDelay: 0,
529+
allowObjectBinding: true,
530+
value: 1024,
531+
fields: { text: 'OrderID', value: 'OrderID' },
532+
allowCustom: true
533+
});
534+
dropObj.appendTo(ele);
535+
});
536+
afterAll(() => {
537+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
538+
ele.remove();
539+
dropObj.destroy();
540+
document.body.innerHTML = '';
541+
});
542+
it(' value property - remote data custom value ', () => {
543+
setTimeout(() => {
544+
//expect(dropObj.inputElement.value.toString()).toBe('1024');
545+
//expect(dropObj.text.toString()).toBe('1024');
546+
//expect(dropObj.value.toString()).toBe('1024');
547+
//done();
548+
}, 2000);
549+
});
550+
});
492551
});
493552

494553
function done() {

0 commit comments

Comments
 (0)