Merge pull request #932 from atmire/w2p-74356_Issue-867_Missing-labels-externalsources

Submission relationship lookup externalsources: Missing i18n labels & other issues
This commit is contained in:
Tim Donohue
2020-11-17 11:01:29 -06:00
committed by GitHub
7 changed files with 34 additions and 26 deletions

View File

@@ -1,6 +1,6 @@
import { ExternalSourceService } from './external-source.service'; import { ExternalSourceService } from './external-source.service';
import { SearchService } from '../shared/search/search.service'; import { SearchService } from '../shared/search/search.service';
import { concat, map, multicast, startWith, take, takeWhile } from 'rxjs/operators'; import { concat, distinctUntilChanged, map, multicast, startWith, take, takeWhile } from 'rxjs/operators';
import { PaginatedSearchOptions } from '../../shared/search/paginated-search-options.model'; import { PaginatedSearchOptions } from '../../shared/search/paginated-search-options.model';
import { ReplaySubject } from 'rxjs/internal/ReplaySubject'; import { ReplaySubject } from 'rxjs/internal/ReplaySubject';
import { RemoteData } from './remote-data'; import { RemoteData } from './remote-data';
@@ -91,7 +91,8 @@ export class LookupRelationService {
getAllSucceededRemoteData(), getAllSucceededRemoteData(),
getRemoteDataPayload(), getRemoteDataPayload(),
map((results: PaginatedList<ExternalSourceEntry>) => results.totalElements), map((results: PaginatedList<ExternalSourceEntry>) => results.totalElements),
startWith(0) startWith(0),
distinctUntilChanged()
); );
} }

View File

