Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /