Merge remote-tracking branch 'upstream/main' into use-applied-filter-to-display-label-on-search_contribute-main

# Conflicts:
#	src/app/shared/search/search-labels/search-label/search-label.component.html
#	src/app/shared/search/search.component.html
This commit is contained in:
Alexandre Vryghem
2024-04-30 11:35:50 +02:00
33 changed files with 133 additions and 83 deletions

View File

@@ -24,8 +24,8 @@ import {
import {
BehaviorSubject,
combineLatest as observableCombineLatest,
EMPTY,
Observable,
of,
Subscription,
} from 'rxjs';
import {
@@ -188,7 +188,7 @@ export class DsoEditMetadataComponent implements OnInit, OnDestroy {
const lazyProvider$: Observable<UpdateDataService<DSpaceObject>> = lazyDataService(this.dataServiceMap, this.dsoType, this.parentInjector);
return lazyProvider$;
} else {
return EMPTY;
return of(this.updateDataService);
}
}

View File

@@ -1,14 +1,20 @@
<a *ngIf="min !== '*'"
[attr.aria-label]="'search.filters.remove' | translate:{ type: ('search.filters.applied.f.' + appliedFilter.filter + '.min') | translate, value: min }"
[routerLink]="searchLink"
[queryParams]="(removeParametersMin$ | async)"
class="badge badge-primary mr-1 mb-1 text-capitalize">
{{('search.filters.applied.f.' + appliedFilter.filter + '.min') | translate}}: {{ min }}
<span> ×</span>
class="badge badge-primary">
<span class="d-flex">
<span class="flex-grow-1 text-left">{{('search.filters.applied.f.' + appliedFilter.filter + '.min') | translate}}: {{ min }}</span>
<span class="pl-1" aria-hidden="true">×</span>
</span>
</a>
<a *ngIf="max !== '*'"
[attr.aria-label]="'search.filters.remove' | translate:{ type: ('search.filters.applied.f.' + appliedFilter.filter + '.max') | translate, value: max }"
[routerLink]="searchLink"
[queryParams]="(removeParametersMax$ | async)"
class="badge badge-primary mr-1 mb-1 text-capitalize">
{{('search.filters.applied.f.' + appliedFilter.filter + '.max') | translate}}: {{ max }}
<span> ×</span>
class="badge badge-primary">
<span class="d-flex">
<span class="flex-grow-1 text-left">{{('search.filters.applied.f.' + appliedFilter.filter + '.max') | translate}}: {{ max }}</span>
<span class="pl-1" aria-hidden="true">×</span>
</span>
</a>

View File

@@ -0,0 +1,9 @@
:host {
display: flex;
flex-wrap: wrap;
gap: calc(var(--bs-spacer) / 4);
}
.badge {
white-space: inherit;
}

View File

@@ -29,6 +29,7 @@ import { renderSearchLabelFor } from '../search-label-loader/search-label-loader
@Component({
selector: 'ds-search-label-range',
templateUrl: './search-label-range.component.html',
styleUrls: ['./search-label-range.component.scss'],
standalone: true,
imports: [
AsyncPipe,

View File

@@ -1,7 +1,9 @@
<a class="badge badge-primary mr-1 mb-1"
[attr.aria-label]="'search.filters.remove' | translate:{ type: ('search.filters.applied.' + appliedFilter.filter) | translate, value: appliedFilter.label }"
<a class="badge badge-primary"
[attr.aria-label]="'search.filters.remove' | translate:{ type: ('search.filters.applied.f.' + appliedFilter.filter) | translate, value: appliedFilter.label }"
[routerLink]="searchLink"
[queryParams]="(removeParameters$ | async)">
{{('search.filters.applied.f.' + appliedFilter.filter) | translate}}: {{'search.filters.' + appliedFilter.filter + '.' + appliedFilter.label | translate: {default: appliedFilter.label} }}
<span aria-hidden="true"> ×</span>
<span class="d-flex">
<span class="flex-grow-1 text-left">{{ ('search.filters.applied.f.' + appliedFilter.filter) | translate}}: {{'search.filters.' + appliedFilter.filter + '.' + appliedFilter.label | translate: { default: appliedFilter.label } }}</span>
<span class="pl-1" aria-hidden="true">×</span>
</span>
</a>

View File

@@ -0,0 +1,3 @@
.badge {
white-space: inherit;
}

View File

@@ -26,6 +26,7 @@ import { renderSearchLabelFor } from '../search-label-loader/search-label-loader
@Component({
selector: 'ds-search-label',
templateUrl: './search-label.component.html',
styleUrls: ['./search-label.component.scss'],
standalone: true,
imports: [RouterLink, AsyncPipe, TranslateModule],
})

View File

@@ -1,3 +1,9 @@
:host {
line-height: 1;
}
line-height: 1;
.labels {
display: flex;
flex-wrap: wrap;
gap: calc(var(--bs-spacer) / 4);
}
}

View File

@@ -99,8 +99,8 @@
[searchPlaceholder]="searchFormPlaceholder | translate">
</ds-themed-search-form>
<div class="row mb-3 mb-md-1">
<div class="labels col-sm-9">
<ds-search-labels *ngIf="searchEnabled" [appliedFilters]="appliedFilters" [inPlaceSearch]="inPlaceSearch">
<div class="labels col-12">
<ds-search-labels [appliedFilters]="appliedFilters" [inPlaceSearch]="inPlaceSearch">
</ds-search-labels>
</div>
</div>

View File

@@ -16,6 +16,8 @@ Disallow: /submit
Disallow: /workspaceitems
Disallow: /profile
Disallow: /workflowitems
# Crawlers should be able to access entity pages, but not the facet search links present on entity pages
Disallow: /entities/*?f
# Optionally uncomment the following line ONLY if sitemaps are working
# and you have verified that your site is being indexed correctly.

View File

@@ -3,7 +3,7 @@ import {
NgIf,
} from '@angular/common';
import { Component } from '@angular/core';
import { RouterModule } from '@angular/router';
import { RouterLink } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { BrowseByTaxonomyComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component';
@@ -32,16 +32,16 @@ import { VarDirective } from '../../../../../app/shared/utils/var.directive';
ComcolPageHeaderComponent,
ComcolPageLogoComponent,
NgIf,
RouterModule,
ThemedComcolPageHandleComponent,
ComcolPageContentComponent,
DsoEditMenuComponent,
ThemedComcolPageBrowseByComponent,
VocabularyTreeviewComponent,
BrowseByComponent,
TranslateModule,
ThemedLoadingComponent,
ThemedBrowseByComponent,
VocabularyTreeviewComponent,
RouterLink,
],
})
export class BrowseByTaxonomyComponent extends BaseComponent {

View File

@@ -43,7 +43,6 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp
ComcolPageContentComponent,
ErrorComponent,
NgIf,
RouterOutlet,
ThemedLoadingComponent,
TranslateModule,
ViewTrackerComponent,
@@ -55,6 +54,7 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp
DsoEditMenuComponent,
ThemedComcolPageBrowseByComponent,
ObjectCollectionComponent,
RouterOutlet,
],
})
/**

View File

@@ -11,6 +11,7 @@ import { ThemedDsoEditMetadataComponent } from '../../../../../app/dso-shared/ds
import { AlertComponent } from '../../../../../app/shared/alert/alert.component';
import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component';
import { VarDirective } from '../../../../../app/shared/utils/var.directive';
import { DsoEditMetadataComponent } from '../../dso-shared/dso-edit-metadata/dso-edit-metadata.component';
@Component({
selector: 'ds-edit-item-template-page',
@@ -20,6 +21,7 @@ import { VarDirective } from '../../../../../app/shared/utils/var.directive';
standalone: true,
imports: [
ThemedDsoEditMetadataComponent,
DsoEditMetadataComponent,
RouterLink,
AsyncPipe,
VarDirective,

View File

@@ -6,7 +6,10 @@ import {
ChangeDetectionStrategy,
Component,
} from '@angular/core';
import { RouterModule } from '@angular/router';
import {
RouterModule,
RouterOutlet,
} from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { CommunityPageComponent as BaseComponent } from '../../../../app/community-page/community-page.component';
@@ -50,6 +53,7 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp
AsyncPipe,
ViewTrackerComponent,
VarDirective,
RouterOutlet,
RouterModule,
],
})

View File

@@ -1,6 +1,15 @@
import {
AsyncPipe,
NgIf,
} from '@angular/common';
import { Component } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core';
import { CommunityPageSubCollectionListComponent as BaseComponent } from '../../../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component';
import { ErrorComponent } from '../../../../../../../app/shared/error/error.component';
import { ThemedLoadingComponent } from '../../../../../../../app/shared/loading/themed-loading.component';
import { ObjectCollectionComponent } from '../../../../../../../app/shared/object-collection/object-collection.component';
import { VarDirective } from '../../../../../../../app/shared/utils/var.directive';
@Component({
selector: 'ds-community-page-sub-collection-list',
@@ -8,6 +17,15 @@ import { CommunityPageSubCollectionListComponent as BaseComponent } from '../../
styleUrls: ['../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.scss'],
// templateUrl: './community-page-sub-collection-list.component.html',
templateUrl: '../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.html',
imports: [
ObjectCollectionComponent,
ErrorComponent,
ThemedLoadingComponent,
NgIf,
TranslateModule,
AsyncPipe,
VarDirective,
],
standalone: true,
})
export class CommunityPageSubCollectionListComponent extends BaseComponent {

View File

@@ -12,8 +12,7 @@ import { RegisterEmailFormComponent } from '../../../../../app/register-email-fo
templateUrl: '../../../../../app/forgot-password/forgot-password-email/forgot-email.component.html',
standalone: true,
imports: [
RegisterEmailFormComponent,
ThemedRegisterEmailFormComponent,
RegisterEmailFormComponent, ThemedRegisterEmailFormComponent,
],
})
/**

View File

@@ -18,8 +18,8 @@ import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pi
standalone: true,
imports: [
TranslateModule,
ProfilePageSecurityFormComponent,
BrowserOnlyPipe,
ProfilePageSecurityFormComponent,
AsyncPipe,
NgIf,
],

View File

@@ -1,3 +1,7 @@
import {
AsyncPipe,
NgIf,
} from '@angular/common';
import { Component } from '@angular/core';
import { RouterLink } from '@angular/router';
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
@@ -21,7 +25,7 @@ import { LangSwitchComponent } from '../../../../app/shared/lang-switch/lang-swi
// templateUrl: 'header.component.html',
templateUrl: '../../../../app/header/header.component.html',
standalone: true,
imports: [RouterLink, ThemedLangSwitchComponent, NgbDropdownModule, ThemedSearchNavbarComponent, LangSwitchComponent, ContextHelpToggleComponent, ThemedAuthNavMenuComponent, ImpersonateNavbarComponent, TranslateModule],
imports: [RouterLink, ThemedLangSwitchComponent, NgbDropdownModule, ThemedSearchNavbarComponent, LangSwitchComponent, ContextHelpToggleComponent, ThemedAuthNavMenuComponent, ImpersonateNavbarComponent, TranslateModule, AsyncPipe, NgIf],
})
export class HeaderComponent extends BaseComponent {
}

View File

@@ -2,6 +2,7 @@ import {
AsyncPipe,
NgClass,
NgIf,
NgTemplateOutlet,
} from '@angular/common';
import { Component } from '@angular/core';
import { TranslateModule } from '@ngx-translate/core';
@@ -25,7 +26,7 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp
// templateUrl: './home-page.component.html'
templateUrl: '../../../../app/home-page/home-page.component.html',
standalone: true,
imports: [ThemedHomeNewsComponent, NgIf, ViewTrackerComponent, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, ConfigurationSearchPageComponent, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent],
imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ViewTrackerComponent, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, ConfigurationSearchPageComponent, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent],
})
export class HomePageComponent extends BaseComponent {

View File

@@ -44,11 +44,11 @@ import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/
ItemVersionsComponent,
ErrorComponent,
ThemedLoadingComponent,
NotifyRequestsStatusComponent,
QaEventNotificationComponent,
TranslateModule,
AsyncPipe,
NgIf,
NotifyRequestsStatusComponent,
QaEventNotificationComponent,
],
})
export class ItemPageComponent extends BaseComponent {

View File

@@ -1,4 +1,7 @@
import { CommonModule } from '@angular/common';
import {
AsyncPipe,
NgIf,
} from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
@@ -39,26 +42,7 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the
templateUrl: '../../../../../../../app/item-page/simple/item-types/publication/publication.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
CommonModule,
ThemedResultsBackButtonComponent,
MiradorViewerComponent,
ThemedItemPageTitleFieldComponent,
DsoEditMenuComponent,
MetadataFieldWrapperComponent,
ThemedThumbnailComponent,
ThemedMediaViewerComponent,
ThemedFileSectionComponent,
ItemPageDateFieldComponent,
ThemedMetadataRepresentationListComponent,
GenericItemPageFieldComponent,
RelatedItemsComponent,
ItemPageAbstractFieldComponent,
TranslateModule,
ItemPageUriFieldComponent,
CollectionsComponent,
RouterLink,
],
imports: [NgIf, ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, RelatedItemsComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, RouterLink, AsyncPipe, TranslateModule],
})
export class PublicationComponent extends BaseComponent {

View File

@@ -1,4 +1,7 @@
import { CommonModule } from '@angular/common';
import {
AsyncPipe,
NgIf,
} from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
@@ -38,25 +41,7 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the
templateUrl: '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
standalone: true,
imports: [
CommonModule,
ThemedItemPageTitleFieldComponent,
DsoEditMenuComponent,
MetadataFieldWrapperComponent,
ThemedThumbnailComponent,
ThemedMediaViewerComponent,
ThemedFileSectionComponent,
ItemPageDateFieldComponent,
ThemedMetadataRepresentationListComponent,
GenericItemPageFieldComponent,
TranslateModule,
MiradorViewerComponent,
ThemedResultsBackButtonComponent,
CollectionsComponent,
RouterLink,
ItemPageUriFieldComponent,
ItemPageAbstractFieldComponent,
],
imports: [NgIf, ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, RouterLink, AsyncPipe, TranslateModule],
})
export class UntypedItemComponent extends BaseComponent {
}

View File

@@ -15,7 +15,7 @@ import { LogInComponent } from '../../../../app/shared/log-in/log-in.component';
// templateUrl: './login-page.component.html'
templateUrl: '../../../../app/login-page/login-page.component.html',
standalone: true,
imports: [LogInComponent, ThemedLogInComponent ,TranslateModule],
imports: [LogInComponent, ThemedLogInComponent, TranslateModule],
})
export class LoginPageComponent extends BaseComponent {
}

View File

@@ -40,11 +40,11 @@ import { ThemedSearchComponent } from '../../../../app/shared/search/themed-sear
imports: [
ThemedSearchComponent,
MyDSpaceNewSubmissionComponent,
MyDspaceQaEventsNotificationsComponent,
SuggestionsNotificationComponent,
AsyncPipe,
RoleDirective,
NgIf,
SuggestionsNotificationComponent,
MyDspaceQaEventsNotificationsComponent,
],
})
export class MyDSpacePageComponent extends BaseComponent {

View File

@@ -1,7 +1,15 @@
import {
AsyncPipe,
NgComponentOutlet,
NgFor,
NgIf,
} from '@angular/common';
import { Component } from '@angular/core';
import { RouterLinkActive } from '@angular/router';
import { ExpandableNavbarSectionComponent as BaseComponent } from '../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component';
import { slide } from '../../../../../app/shared/animations/slide';
import { VarDirective } from '../../../../../app/shared/utils/var.directive';
/**
* Represents an expandable section in the navbar
@@ -14,6 +22,7 @@ import { slide } from '../../../../../app/shared/animations/slide';
styleUrls: ['../../../../../app/navbar/expandable-navbar-section/expandable-navbar-section.component.scss'],
animations: [slide],
standalone: true,
imports: [VarDirective, RouterLinkActive, NgComponentOutlet, NgIf, NgFor, AsyncPipe],
})
export class ExpandableNavbarSectionComponent extends BaseComponent {
}

View File

@@ -23,13 +23,13 @@ import { VarDirective } from '../../../../app/shared/utils/var.directive';
imports: [
ProfilePageMetadataFormComponent,
ProfilePageSecurityFormComponent,
SuggestionsNotificationComponent,
AsyncPipe,
TranslateModule,
ProfilePageResearcherFormComponent,
VarDirective,
NgIf,
NgForOf,
SuggestionsNotificationComponent,
],
})
/**

View File

@@ -12,8 +12,7 @@ import { RegisterEmailComponent as BaseComponent } from '../../../../../app/regi
templateUrl: '../../../../../app/register-page/register-email/register-email.component.html',
standalone: true,
imports: [
RegisterEmailFormComponent,
ThemedRegisterEmailFormComponent,
RegisterEmailFormComponent, ThemedRegisterEmailFormComponent,
],
})
/**

View File

@@ -30,8 +30,7 @@ import { StartsWithLoaderComponent } from '../../../../../app/shared/starts-with
fadeInOut,
],
standalone: true,
imports: [VarDirective, NgClass, NgComponentOutlet, NgIf, ThemedResultsBackButtonComponent, ObjectCollectionComponent,
ThemedLoadingComponent, ErrorComponent, AsyncPipe, TranslateModule, StartsWithLoaderComponent],
imports: [VarDirective, NgClass, NgComponentOutlet, NgIf, ThemedResultsBackButtonComponent, ObjectCollectionComponent, ThemedLoadingComponent, ErrorComponent, AsyncPipe, TranslateModule, StartsWithLoaderComponent],
})
export class BrowseByComponent extends BaseComponent {
}

View File

@@ -1,6 +1,7 @@
import {
AsyncPipe,
NgForOf,
NgIf,
} from '@angular/common';
import { Component } from '@angular/core';
import { FormsModule } from '@angular/forms';
@@ -30,6 +31,7 @@ import { ComcolPageBrowseByComponent as BaseComponent } from '../../../../../app
RouterLinkActive,
TranslateModule,
AsyncPipe,
NgIf,
],
})
export class ComcolPageBrowseByComponent extends BaseComponent {}

View File

@@ -1,5 +1,5 @@
import {
NgForOf,
NgFor,
NgIf,
} from '@angular/common';
import { Component } from '@angular/core';
@@ -15,7 +15,7 @@ import { LangSwitchComponent as BaseComponent } from '../../../../../app/shared/
// templateUrl: './lang-switch.component.html',
templateUrl: '../../../../../app/shared/lang-switch/lang-switch.component.html',
standalone: true,
imports: [NgIf, NgbDropdownModule, NgForOf, TranslateModule],
imports: [NgIf, NgbDropdownModule, NgFor, TranslateModule],
})
export class LangSwitchComponent extends BaseComponent {
}

View File

@@ -1,3 +1,4 @@
import { NgIf } from '@angular/common';
import { Component } from '@angular/core';
import { LoadingComponent as BaseComponent } from '../../../../../app/shared/loading/loading.component';
@@ -9,6 +10,7 @@ import { LoadingComponent as BaseComponent } from '../../../../../app/shared/loa
templateUrl: '../../../../../app/shared/loading/loading.component.html',
// templateUrl: './loading.component.html'
standalone: true,
imports: [NgIf],
})
export class LoadingComponent extends BaseComponent {

View File

@@ -22,10 +22,7 @@ import { BrowserOnlyPipe } from '../../../../../app/shared/utils/browser-only.pi
styleUrls: ['../../../../../app/shared/object-list/object-list.component.scss'],
// templateUrl: './object-list.component.html'
templateUrl: '../../../../../app/shared/object-list/object-list.component.html',
imports: [
PaginationComponent, NgIf, NgClass, NgFor, SelectableListItemControlComponent,
ImportableListItemControlComponent, ListableObjectComponentLoaderComponent, BrowserOnlyPipe,
],
imports: [PaginationComponent, NgIf, NgClass, NgFor, SelectableListItemControlComponent, ImportableListItemControlComponent, ListableObjectComponentLoaderComponent, BrowserOnlyPipe],
standalone: true,
})