diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e6ab06b7..e93373790 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# v13.3.3 (2022-05-13) +* **grid** update tests for page index reset +* **grid** do not reset page index for same search value +* **grid** set page index in tests + # v13.3.2 (2022-05-12) * **grid** set first page when page index exists diff --git a/package-lock.json b/package-lock.json index a5817e27c..24d6914b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "angular-components", - "version": "13.3.2", + "version": "13.3.3", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 124a33042..70fa51dba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-components", - "version": "13.3.2", + "version": "13.3.3", "author": { "name": "UiPath Inc", "url": "https://uipath.com" diff --git a/projects/angular/components/ui-grid/src/managers/filter-manager.spec.ts b/projects/angular/components/ui-grid/src/managers/filter-manager.spec.ts index 30f47ee72..c96fd497b 100644 --- a/projects/angular/components/ui-grid/src/managers/filter-manager.spec.ts +++ b/projects/angular/components/ui-grid/src/managers/filter-manager.spec.ts @@ -89,11 +89,6 @@ describe('Component: UiGrid', () => { describe('Event: search change', () => { const header = new UiGridHeaderDirective(); - let searchTerm: string; - - beforeEach(() => { - searchTerm = faker.company.bs(); - }); it('should emit filters for searchable columns only', (done) => { header.searchFilter @@ -103,7 +98,7 @@ describe('Component: UiGrid', () => { ) .subscribe(filters => expect(filters.length).toEqual(columns.filter(c => c.searchable).length)); - manager.searchChange(searchTerm, header); + manager.searchChange('a', header); }); it('should emit the search term via the header subject', (done) => { @@ -113,10 +108,10 @@ describe('Component: UiGrid', () => { finalize(done), ) .subscribe(term => { - expect(term).toEqual(searchTerm); + expect(term).toEqual('b'); }); - manager.searchChange(searchTerm, header); + manager.searchChange('b', header); }); it('should emit the filter collection via the header subject', (done) => { @@ -140,21 +135,31 @@ describe('Component: UiGrid', () => { }); }); - manager.searchChange(searchTerm, header); + manager.searchChange('c', header); }); - it('should set page index to 0', (done) => { + it('should not set page index to 0 for same search term', () => { const footer = new UiGridFooterDirective(); - footer.state.pageIndex = 2; - footer.pageChange - .pipe( - first(), - finalize(done), - ) - .subscribe((pageChange) => expect(pageChange.pageIndex).toEqual(0)); - - manager.searchChange(searchTerm, header, footer); + const footerEmitSpy = spyOn(footer.pageChange, 'emit'); + manager.searchChange('d', header, footer); + expect(footerEmitSpy).toHaveBeenCalledTimes(0); }); + + it('should set page index to 0 for different search term', (done) => { + const footer = new UiGridFooterDirective(); + footer.state.pageIndex = 2; + const footerEmitSpy = spyOn(footer.pageChange, 'emit').and.callThrough(); + + footer.pageChange + .pipe( + first(), + finalize(done), + ) + .subscribe((pageChange) => expect(pageChange.pageIndex).toEqual(0)); + + manager.searchChange('e', header, footer); + expect(footerEmitSpy).toHaveBeenCalledTimes(1); + }); }); describe('Event: filter change', () => { diff --git a/projects/angular/components/ui-grid/src/managers/filter-manager.ts b/projects/angular/components/ui-grid/src/managers/filter-manager.ts index 85051d264..dcd081141 100644 --- a/projects/angular/components/ui-grid/src/managers/filter-manager.ts +++ b/projects/angular/components/ui-grid/src/managers/filter-manager.ts @@ -83,6 +83,7 @@ export class FilterManager { this._updateFilterValue(column, value, this._mapDropdownItem); searchChange(term: string | undefined, header: UiGridHeaderDirective, footer?: UiGridFooterDirective) { + if (term === header.searchValue) { return; } const searchFilterCollection: IFilterModel[] = term ? this._columns .filter(column => column.searchable) diff --git a/projects/angular/package.json b/projects/angular/package.json index 10befd11e..63efbfba9 100644 --- a/projects/angular/package.json +++ b/projects/angular/package.json @@ -1,6 +1,6 @@ { "name": "@uipath/angular", - "version": "13.3.2", + "version": "13.3.3", "license": "MIT", "author": { "name": "UiPath Inc",