Skip to content

Commit 78fed50

Browse files
refactor(simple-combo): trigger text selection on after closing
1 parent ec7721b commit 78fed50

File tree

2 files changed

+2
-54
lines changed

2 files changed

+2
-54
lines changed

projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.spec.ts

-53
Original file line numberDiff line numberDiff line change
@@ -326,59 +326,6 @@ describe('IgxSimpleCombo', () => {
326326
const comboData = combo.data;
327327
expect(comboData).toEqual(data);
328328
});
329-
it('should bind combo data to remote service data', (async () => {
330-
let productIndex = 0;
331-
fixture = TestBed.createComponent(IgxComboRemoteDataComponent);
332-
fixture.detectChanges();
333-
combo = fixture.componentInstance.instance;
334-
335-
const verifyComboData = () => {
336-
fixture.detectChanges();
337-
let ind = combo.virtualScrollContainer.state.startIndex;
338-
for (let itemIndex = 0; itemIndex < 10; itemIndex++) {
339-
expect(combo.data[itemIndex].id).toEqual(ind);
340-
expect(combo.data[itemIndex].product).toEqual('Product ' + ind);
341-
const dropdownList = fixture.debugElement.query(By.css(`.${CSS_CLASS_DROPDOWNLIST_SCROLL}`)).nativeElement;
342-
const dropdownItems = dropdownList.querySelectorAll(`.${CSS_CLASS_DROPDOWNLISTITEM}`);
343-
expect(dropdownItems[itemIndex].innerText.trim()).toEqual('Product ' + ind);
344-
ind++;
345-
}
346-
};
347-
348-
combo.toggle();
349-
fixture.detectChanges();
350-
verifyComboData();
351-
expect(combo.virtualizationState.startIndex).toEqual(productIndex);
352-
353-
productIndex = 42;
354-
combo.virtualScrollContainer.scrollTo(productIndex);
355-
await wait(100);
356-
fixture.detectChanges();
357-
verifyComboData();
358-
// index is at bottom
359-
expect(combo.virtualizationState.startIndex + combo.virtualizationState.chunkSize - 1)
360-
.toEqual(productIndex);
361-
362-
productIndex = 485;
363-
combo.virtualScrollContainer.scrollTo(productIndex);
364-
await wait(100);
365-
fixture.detectChanges();
366-
verifyComboData();
367-
expect(combo.virtualizationState.startIndex + combo.virtualizationState.chunkSize - 1)
368-
.toEqual(productIndex);
369-
370-
productIndex = 873;
371-
combo.virtualScrollContainer.scrollTo(productIndex);
372-
await wait(100);
373-
fixture.detectChanges();
374-
verifyComboData();
375-
376-
productIndex = 649;
377-
combo.virtualScrollContainer.scrollTo(productIndex);
378-
await wait(100);
379-
fixture.detectChanges();
380-
verifyComboData();
381-
}));
382329
it('should render empty template when combo data source is not set', () => {
383330
fixture = TestBed.createComponent(IgxComboInContainerTestComponent);
384331
fixture.detectChanges();

projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -270,8 +270,9 @@ export class IgxSimpleComboComponent extends IgxComboBaseDirective implements Co
270270
}
271271

272272
this.composing = false;
273-
// explicitly update selection so that we don't have to force CD
273+
// explicitly update selection and trigger text selection so that we don't have to force CD
274274
this.textSelection.selected = true;
275+
this.textSelection.trigger();
275276
const selection = this.selectionService.first_item(this.id);
276277
this._value = selection !== undefined && selection !== null ? selection : '';
277278
this.comboInput.focus();

0 commit comments

Comments
 (0)