From 93056160c779dacf0eac08a51d04c95aebe53fbf Mon Sep 17 00:00:00 2001 From: Alex Martzios Date: Mon, 13 Nov 2023 15:59:56 +0200 Subject: [PATCH] Browse RFO/RPO: add the search keyword in the URL, prevent from losing results on user reload --- .../browse-stakeholder.component.html | 2 +- .../browse-stakeholder.component.ts | 26 ++++++++++++------- src/assets/common-assets | 2 +- src/assets/openaire-theme | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/app/shared/browse-stakeholders/browse-stakeholder.component.html b/src/app/shared/browse-stakeholders/browse-stakeholder.component.html index 1824d1f..76f7536 100644 --- a/src/app/shared/browse-stakeholders/browse-stakeholder.component.html +++ b/src/app/shared/browse-stakeholders/browse-stakeholder.component.html @@ -5,7 +5,7 @@
-
diff --git a/src/app/shared/browse-stakeholders/browse-stakeholder.component.ts b/src/app/shared/browse-stakeholders/browse-stakeholder.component.ts index 1838cdd..9941465 100644 --- a/src/app/shared/browse-stakeholders/browse-stakeholder.component.ts +++ b/src/app/shared/browse-stakeholders/browse-stakeholder.component.ts @@ -5,8 +5,6 @@ import {StakeholderService} from "../../openaireLibrary/monitor/services/stakeho import {Option} from "../../openaireLibrary/sharedComponents/input/input.component"; import {HelperFunctions} from "../../openaireLibrary/utils/HelperFunctions.class"; import {LayoutService} from "src/app/openaireLibrary/dashboard/sharedComponents/sidebar/layout.service"; -import {FormBuilder, FormControl} from "@angular/forms"; -import {debounceTime, distinctUntilChanged} from "rxjs/operators"; import {StakeholderBaseComponent} from "../../openaireLibrary/monitor-admin/utils/stakeholder-base.component"; @Component({ @@ -27,14 +25,14 @@ export class BrowseStakeholderComponent extends StakeholderBaseComponent impleme sortBy: string = 'alphAsc'; currentPage: number = 1; pageSize: number = 10; - keywordControl: FormControl; + parameters = {}; + keyword: string = ''; constructor(protected _route: ActivatedRoute, protected _router: Router, private stakeholderService: StakeholderService, private layoutService: LayoutService, - private cdr: ChangeDetectorRef, - private fb: FormBuilder) { + private cdr: ChangeDetectorRef) { super(); } @@ -58,16 +56,26 @@ export class BrowseStakeholderComponent extends StakeholderBaseComponent impleme this.filteredStakeholders.sort((a, b) => a['name'].localeCompare(b['name'])); this.showLoading = false; })); - this.keywordControl = this.fb.control(''); - this.subscriptions.push(this.keywordControl.valueChanges.pipe(debounceTime(200), distinctUntilChanged()).subscribe(value => { - this.filtering(value); - })); + this._route.queryParams.subscribe(params => { + this.parameters = Object.assign({}, params); + this.keyword = params['keyword'] ? params['keyword'] : ''; + this.filtering(this.keyword); + }) } private navigateToError() { this._router.navigate([this.properties.errorLink], {queryParams: {'page': this._router.url}}); } + keywordChanged() { + if(this.keyword?.length > 0) { + this.parameters['keyword'] = this.keyword; + } else { + delete this.parameters['keyword']; + } + this._router.navigate([], {queryParams: this.parameters} ); + } + private filtering(value) { if(!value){ this.filteredStakeholders = this.stakeholders; diff --git a/src/assets/common-assets b/src/assets/common-assets index 6bb1e61..d1b2d5e 160000 --- a/src/assets/common-assets +++ b/src/assets/common-assets @@ -1 +1 @@ -Subproject commit 6bb1e61b059bef1bff3bfb0611b0df46f7840426 +Subproject commit d1b2d5e585722751792d12645d17f820cd6a7860 diff --git a/src/assets/openaire-theme b/src/assets/openaire-theme index 5e8c1ad..2dadcf8 160000 --- a/src/assets/openaire-theme +++ b/src/assets/openaire-theme @@ -1 +1 @@ -Subproject commit 5e8c1addb1ebfa508aac8cb9540a755940c95b79 +Subproject commit 2dadcf85926bc0f11fff22ed94dc197ddd8587c6