@@ -7,6 +7,7 @@ import { Component, OnInit } from '@angular/core';
import { Metadata } from '../../../../../core/shared/metadata.utils'; import { Metadata } from '../../../../../core/shared/metadata.utils';
import { MetadataValue } from '../../../../../core/shared/metadata.models'; import { MetadataValue } from '../../../../../core/shared/metadata.models';
@listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModal)
@listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModalWithNameVariants) @listableObjectComponent(ExternalSourceEntry, ViewMode.ListElement, Context.EntitySearchModalWithNameVariants)
@Component({ @Component({
selector: 'ds-external-source-entry-list-submission-element', selector: 'ds-external-source-entry-list-submission-element',

View File

@@ -407,7 +407,7 @@ export class DsDynamicFormControlContainerComponent extends DynamicFormControlCo
modalComp.repeatable = this.model.repeatable; modalComp.repeatable = this.model.repeatable;
modalComp.listId = this.listId; modalComp.listId = this.listId;
modalComp.relationshipOptions = this.model.relationship; modalComp.relationshipOptions = this.model.relationship;
modalComp.label = this.model.label; modalComp.label = this.model.relationship.relationshipType;
modalComp.metadataFields = this.model.metadataFields; modalComp.metadataFields = this.model.metadataFields;
modalComp.item = this.item; modalComp.item = this.item;
modalComp.collection = this.collection; modalComp.collection = this.collection;

View File

@@ -1,5 +1,5 @@
import { Component, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core'; import { Component, EventEmitter, NgZone, OnDestroy, OnInit, Output } from '@angular/core';
import { combineLatest, Observable, Subscription, zip as observableZip } from 'rxjs'; import { combineLatest as observableCombineLatest, Observable, Subscription } from 'rxjs';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
import { hasValue } from '../../../../empty.util'; import { hasValue } from '../../../../empty.util';
import { map, skip, switchMap, take } from 'rxjs/operators'; import { map, skip, switchMap, take } from 'rxjs/operators';
@@ -157,7 +157,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy
select(...selectableObjects: Array<SearchResult<Item>>) { select(...selectableObjects: Array<SearchResult<Item>>) {
this.zone.runOutsideAngular( this.zone.runOutsideAngular(
() => { () => {
const obs: Observable<any[]> = combineLatest(...selectableObjects.map((sri: SearchResult<Item>) => { const obs: Observable<any[]> = observableCombineLatest(...selectableObjects.map((sri: SearchResult<Item>) => {
this.addNameVariantSubscription(sri); this.addNameVariantSubscription(sri);
return this.relationshipService.getNameVariant(this.listId, sri.indexableObject.uuid) return this.relationshipService.getNameVariant(this.listId, sri.indexableObject.uuid)
.pipe( .pipe(
@@ -223,7 +223,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy
switchMap((options) => this.lookupRelationService.getTotalLocalResults(this.relationshipOptions, options)) switchMap((options) => this.lookupRelationService.getTotalLocalResults(this.relationshipOptions, options))
); );
const externalSourcesAndOptions$ = combineLatest( const externalSourcesAndOptions$ = observableCombineLatest(
this.externalSourcesRD$.pipe( this.externalSourcesRD$.pipe(
getAllSucceededRemoteData(), getAllSucceededRemoteData(),
getRemoteDataPayload() getRemoteDataPayload()
@@ -233,7 +233,7 @@ export class DsDynamicLookupRelationModalComponent implements OnInit, OnDestroy
this.totalExternal$ = externalSourcesAndOptions$.pipe( this.totalExternal$ = externalSourcesAndOptions$.pipe(
switchMap(([sources, options]) => switchMap(([sources, options]) =>
observableZip(...sources.page.map((source: ExternalSource) => this.lookupRelationService.getTotalExternalResults(source, options)))) observableCombineLatest(...sources.page.map((source: ExternalSource) => this.lookupRelationService.getTotalExternalResults(source, options))))
); );
} }

View File

@@ -1,4 +1,4 @@
<div class="d-inline-block mr-2"> <div class="mr-2">
<button (click)="importObject.emit(object)" <button (click)="importObject.emit(object)"
class="btn btn-outline-primary btn-sm float-left" class="btn btn-outline-primary btn-sm float-left"
title="{{importConfig?.buttonLabel | translate}}"> title="{{importConfig?.buttonLabel | translate}}">

View File

@@ -12,20 +12,16 @@
(sortFieldChange)="onSortFieldChange($event)" (sortFieldChange)="onSortFieldChange($event)"
(paginationChange)="onPaginationChange($event)"> (paginationChange)="onPaginationChange($event)">
<ul *ngIf="objects?.hasSucceeded" class="list-unstyled" [ngClass]="{'ml-4': selectable}"> <ul *ngIf="objects?.hasSucceeded" class="list-unstyled" [ngClass]="{'ml-4': selectable}">
<li *ngFor="let object of objects?.payload?.page; let i = index; let last = last" class="mt-4 mb-4" [class.border-bottom]="hasBorder && !last"> <li *ngFor="let object of objects?.payload?.page; let i = index; let last = last" class="mt-4 mb-4 d-flex" [class.border-bottom]="hasBorder && !last">
<span *ngIf="selectable"> <ds-selectable-list-item-control *ngIf="selectable" [index]="i"
<ds-selectable-list-item-control [index]="i" [object]="object"
[object]="object" [selectionConfig]="selectionConfig"
[selectionConfig]="selectionConfig" (deselectObject)="deselectObject.emit($event)"
(deselectObject)="deselectObject.emit($event)" (selectObject)="selectObject.emit($event)"></ds-selectable-list-item-control>
(selectObject)="selectObject.emit($event)"></ds-selectable-list-item-control> <ds-importable-list-item-control *ngIf="importable" [object]="object"
</span> [importConfig]="importConfig"
<span *ngIf="importable"> (importObject)="importObject.emit($event)"></ds-importable-list-item-control>
<ds-importable-list-item-control [object]="object" <ds-listable-object-component-loader [object]="object" [viewMode]="viewMode" [index]="i" [context]="context" [linkType]="linkType"
[importConfig]="importConfig"
(importObject)="importObject.emit($event)"></ds-importable-list-item-control>
</span>
<ds-listable-object-component-loader [object]="object" [viewMode]="viewMode" [index]="i" [context]="context" [linkType]="linkType"
[listID]="selectionConfig?.listId"></ds-listable-object-component-loader> [listID]="selectionConfig?.listId"></ds-listable-object-component-loader>
</li> </li>
</ul> </ul>

View File

@@ -2952,7 +2952,7 @@
"submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection", "submission.sections.describe.relationship-lookup.external-source.added": "Successfully added local entry to the selection",
"submission.sections.describe.relationship-lookup.external-source.import-button-title.Author": "Import remote author", "submission.sections.describe.relationship-lookup.external-source.import-button-title.isAuthorOfPublication": "Import remote author",
"submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal", "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal": "Import remote journal",
@@ -2960,11 +2960,11 @@
"submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume", "submission.sections.describe.relationship-lookup.external-source.import-button-title.Journal Volume": "Import remote journal volume",
"submission.sections.describe.relationship-lookup.external-source.import-modal.Author.title": "Import Remote Author", "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.title": "Import Remote Author",
"submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.local-entity": "Successfully added local author to the selection", "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.local-entity": "Successfully added local author to the selection",
"submission.sections.describe.relationship-lookup.external-source.import-modal.Author.added.new-entity": "Successfully imported and added external author to the selection", "submission.sections.describe.relationship-lookup.external-source.import-modal.isAuthorOfPublication.added.new-entity": "Successfully imported and added external author to the selection",
"submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority", "submission.sections.describe.relationship-lookup.external-source.import-modal.authority": "Authority",
@@ -2986,6 +2986,10 @@
"submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher", "submission.sections.describe.relationship-lookup.external-source.import-modal.head.sherpaPublisher": "Importing from Sherpa Publisher",
"submission.sections.describe.relationship-lookup.external-source.import-modal.head.pubmed": "Importing from PubMed",
"submission.sections.describe.relationship-lookup.external-source.import-modal.head.arxiv": "Importing from arXiv",
"submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import", "submission.sections.describe.relationship-lookup.external-source.import-modal.import": "Import",
"submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal", "submission.sections.describe.relationship-lookup.external-source.import-modal.Journal.title": "Import Remote Journal",
@@ -3040,6 +3044,10 @@
"submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})", "submission.sections.describe.relationship-lookup.search-tab.tab-title.lcname": "LC Names ({{ count }})",
"submission.sections.describe.relationship-lookup.search-tab.tab-title.pubmed": "PubMed ({{ count }})",
"submission.sections.describe.relationship-lookup.search-tab.tab-title.arxiv": "arXiv ({{ count }})",
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies", "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingAgencyOfPublication": "Search for Funding Agencies",
"submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding", "submission.sections.describe.relationship-lookup.search-tab.tab-title.isFundingOfPublication": "Search for Funding",
@@ -3094,6 +3102,8 @@
"submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results", "submission.sections.describe.relationship-lookup.selection-tab.title.pubmed": "Search Results",
"submission.sections.describe.relationship-lookup.selection-tab.title.arxiv": "Search Results",
"submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.", "submission.sections.describe.relationship-lookup.name-variant.notification.content": "Would you like to save \"{{ value }}\" as a name variant for this person so you and others can reuse it for future submissions? If you don\'t you can still use it for this submission.",
"submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant", "submission.sections.describe.relationship-lookup.name-variant.notification.confirm": "Save a new name variant",