This commit is contained in:
FrancescoMolinaro
2024-01-04 14:37:01 +01:00
parent 9617329683
commit 9386536ca9
17 changed files with 77 additions and 79 deletions

View File

@@ -9,11 +9,11 @@ import { map } from 'rxjs/operators';
import { SearchObjects } from '../../shared/search/models/search-objects.model'; import { SearchObjects } from '../../shared/search/models/search-objects.model';
import { AdminNotifyMetricsBox, AdminNotifyMetricsRow } from './admin-notify-metrics/admin-notify-metrics.model'; import { AdminNotifyMetricsBox, AdminNotifyMetricsRow } from './admin-notify-metrics/admin-notify-metrics.model';
import { DSpaceObject } from '../../core/shared/dspace-object.model'; import { DSpaceObject } from '../../core/shared/dspace-object.model';
import { FILTER_CONFIG, SearchFilterService } from "../../core/shared/search/search-filter.service"; import { FILTER_CONFIG, SearchFilterService } from '../../core/shared/search/search-filter.service';
import { SEARCH_CONFIG_SERVICE } from "../../my-dspace-page/my-dspace-page.component"; import { SEARCH_CONFIG_SERVICE } from '../../my-dspace-page/my-dspace-page.component';
import { AdminNotifySearchConfigurationService } from "./config/admin-notify-search-configuration.service"; import { AdminNotifySearchConfigurationService } from './config/admin-notify-search-configuration.service';
import { AdminNotifySearchFilterService } from "./config/admin-notify-filter-service"; import { AdminNotifySearchFilterService } from './config/admin-notify-filter-service';
import { AdminNotifySearchFilterConfig } from "./config/admin-notify-search-filter-config"; import { AdminNotifySearchFilterConfig } from './config/admin-notify-search-filter-config';
export const FILTER_SEARCH: InjectionToken<SearchFilterService> = new InjectionToken<SearchFilterService>('searchFilterService'); export const FILTER_SEARCH: InjectionToken<SearchFilterService> = new InjectionToken<SearchFilterService>('searchFilterService');

View File

