mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-14 13:33:03 +00:00
Replaced filter and take/first rxjs operators with find rxjs operator
This commit is contained in:
@@ -16,7 +16,7 @@ import {
|
|||||||
debounceTime,
|
debounceTime,
|
||||||
distinctUntilChanged,
|
distinctUntilChanged,
|
||||||
filter,
|
filter,
|
||||||
first,
|
find,
|
||||||
flatMap,
|
flatMap,
|
||||||
map,
|
map,
|
||||||
mergeMap,
|
mergeMap,
|
||||||
@@ -29,7 +29,7 @@ import { isNullOrUndefined } from 'util';
|
|||||||
import { Collection } from '../../../core/shared/collection.model';
|
import { Collection } from '../../../core/shared/collection.model';
|
||||||
import { CommunityDataService } from '../../../core/data/community-data.service';
|
import { CommunityDataService } from '../../../core/data/community-data.service';
|
||||||
import { Community } from '../../../core/shared/community.model';
|
import { Community } from '../../../core/shared/community.model';
|
||||||
import { hasValue, isNotEmpty, isEmpty } from '../../../shared/empty.util';
|
import { hasValue, isEmpty, isNotEmpty } from '../../../shared/empty.util';
|
||||||
import { RemoteData } from '../../../core/data/remote-data';
|
import { RemoteData } from '../../../core/data/remote-data';
|
||||||
import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner';
|
import { JsonPatchOperationPathCombiner } from '../../../core/json-patch/builder/json-patch-operation-path-combiner';
|
||||||
import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder';
|
import { JsonPatchOperationsBuilder } from '../../../core/json-patch/builder/json-patch-operations-builder';
|
||||||
@@ -107,13 +107,11 @@ export class SubmissionFormCollectionComponent implements OnChanges, OnInit {
|
|||||||
// @TODO replace with search/top browse endpoint
|
// @TODO replace with search/top browse endpoint
|
||||||
// @TODO implement community/subcommunity hierarchy
|
// @TODO implement community/subcommunity hierarchy
|
||||||
const listCollection$ = this.communityDataService.findAll().pipe(
|
const listCollection$ = this.communityDataService.findAll().pipe(
|
||||||
filter((communities: RemoteData<PaginatedList<Community>>) => isNotEmpty(communities.payload)),
|
find((communities: RemoteData<PaginatedList<Community>>) => isNotEmpty(communities.payload)),
|
||||||
first(),
|
|
||||||
mergeMap((communities: RemoteData<PaginatedList<Community>>) => communities.payload.page),
|
mergeMap((communities: RemoteData<PaginatedList<Community>>) => communities.payload.page),
|
||||||
flatMap((communityData: Community) => {
|
flatMap((communityData: Community) => {
|
||||||
return communityData.collections.pipe(
|
return communityData.collections.pipe(
|
||||||
filter((collections: RemoteData<PaginatedList<Collection>>) => !collections.isResponsePending && collections.hasSucceeded),
|
find((collections: RemoteData<PaginatedList<Collection>>) => !collections.isResponsePending && collections.hasSucceeded),
|
||||||
first(),
|
|
||||||
mergeMap((collections: RemoteData<PaginatedList<Collection>>) => collections.payload.page),
|
mergeMap((collections: RemoteData<PaginatedList<Collection>>) => collections.payload.page),
|
||||||
filter((collectionData: Collection) => isNotEmpty(collectionData)),
|
filter((collectionData: Collection) => isNotEmpty(collectionData)),
|
||||||
tap((collectionData: Collection) => {
|
tap((collectionData: Collection) => {
|
||||||
|
@@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, Inject, ViewChild } from '@angular/core';
|
|||||||
import { DynamicFormControlEvent, DynamicFormControlModel } from '@ng-dynamic-forms/core';
|
import { DynamicFormControlEvent, DynamicFormControlModel } from '@ng-dynamic-forms/core';
|
||||||
|
|
||||||
import { Observable, Subscription } from 'rxjs';
|
import { Observable, Subscription } from 'rxjs';
|
||||||
import { distinctUntilChanged, filter, flatMap, map, take, tap } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, find, flatMap, map, take, tap } from 'rxjs/operators';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { isEqual } from 'lodash';
|
import { isEqual } from 'lodash';
|
||||||
|
|
||||||
@@ -160,8 +160,7 @@ export class FormSectionComponent extends SectionModelComponent {
|
|||||||
|
|
||||||
checksForErrors(errors: SubmissionSectionError[]) {
|
checksForErrors(errors: SubmissionSectionError[]) {
|
||||||
this.formService.isFormInitialized(this.formId).pipe(
|
this.formService.isFormInitialized(this.formId).pipe(
|
||||||
filter((status: boolean) => status === true && !this.isUpdating),
|
find((status: boolean) => status === true && !this.isUpdating))
|
||||||
take(1))
|
|
||||||
.subscribe(() => {
|
.subscribe(() => {
|
||||||
this.sectionService.checkSectionErrors(this.submissionId, this.sectionData.id, this.formId, errors, this.sectionData.errors);
|
this.sectionService.checkSectionErrors(this.submissionId, this.sectionData.id, this.formId, errors, this.sectionData.errors);
|
||||||
this.sectionData.errors = errors;
|
this.sectionData.errors = errors;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectorRef, Component, Inject, ViewChild } from '@angular/core';
|
import { ChangeDetectorRef, Component, Inject, ViewChild } from '@angular/core';
|
||||||
|
|
||||||
import { Observable, Subscription } from 'rxjs';
|
import { Observable, Subscription } from 'rxjs';
|
||||||
import { distinctUntilChanged, filter, flatMap, map, take } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, find, flatMap, map, take } from 'rxjs/operators';
|
||||||
import {
|
import {
|
||||||
DynamicCheckboxModel,
|
DynamicCheckboxModel,
|
||||||
DynamicFormControlEvent,
|
DynamicFormControlEvent,
|
||||||
@@ -72,8 +72,7 @@ export class LicenseSectionComponent extends SectionModelComponent {
|
|||||||
this.collectionDataService.findById(this.collectionId).pipe(
|
this.collectionDataService.findById(this.collectionId).pipe(
|
||||||
filter((collectionData: RemoteData<Collection>) => isNotUndefined((collectionData.payload))),
|
filter((collectionData: RemoteData<Collection>) => isNotUndefined((collectionData.payload))),
|
||||||
flatMap((collectionData: RemoteData<Collection>) => collectionData.payload.license),
|
flatMap((collectionData: RemoteData<Collection>) => collectionData.payload.license),
|
||||||
filter((licenseData: RemoteData<License>) => isNotUndefined((licenseData.payload))),
|
find((licenseData: RemoteData<License>) => isNotUndefined((licenseData.payload))))
|
||||||
take(1))
|
|
||||||
.subscribe((licenseData: RemoteData<License>) => {
|
.subscribe((licenseData: RemoteData<License>) => {
|
||||||
this.licenseText = licenseData.payload.text;
|
this.licenseText = licenseData.payload.text;
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
|
|
||||||
import { filter, first } from 'rxjs/operators';
|
import { find } from 'rxjs/operators';
|
||||||
|
|
||||||
import { GroupEpersonService } from '../../../../core/eperson/group-eperson.service';
|
import { GroupEpersonService } from '../../../../core/eperson/group-eperson.service';
|
||||||
import { ResourcePolicy } from '../../../../core/shared/resource-policy.model';
|
import { ResourcePolicy } from '../../../../core/shared/resource-policy.model';
|
||||||
@@ -24,8 +24,7 @@ export class AccessConditionsComponent implements OnInit {
|
|||||||
this.accessConditions.forEach((accessCondition: ResourcePolicy) => {
|
this.accessConditions.forEach((accessCondition: ResourcePolicy) => {
|
||||||
if (isEmpty(accessCondition.name)) {
|
if (isEmpty(accessCondition.name)) {
|
||||||
this.groupService.findById(accessCondition.groupUUID).pipe(
|
this.groupService.findById(accessCondition.groupUUID).pipe(
|
||||||
filter((rd: RemoteData<Group>) => !rd.isResponsePending && rd.hasSucceeded),
|
find((rd: RemoteData<Group>) => !rd.isResponsePending && rd.hasSucceeded))
|
||||||
first())
|
|
||||||
.subscribe((rd: RemoteData<Group>) => {
|
.subscribe((rd: RemoteData<Group>) => {
|
||||||
const group: Group = rd.payload;
|
const group: Group = rd.payload;
|
||||||
const accessConditionEntry = Object.assign({}, accessCondition);
|
const accessConditionEntry = Object.assign({}, accessCondition);
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { ChangeDetectorRef, Component, Inject } from '@angular/core';
|
import { ChangeDetectorRef, Component, Inject } from '@angular/core';
|
||||||
|
|
||||||
import { combineLatest, Observable } from 'rxjs';
|
import { combineLatest, Observable } from 'rxjs';
|
||||||
import { distinctUntilChanged, filter, flatMap, map, reduce, take, tap } from 'rxjs/operators';
|
import { distinctUntilChanged, filter, find, flatMap, map, reduce, take, tap } from 'rxjs/operators';
|
||||||
|
|
||||||
import { SectionModelComponent } from '../models/section.model';
|
import { SectionModelComponent } from '../models/section.model';
|
||||||
import { hasValue, isNotEmpty, isNotUndefined, isUndefined } from '../../../shared/empty.util';
|
import { hasValue, isNotEmpty, isNotUndefined, isUndefined } from '../../../shared/empty.util';
|
||||||
@@ -92,17 +92,15 @@ export class UploadSectionComponent extends SectionModelComponent {
|
|||||||
filter((submissionObject: SubmissionObjectEntry) => isUndefined(this.collectionId) || this.collectionId !== submissionObject.collection),
|
filter((submissionObject: SubmissionObjectEntry) => isUndefined(this.collectionId) || this.collectionId !== submissionObject.collection),
|
||||||
tap((submissionObject: SubmissionObjectEntry) => this.collectionId = submissionObject.collection),
|
tap((submissionObject: SubmissionObjectEntry) => this.collectionId = submissionObject.collection),
|
||||||
flatMap((submissionObject: SubmissionObjectEntry) => this.collectionDataService.findById(submissionObject.collection)),
|
flatMap((submissionObject: SubmissionObjectEntry) => this.collectionDataService.findById(submissionObject.collection)),
|
||||||
filter((rd: RemoteData<Collection>) => isNotUndefined((rd.payload))),
|
find((rd: RemoteData<Collection>) => isNotUndefined((rd.payload))),
|
||||||
take(1),
|
|
||||||
tap((collectionRemoteData: RemoteData<Collection>) => this.collectionName = collectionRemoteData.payload.name),
|
tap((collectionRemoteData: RemoteData<Collection>) => this.collectionName = collectionRemoteData.payload.name),
|
||||||
flatMap((collectionRemoteData: RemoteData<Collection>) => {
|
flatMap((collectionRemoteData: RemoteData<Collection>) => {
|
||||||
return this.collectionDataService.findByHref(
|
return this.collectionDataService.findByHref(
|
||||||
(collectionRemoteData.payload as any)._links.defaultAccessConditions
|
(collectionRemoteData.payload as any)._links.defaultAccessConditions
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
filter((defaultAccessConditionsRemoteData: RemoteData<ResourcePolicy>) =>
|
find((defaultAccessConditionsRemoteData: RemoteData<ResourcePolicy>) =>
|
||||||
defaultAccessConditionsRemoteData.hasSucceeded),
|
defaultAccessConditionsRemoteData.hasSucceeded),
|
||||||
take(1),
|
|
||||||
tap((defaultAccessConditionsRemoteData: RemoteData<ResourcePolicy>) => {
|
tap((defaultAccessConditionsRemoteData: RemoteData<ResourcePolicy>) => {
|
||||||
if (isNotEmpty(defaultAccessConditionsRemoteData.payload)) {
|
if (isNotEmpty(defaultAccessConditionsRemoteData.payload)) {
|
||||||
this.collectionDefaultAccessConditions = Array.isArray(defaultAccessConditionsRemoteData.payload)
|
this.collectionDefaultAccessConditions = Array.isArray(defaultAccessConditionsRemoteData.payload)
|
||||||
@@ -125,8 +123,7 @@ export class UploadSectionComponent extends SectionModelComponent {
|
|||||||
if (accessCondition.hasEndDate === true || accessCondition.hasStartDate === true) {
|
if (accessCondition.hasEndDate === true || accessCondition.hasStartDate === true) {
|
||||||
groups$.push(
|
groups$.push(
|
||||||
this.groupService.findById(accessCondition.groupUUID).pipe(
|
this.groupService.findById(accessCondition.groupUUID).pipe(
|
||||||
filter((rd: RemoteData<Group>) => !rd.isResponsePending && rd.hasSucceeded),
|
find((rd: RemoteData<Group>) => !rd.isResponsePending && rd.hasSucceeded))
|
||||||
take(1))
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@@ -3,7 +3,7 @@ import { HttpHeaders } from '@angular/common/http';
|
|||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
|
|
||||||
import { Observable, of as observableOf, Subscription, timer as observableTimer } from 'rxjs';
|
import { Observable, of as observableOf, Subscription, timer as observableTimer } from 'rxjs';
|
||||||
import { catchError, distinctUntilChanged, filter, first, map, startWith } from 'rxjs/operators';
|
import { catchError, distinctUntilChanged, filter, find, first, map, startWith } from 'rxjs/operators';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
@@ -123,8 +123,7 @@ export class SubmissionService {
|
|||||||
|
|
||||||
getSubmissionSections(submissionId: string): Observable<SectionDataObject[]> {
|
getSubmissionSections(submissionId: string): Observable<SectionDataObject[]> {
|
||||||
return this.getSubmissionObject(submissionId).pipe(
|
return this.getSubmissionObject(submissionId).pipe(
|
||||||
filter((submission: SubmissionObjectEntry) => isNotUndefined(submission.sections) && !submission.isLoading),
|
find((submission: SubmissionObjectEntry) => isNotUndefined(submission.sections) && !submission.isLoading),
|
||||||
first(),
|
|
||||||
map((submission: SubmissionObjectEntry) => submission.sections),
|
map((submission: SubmissionObjectEntry) => submission.sections),
|
||||||
map((sections: SubmissionSectionEntry) => {
|
map((sections: SubmissionSectionEntry) => {
|
||||||
const availableSections: SectionDataObject[] = [];
|
const availableSections: SectionDataObject[] = [];
|
||||||
@@ -284,8 +283,7 @@ export class SubmissionService {
|
|||||||
|
|
||||||
retrieveSubmission(submissionId): Observable<RemoteData<SubmissionObject>> {
|
retrieveSubmission(submissionId): Observable<RemoteData<SubmissionObject>> {
|
||||||
return this.restService.getDataById(this.getSubmissionObjectLinkName(), submissionId).pipe(
|
return this.restService.getDataById(this.getSubmissionObjectLinkName(), submissionId).pipe(
|
||||||
filter((submissionObjects: SubmissionObject[]) => isNotUndefined(submissionObjects)),
|
find((submissionObjects: SubmissionObject[]) => isNotUndefined(submissionObjects)),
|
||||||
first(),
|
|
||||||
map((submissionObjects: SubmissionObject[]) => new RemoteData(
|
map((submissionObjects: SubmissionObject[]) => new RemoteData(
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
|
Reference in New Issue
Block a user