Skip to content

Commit ffb4b16

Browse files
authored
FIX - If navigating directly to a preprints, registries, or institutions, or profile discovery page, the entire OSF corpus is listed as results #657 (#658)
* fix(global-search): Normalize quotes in search text, fixed search section init on the profile page * fix(global-search): Fixed search section init on the profile page
1 parent ca9a7cb commit ffb4b16

File tree

7 files changed

+16
-8
lines changed

7 files changed

+16
-8
lines changed

src/app/features/institutions/pages/institutions-search/institutions-search.component.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ <h1>{{ institution().name }}</h1>
2020
<p [innerHtml]="institution().description | safeHtml"></p>
2121
</div>
2222

23-
<osf-global-search [resourceTabOptions]="resourceTabOptions" />
23+
@if (defaultSearchFiltersInitialized()) {
24+
<osf-global-search [resourceTabOptions]="resourceTabOptions" />
25+
}
2426
}
2527
</section>

src/app/features/institutions/pages/institutions-search/institutions-search.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { createDispatchMap, select } from '@ngxs/store';
33
import { SafeHtmlPipe } from 'primeng/menu';
44

55
import { NgOptimizedImage } from '@angular/common';
6-
import { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core';
6+
import { ChangeDetectionStrategy, Component, inject, OnInit, signal } from '@angular/core';
77
import { FormsModule } from '@angular/forms';
88
import { ActivatedRoute } from '@angular/router';
99

@@ -29,6 +29,7 @@ export class InstitutionsSearchComponent implements OnInit {
2929

3030
institution = select(InstitutionsSearchSelectors.getInstitution);
3131
isInstitutionLoading = select(InstitutionsSearchSelectors.getInstitutionLoading);
32+
defaultSearchFiltersInitialized = signal<boolean>(false);
3233

3334
readonly resourceTabOptions = SEARCH_TAB_OPTIONS;
3435

@@ -41,6 +42,7 @@ export class InstitutionsSearchComponent implements OnInit {
4142
'affiliation,isContainedBy.affiliation',
4243
this.institution().iris.join(',')
4344
);
45+
this.defaultSearchFiltersInitialized.set(true);
4446
},
4547
});
4648
}

src/app/features/preprints/pages/preprint-provider-discover/preprint-provider-discover.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
[isPreprintProviderLoading]="isPreprintProviderLoading()"
55
/>
66

7-
@if (preprintProvider()) {
7+
@if (defaultSearchFiltersInitialized()) {
88
<osf-global-search [searchControlInput]="searchControl" [provider]="preprintProvider() ?? null" />
99
}

src/app/features/preprints/pages/preprint-provider-discover/preprint-provider-discover.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createDispatchMap, select } from '@ngxs/store';
22

3-
import { ChangeDetectionStrategy, Component, HostBinding, inject, OnDestroy, OnInit } from '@angular/core';
3+
import { ChangeDetectionStrategy, Component, HostBinding, inject, OnDestroy, OnInit, signal } from '@angular/core';
44
import { FormControl } from '@angular/forms';
55
import { ActivatedRoute } from '@angular/router';
66

@@ -37,6 +37,7 @@ export class PreprintProviderDiscoverComponent implements OnInit, OnDestroy {
3737
isPreprintProviderLoading = select(PreprintProvidersSelectors.isPreprintProviderDetailsLoading);
3838

3939
searchControl = new FormControl('');
40+
defaultSearchFiltersInitialized = signal<boolean>(false);
4041

4142
ngOnInit() {
4243
this.actions.getPreprintProviderById(this.providerId).subscribe({
@@ -46,6 +47,7 @@ export class PreprintProviderDiscoverComponent implements OnInit, OnDestroy {
4647
if (provider) {
4748
this.actions.setDefaultFilterValue('publisher', provider.iri);
4849
this.actions.setResourceType(ResourceType.Preprint);
50+
this.defaultSearchFiltersInitialized.set(true);
4951

5052
BrandService.applyBranding(provider.brand);
5153
HeaderStyleHelper.applyHeaderStyles(

src/app/features/profile/profile.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,16 @@ export class ProfileComponent implements OnInit {
6666
private setupMyProfile(user: UserModel): void {
6767
this.actions.setUserProfile(user);
6868
if (user?.iri) {
69-
this.defaultSearchFiltersInitialized.set(true);
7069
this.actions.setDefaultFilterValue('creator,isContainedBy.creator', user.iri);
70+
this.defaultSearchFiltersInitialized.set(true);
7171
}
7272
}
7373

7474
private setSearchFilter(): void {
7575
const currentUser = this.user();
7676
if (currentUser?.iri) {
77-
this.defaultSearchFiltersInitialized.set(true);
7877
this.actions.setDefaultFilterValue('creator,isContainedBy.creator', currentUser.iri);
78+
this.defaultSearchFiltersInitialized.set(true);
7979
}
8080
}
8181
}

src/app/features/registries/pages/registries-provider-search/registries-provider-search.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
[isProviderLoading]="isProviderLoading()"
55
/>
66

7-
@if (provider()) {
7+
@if (defaultSearchFiltersInitialized()) {
88
<osf-global-search [searchControlInput]="searchControl" />
99
}

src/app/features/registries/pages/registries-provider-search/registries-provider-search.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createDispatchMap, select } from '@ngxs/store';
22

3-
import { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit } from '@angular/core';
3+
import { ChangeDetectionStrategy, Component, inject, OnDestroy, OnInit, signal } from '@angular/core';
44
import { FormControl } from '@angular/forms';
55
import { ActivatedRoute } from '@angular/router';
66

@@ -36,6 +36,7 @@ export class RegistriesProviderSearchComponent implements OnInit, OnDestroy {
3636

3737
provider = select(RegistrationProviderSelectors.getBrandedProvider);
3838
isProviderLoading = select(RegistrationProviderSelectors.isBrandedProviderLoading);
39+
defaultSearchFiltersInitialized = signal<boolean>(false);
3940

4041
searchControl = new FormControl('');
4142

@@ -46,6 +47,7 @@ export class RegistriesProviderSearchComponent implements OnInit, OnDestroy {
4647
next: () => {
4748
this.actions.setDefaultFilterValue('publisher', this.provider()!.iri!);
4849
this.actions.setResourceType(ResourceType.Registration);
50+
this.defaultSearchFiltersInitialized.set(true);
4951
},
5052
});
5153
}

0 commit comments

Comments
 (0)