@@ -1,12 +1,11 @@
import { Component, Inject } from '@angular/core'; import { Component, Inject } from '@angular/core';
import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component';
import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service';
import { Context } from '../../../../core/shared/context.model'; import { Context } from '../../../../core/shared/context.model';
import { AdminNotifySearchConfigurationService } from "../../config/admin-notify-search-configuration.service"; import { AdminNotifySearchConfigurationService } from '../../config/admin-notify-search-configuration.service';
import { FILTER_SEARCH } from "../../admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../admin-notify-dashboard.component';
import { AdminNotifySearchFilterService } from "../../config/admin-notify-filter-service"; import { AdminNotifySearchFilterService } from '../../config/admin-notify-filter-service';
import { FILTER_CONFIG } from "../../../../core/shared/search/search-filter.service"; import { FILTER_CONFIG } from '../../../../core/shared/search/search-filter.service';
import { AdminNotifySearchFilterConfig } from "../../config/admin-notify-search-filter-config"; import { AdminNotifySearchFilterConfig } from '../../config/admin-notify-search-filter-config';
@Component({ @Component({
@@ -33,7 +32,7 @@ export class AdminNotifyIncomingComponent {
constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: AdminNotifySearchConfigurationService, constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: AdminNotifySearchConfigurationService,
@Inject(FILTER_SEARCH) public searchFilterService: AdminNotifySearchFilterService, @Inject(FILTER_SEARCH) public searchFilterService: AdminNotifySearchFilterService,
@Inject(FILTER_CONFIG) public filterConfig: AdminNotifySearchFilterConfig) { @Inject(FILTER_CONFIG) public filterConfig: AdminNotifySearchFilterConfig) {
const incomingPrefix = 'incoming.f' const incomingPrefix = 'incoming.f';
this.searchConfigService.setParamPrefix(incomingPrefix); this.searchConfigService.setParamPrefix(incomingPrefix);
this.searchFilterService.setParamPrefix(incomingPrefix); this.searchFilterService.setParamPrefix(incomingPrefix);
this.filterConfig.paramNamePrefix = incomingPrefix; this.filterConfig.paramNamePrefix = incomingPrefix;

View File

@@ -1,11 +1,11 @@
import { Component, Inject } from '@angular/core'; import { Component, Inject } from '@angular/core';
import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component';
import { Context } from '../../../../core/shared/context.model'; import { Context } from '../../../../core/shared/context.model';
import { AdminNotifySearchConfigurationService } from "../../config/admin-notify-search-configuration.service"; import { AdminNotifySearchConfigurationService } from '../../config/admin-notify-search-configuration.service';
import { FILTER_SEARCH } from "../../admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../admin-notify-dashboard.component';
import { AdminNotifySearchFilterService } from "../../config/admin-notify-filter-service"; import { AdminNotifySearchFilterService } from '../../config/admin-notify-filter-service';
import { FILTER_CONFIG } from "../../../../core/shared/search/search-filter.service"; import { FILTER_CONFIG } from '../../../../core/shared/search/search-filter.service';
import { AdminNotifySearchFilterConfig } from "../../config/admin-notify-search-filter-config"; import { AdminNotifySearchFilterConfig } from '../../config/admin-notify-search-filter-config';
@Component({ @Component({
@@ -33,7 +33,7 @@ export class AdminNotifyOutgoingComponent {
constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: AdminNotifySearchConfigurationService, constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: AdminNotifySearchConfigurationService,
@Inject(FILTER_SEARCH) public searchFilterService: AdminNotifySearchFilterService, @Inject(FILTER_SEARCH) public searchFilterService: AdminNotifySearchFilterService,
@Inject(FILTER_CONFIG) public filterConfig: AdminNotifySearchFilterConfig) { @Inject(FILTER_CONFIG) public filterConfig: AdminNotifySearchFilterConfig) {
const outgoingPrefix = 'outgoing.f' const outgoingPrefix = 'outgoing.f';
this.searchConfigService.setParamPrefix(outgoingPrefix); this.searchConfigService.setParamPrefix(outgoingPrefix);
this.searchFilterService.setParamPrefix(outgoingPrefix); this.searchFilterService.setParamPrefix(outgoingPrefix);
this.filterConfig.paramNamePrefix = outgoingPrefix; this.filterConfig.paramNamePrefix = outgoingPrefix;

View File

@@ -3,8 +3,8 @@ import { excludeFromEquals } from '../../../core/utilities/equals.decorators';
import { deserialize } from 'cerialize'; import { deserialize } from 'cerialize';
import { HALLink } from '../../../core/shared/hal-link.model'; import { HALLink } from '../../../core/shared/hal-link.model';
import { CacheableObject } from '../../../core/cache/cacheable-object.model'; import { CacheableObject } from '../../../core/cache/cacheable-object.model';
import { AdminNotifySearchFilterConfig } from "./admin-notify-search-filter-config"; import { AdminNotifySearchFilterConfig } from './admin-notify-search-filter-config';
import { FACET_CONFIG_RESPONSE } from "../../../shared/search/models/types/facet-config-response.resouce-type"; import { FACET_CONFIG_RESPONSE } from '../../../shared/search/models/types/facet-config-response.resouce-type';
/** /**
* The response from the discover/facets endpoint * The response from the discover/facets endpoint

View File

@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { FacetConfigResponseParsingService } from "../../../core/data/facet-config-response-parsing.service"; import { FacetConfigResponseParsingService } from '../../../core/data/facet-config-response-parsing.service';
import { RestRequest } from "../../../core/data/rest-request.model"; import { RestRequest } from '../../../core/data/rest-request.model';
import { RawRestResponse } from "../../../core/dspace-rest/raw-rest-response.model"; import { RawRestResponse } from '../../../core/dspace-rest/raw-rest-response.model';
import { ParsedResponse } from "../../../core/cache/response.models"; import { ParsedResponse } from '../../../core/cache/response.models';
import { DSpaceSerializer } from "../../../core/dspace-rest/dspace.serializer"; import { DSpaceSerializer } from '../../../core/dspace-rest/dspace.serializer';
import { AdminNotifySearchFilterConfig } from "./admin-notify-search-filter-config"; import { AdminNotifySearchFilterConfig } from './admin-notify-search-filter-config';
import { FacetConfigResponse } from "../../../shared/search/models/facet-config-response.model"; import { FacetConfigResponse } from '../../../shared/search/models/facet-config-response.model';
@Injectable() @Injectable()
export class AdminNotifyFacetResponseParsingService extends FacetConfigResponseParsingService { export class AdminNotifyFacetResponseParsingService extends FacetConfigResponseParsingService {

View File

@@ -1,9 +1,8 @@
import { Inject, Injectable } from "@angular/core"; import { Injectable } from '@angular/core';
import { FILTER_CONFIG, SearchFilterService } from "../../../core/shared/search/search-filter.service"; import { SearchFilterService } from '../../../core/shared/search/search-filter.service';
import { Store } from "@ngrx/store"; import { Store } from '@ngrx/store';
import { SearchFiltersState } from "../../../shared/search/search-filters/search-filter/search-filter.reducer"; import { SearchFiltersState } from '../../../shared/search/search-filters/search-filter/search-filter.reducer';
import { RouteService } from "../../../core/services/route.service"; import { RouteService } from '../../../core/services/route.service';
import { SearchFilterConfig } from "../../../shared/search/models/search-filter-config.model";
/** /**
@@ -15,7 +14,7 @@ export class AdminNotifySearchFilterService extends SearchFilterService {
public filterPrefix: string; public filterPrefix: string;
constructor(protected store: Store<SearchFiltersState>, constructor(protected store: Store<SearchFiltersState>,
protected routeService: RouteService) { protected routeService: RouteService) {
super(store, routeService) super(store, routeService);
} }
/** /**
@@ -30,7 +29,7 @@ export class AdminNotifySearchFilterService extends SearchFilterService {
* Set prefix to be used for route filters * Set prefix to be used for route filters
* @param prefix * @param prefix
*/ */
setParamPrefix(prefix: string) : void { setParamPrefix(prefix: string): void {
this.filterPrefix = prefix; this.filterPrefix = prefix;
} }
} }

View File

@@ -1,27 +1,23 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router'; import { ActivatedRoute, Params } from '@angular/router';
import { combineLatest, Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { first, map, take } from 'rxjs/operators'; import { map, take } from 'rxjs/operators';
import { SearchConfigurationService } from "../../../core/shared/search/search-configuration.service"; import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
import { RouteService } from "../../../core/services/route.service"; import { RouteService } from '../../../core/services/route.service';
import { LinkService } from "../../../core/cache/builders/link.service"; import { LinkService } from '../../../core/cache/builders/link.service';
import { HALEndpointService } from "../../../core/shared/hal-endpoint.service"; import { HALEndpointService } from '../../../core/shared/hal-endpoint.service';
import { RequestService } from "../../../core/data/request.service"; import { RequestService } from '../../../core/data/request.service';
import { RemoteDataBuildService } from "../../../core/cache/builders/remote-data-build.service"; import { RemoteDataBuildService } from '../../../core/cache/builders/remote-data-build.service';
import { PaginationService } from "../../../core/pagination/pagination.service"; import { PaginationService } from '../../../core/pagination/pagination.service';
import { DspaceRestResponseParsingService } from "../../../core/data/dspace-rest-response-parsing.service"; import { RemoteData } from '../../../core/data/remote-data';
import { RemoteData } from "../../../core/data/remote-data"; import { GetRequest } from '../../../core/data/request.models';
import { SearchFilterConfig } from "../../../shared/search/models/search-filter-config.model"; import { GenericConstructor } from '../../../core/shared/generic-constructor';
import { GetRequest } from "../../../core/data/request.models"; import { ResponseParsingService } from '../../../core/data/parsing.service';
import { GenericConstructor } from "../../../core/shared/generic-constructor"; import { hasNoValue, isNotEmpty } from '../../../shared/empty.util';
import { ResponseParsingService } from "../../../core/data/parsing.service"; import { AdminNotifyFacetResponseParsingService } from './admin-notify-facet-response-parsing.service';
import { FacetConfigResponseParsingService } from "../../../core/data/facet-config-response-parsing.service"; import { AdminNotifySearchFilterConfig } from './admin-notify-search-filter-config';
import { FacetConfigResponse } from "../../../shared/search/models/facet-config-response.model"; import { AdminNotifyFacetConfigResponse } from './admin-notify-facet-config-response.model';
import { hasNoValue, isNotEmpty } from "../../../shared/empty.util"; import { SearchFilter } from '../../../shared/search/models/search-filter.model';
import { AdminNotifyFacetResponseParsingService } from "./admin-notify-facet-response-parsing.service";
import { AdminNotifySearchFilterConfig } from "./admin-notify-search-filter-config";
import { AdminNotifyFacetConfigResponse } from "./admin-notify-facet-config-response.model";
import { SearchFilter } from "../../../shared/search/models/search-filter.model";
@@ -64,7 +60,7 @@ export class AdminNotifySearchConfigurationService extends SearchConfigurationSe
* Set prefix to be used for route filters * Set prefix to be used for route filters
* @param prefix * @param prefix
*/ */
setParamPrefix(prefix: string) : void { setParamPrefix(prefix: string): void {
this.paramPrefix = prefix; this.paramPrefix = prefix;
} }

View File

@@ -1,21 +1,24 @@
import { typedObject } from '../../../core/cache/builders/build-decorators'; import { typedObject } from '../../../core/cache/builders/build-decorators';
import { SearchFilterConfig } from "../../../shared/search/models/search-filter-config.model"; import { SearchFilterConfig } from '../../../shared/search/models/search-filter-config.model';
import { autoserialize, autoserializeAs, deserialize } from "cerialize"; import { autoserialize, autoserializeAs, deserialize } from 'cerialize';
import { HALLink } from "../../../core/shared/hal-link.model"; import { HALLink } from '../../../core/shared/hal-link.model';
import { excludeFromEquals } from "../../../core/utilities/equals.decorators"; import { excludeFromEquals } from '../../../core/utilities/equals.decorators';
import { SEARCH_FILTER_CONFIG } from "../../../shared/search/models/types/search-filter-config.resource-type"; import { SEARCH_FILTER_CONFIG } from '../../../shared/search/models/types/search-filter-config.resource-type';
import { FilterType } from "../../../shared/search/models/filter-type.model"; import { FilterType } from '../../../shared/search/models/filter-type.model';
/** /**
* The configuration for a search filter * The configuration for a search filter
*/ */
@typedObject @typedObject
export class AdminNotifySearchFilterConfig implements SearchFilterConfig { export class AdminNotifySearchFilterConfig implements SearchFilterConfig {
static type = SEARCH_FILTER_CONFIG;
/**
* The prefix of this filter
*/
@autoserialize @autoserialize
namePrefix: string; namePrefix: string;
static type = SEARCH_FILTER_CONFIG;
/** /**
* The object type, * The object type,
* hardcoded because rest doesn't set one. * hardcoded because rest doesn't set one.
@@ -87,4 +90,5 @@ export class AdminNotifySearchFilterConfig implements SearchFilterConfig {
*/ */
get paramName(): string { get paramName(): string {
return `${this.namePrefix}.${this.name}`; return `${this.namePrefix}.${this.name}`;
}} }
}

View File

@@ -200,9 +200,9 @@ import { NotifyRequestsStatusDataService } from './data/notify-services-status-d
import { AdminNotifyMessage } from '../admin/admin-notify-dashboard/models/admin-notify-message.model'; import { AdminNotifyMessage } from '../admin/admin-notify-dashboard/models/admin-notify-message.model';
import { import {
AdminNotifyFacetResponseParsingService AdminNotifyFacetResponseParsingService
} from "../admin/admin-notify-dashboard/config/admin-notify-facet-response-parsing.service"; } from '../admin/admin-notify-dashboard/config/admin-notify-facet-response-parsing.service';
import { FILTER_SEARCH } from "../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../admin/admin-notify-dashboard/admin-notify-dashboard.component';
import { AdminNotifySearchFilterService } from "../admin/admin-notify-dashboard/config/admin-notify-filter-service"; import { AdminNotifySearchFilterService } from '../admin/admin-notify-dashboard/config/admin-notify-filter-service';
/** /**

View File

@@ -11,7 +11,7 @@ import { hasValue } from '../../../../../empty.util';
import { currentPath } from '../../../../../utils/route.utils'; import { currentPath } from '../../../../../utils/route.utils';
import { getFacetValueForType } from '../../../../search.utils'; import { getFacetValueForType } from '../../../../search.utils';
import { PaginationService } from '../../../../../../core/pagination/pagination.service'; import { PaginationService } from '../../../../../../core/pagination/pagination.service';
import { FILTER_SEARCH } from "../../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
@Component({ @Component({
selector: 'ds-search-facet-option', selector: 'ds-search-facet-option',

View File

@@ -14,7 +14,7 @@ import { SearchConfigurationService } from '../../../../../../core/shared/search
import { hasValue } from '../../../../../empty.util'; import { hasValue } from '../../../../../empty.util';
import { currentPath } from '../../../../../utils/route.utils'; import { currentPath } from '../../../../../utils/route.utils';
import { PaginationService } from '../../../../../../core/pagination/pagination.service'; import { PaginationService } from '../../../../../../core/pagination/pagination.service';
import { FILTER_SEARCH } from "../../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
const rangeDelimiter = '-'; const rangeDelimiter = '-';

View File

@@ -10,7 +10,7 @@ import { FacetValue } from '../../../../models/facet-value.model';
import { currentPath } from '../../../../../utils/route.utils'; import { currentPath } from '../../../../../utils/route.utils';
import { getFacetValueForType } from '../../../../search.utils'; import { getFacetValueForType } from '../../../../search.utils';
import { PaginationService } from '../../../../../../core/pagination/pagination.service'; import { PaginationService } from '../../../../../../core/pagination/pagination.service';
import { FILTER_SEARCH } from "../../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
@Component({ @Component({
selector: 'ds-search-facet-selected-option', selector: 'ds-search-facet-selected-option',

View File

@@ -35,7 +35,7 @@ import { currentPath } from '../../../../utils/route.utils';
import { getFacetValueForType, stripOperatorFromFilterValue } from '../../../search.utils'; import { getFacetValueForType, stripOperatorFromFilterValue } from '../../../search.utils';
import { createPendingRemoteDataObject } from '../../../../remote-data.utils'; import { createPendingRemoteDataObject } from '../../../../remote-data.utils';
import { FacetValues } from '../../../models/facet-values.model'; import { FacetValues } from '../../../models/facet-values.model';
import { FILTER_SEARCH } from "../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
@Component({ @Component({
selector: 'ds-search-facet-filter', selector: 'ds-search-facet-filter',

View File

@@ -1,4 +1,4 @@
import { Component, Inject, Input, OnInit, Optional } from '@angular/core'; import { Component, Inject, Input, OnInit } from '@angular/core';
import { BehaviorSubject, Observable, of as observableOf } from 'rxjs'; import { BehaviorSubject, Observable, of as observableOf } from 'rxjs';
import { filter, map, startWith, switchMap, take } from 'rxjs/operators'; import { filter, map, startWith, switchMap, take } from 'rxjs/operators';
@@ -11,7 +11,7 @@ import { SearchService } from '../../../../core/shared/search/search.service';
import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service'; import { SearchConfigurationService } from '../../../../core/shared/search/search-configuration.service';
import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component'; import { SEARCH_CONFIG_SERVICE } from '../../../../my-dspace-page/my-dspace-page.component';
import { SequenceService } from '../../../../core/shared/sequence.service'; import { SequenceService } from '../../../../core/shared/sequence.service';
import { FILTER_SEARCH } from "../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
@Component({ @Component({
selector: 'ds-search-filter', selector: 'ds-search-filter',

View File

@@ -26,7 +26,7 @@ import { PageInfo } from '../../../../../core/shared/page-info.model';
import { environment } from '../../../../../../environments/environment'; import { environment } from '../../../../../../environments/environment';
import { addOperatorToFilterValue } from '../../../search.utils'; import { addOperatorToFilterValue } from '../../../search.utils';
import { VocabularyTreeviewModalComponent } from '../../../../form/vocabulary-treeview-modal/vocabulary-treeview-modal.component'; import { VocabularyTreeviewModalComponent } from '../../../../form/vocabulary-treeview-modal/vocabulary-treeview-modal.component';
import { FILTER_SEARCH } from "../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
@Component({ @Component({
selector: 'ds-search-hierarchy-filter', selector: 'ds-search-hierarchy-filter',

View File

@@ -21,7 +21,7 @@ import { SearchConfigurationService } from '../../../../../core/shared/search/se
import { RouteService } from '../../../../../core/services/route.service'; import { RouteService } from '../../../../../core/services/route.service';
import { hasValue } from '../../../../empty.util'; import { hasValue } from '../../../../empty.util';
import { yearFromString } from 'src/app/shared/date.util'; import { yearFromString } from 'src/app/shared/date.util';
import { FILTER_SEARCH } from "../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
/** /**
* The suffix for a range filters' minimum in the frontend URL * The suffix for a range filters' minimum in the frontend URL

View File

@@ -12,7 +12,7 @@ import { SearchFilterService } from '../../../core/shared/search/search-filter.s
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component'; import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-page.component';
import { currentPath } from '../../utils/route.utils'; import { currentPath } from '../../utils/route.utils';
import { hasValue } from '../../empty.util'; import { hasValue } from '../../empty.util';
import { FILTER_SEARCH } from "../../../admin/admin-notify-dashboard/admin-notify-dashboard.component"; import { FILTER_SEARCH } from '../../../admin/admin-notify-dashboard/admin-notify-dashboard.component';
@Component({ @Component({
selector: 'ds-search-filters', selector: 'ds-search-filters',