Merge branch 'SI-2938-BUG-Freitextfilter-filtert-nicht-nach-BACKSPACE' of ssh://git.eclipse.org:29418/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.frontend into SI-2944-BUG-Stationsfilter-zeigt-keine-zusammengesetzte-Zellwerte
diff --git a/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.spec.ts b/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.spec.ts
index ca3b547..b0489df 100644
--- a/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.spec.ts
+++ b/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.spec.ts
@@ -62,6 +62,13 @@
expect(component).toBeTruthy();
});
+ it('should extend the setItems in _extendFilterItem when filterWord is test', () => {
+ const filterItems = { test: { checked: true } };
+ (component as any)._filteredItems = filterItems;
+ (component as any)._extendFilteredItem('test');
+ expect('test' in component.setItems).toBeTruthy();
+ });
+
it('should filterCheckboxList with setItems', () => {
component.setItems = [
{ AAA: {}, checked: true },
diff --git a/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts b/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts
index c26a093..e6db916 100644
--- a/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts
+++ b/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts
@@ -42,17 +42,17 @@
.toLowerCase()
.split(' ')
.forEach(filterWord => {
- for (var itemKey in this.setItems) {
- if (!this._contains(itemKey, filterWord)) {
- this._filteredItems[itemKey] = this.setItems[itemKey];
- delete this.setItems[itemKey];
- } else {
- for (var filteredItem in this._filteredItems) {
- if (this._contains(filteredItem, filterWord)) {
- this.setItems[filteredItem] = this._filteredItems[filteredItem];
- }
+ if (Object.keys(this.setItems).length > 0) {
+ for (var itemKey in this.setItems) {
+ if (!this._contains(itemKey, filterWord)) {
+ this._filteredItems[itemKey] = this.setItems[itemKey];
+ delete this.setItems[itemKey];
+ } else {
+ this._extendFilteredItem(filterWord);
}
}
+ } else {
+ this._extendFilteredItem(filterWord);
}
if (this.filterText.length !== 0) {
this.selectAllChecked = false;
@@ -63,6 +63,14 @@
this._params.filterChangedCallback();
}
+ private _extendFilteredItem(filterWord: string): void {
+ for (var filteredItem in this._filteredItems) {
+ if (this._contains(filteredItem, filterWord)) {
+ this.setItems[filteredItem] = this._filteredItems[filteredItem];
+ }
+ }
+ }
+
private _contains(sourceText: string, subString: string): boolean {
return sourceText.toString().toLowerCase().indexOf(subString.toString().toLowerCase()) >= 0;
}