Skip to content

Commit eee7267

Browse files
authored
Merge pull request DSpace#2338 from alexandrevryghem/improve-confirmation-modal_contribute-main
Made ConfirmationModalComponent more generic
2 parents a59f371 + 7998ef4 commit eee7267

9 files changed

Lines changed: 16 additions & 15 deletions

File tree

src/app/access-control/epeople-registry/epeople-registry.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ export class EPeopleRegistryComponent implements OnInit, OnDestroy {
201201
deleteEPerson(ePerson: EPerson) {
202202
if (hasValue(ePerson.id)) {
203203
const modalRef = this.modalService.open(ConfirmationModalComponent);
204-
modalRef.componentInstance.dso = ePerson;
204+
modalRef.componentInstance.name = this.dsoNameService.getName(ePerson);
205205
modalRef.componentInstance.headerLabel = 'confirmation-modal.delete-eperson.header';
206206
modalRef.componentInstance.infoLabel = 'confirmation-modal.delete-eperson.info';
207207
modalRef.componentInstance.cancelLabel = 'confirmation-modal.delete-eperson.cancel';

src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ export class EPersonFormComponent implements OnInit, OnDestroy {
478478
take(1),
479479
switchMap((eperson: EPerson) => {
480480
const modalRef = this.modalService.open(ConfirmationModalComponent);
481-
modalRef.componentInstance.dso = eperson;
481+
modalRef.componentInstance.name = this.dsoNameService.getName(eperson);
482482
modalRef.componentInstance.headerLabel = 'confirmation-modal.delete-eperson.header';
483483
modalRef.componentInstance.infoLabel = 'confirmation-modal.delete-eperson.info';
484484
modalRef.componentInstance.cancelLabel = 'confirmation-modal.delete-eperson.cancel';

src/app/access-control/group-registry/group-form/group-form.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ export class GroupFormComponent implements OnInit, OnDestroy {
420420
delete() {
421421
this.groupDataService.getActiveGroup().pipe(take(1)).subscribe((group: Group) => {
422422
const modalRef = this.modalService.open(ConfirmationModalComponent);
423-
modalRef.componentInstance.dso = group;
423+
modalRef.componentInstance.name = this.dsoNameService.getName(group);
424424
modalRef.componentInstance.headerLabel = this.messagePrefix + '.delete-group.modal.header';
425425
modalRef.componentInstance.infoLabel = this.messagePrefix + '.delete-group.modal.info';
426426
modalRef.componentInstance.cancelLabel = this.messagePrefix + '.delete-group.modal.cancel';

src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ export class WorkspaceItemAdminWorkflowActionsComponent implements OnInit {
124124
*/
125125
deleteSupervisionOrder(supervisionOrderEntry: SupervisionOrderListEntry) {
126126
const modalRef = this.modalService.open(ConfirmationModalComponent);
127-
modalRef.componentInstance.dso = supervisionOrderEntry.group;
127+
modalRef.componentInstance.name = this.dsoNameService.getName(supervisionOrderEntry.group);
128128
modalRef.componentInstance.headerLabel = this.messagePrefix + '.delete-supervision.modal.header';
129129
modalRef.componentInstance.infoLabel = this.messagePrefix + '.delete-supervision.modal.info';
130130
modalRef.componentInstance.cancelLabel = this.messagePrefix + '.delete-supervision.modal.cancel';
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<div>
2-
<div class="modal-header">{{ headerLabel | translate:{ dsoName: dsoNameService.getName(dso) } }}
2+
<div class="modal-header">{{ headerLabel | translate:{ dsoName: name } }}
33
<button type="button" class="close" (click)="close()" aria-label="Close">
44
<span aria-hidden="true">×</span>
55
</button>
66
</div>
77
<div class="modal-body">
8-
<p>{{ infoLabel | translate:{ dsoName: dsoNameService.getName(dso) } }}</p>
8+
<p>{{ infoLabel | translate:{ dsoName: name } }}</p>
99
</div>
1010
<div class="modal-footer">
1111
<button type="button" class="cancel btn btn-outline-secondary" (click)="cancelPressed()" aria-label="Cancel">
12-
<i class="fas fa-times"></i> {{ cancelLabel | translate:{ dsoName: dsoNameService.getName(dso) } }}
12+
<i class="fas fa-times"></i> {{ cancelLabel | translate:{ dsoName: name } }}
1313
</button>
1414
<button type="button" class="confirm btn btn-{{brandColor}}" (click)="confirmPressed()" aria-label="Confirm" ngbAutofocus>
15-
<i *ngIf="confirmIcon" class="{{confirmIcon}}"></i> {{ confirmLabel | translate:{ dsoName: dsoNameService.getName(dso) } }}
15+
<i *ngIf="confirmIcon" class="{{confirmIcon}}"></i> {{ confirmLabel | translate:{ dsoName: name } }}
1616
</button>
1717
</div>
1818
</div>

src/app/shared/confirmation-modal/confirmation-modal.component.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import { Component, EventEmitter, Input, Output } from '@angular/core';
22
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3-
import { DSpaceObject } from '../../core/shared/dspace-object.model';
4-
import { DSONameService } from '../../core/breadcrumbs/dso-name.service';
53

64
@Component({
75
selector: 'ds-confirmation-modal',
@@ -18,7 +16,7 @@ export class ConfirmationModalComponent {
1816
*/
1917
@Input() brandColor = 'primary';
2018

21-
@Input() dso: DSpaceObject;
19+
@Input() name: string;
2220

2321
/**
2422
* An event fired when the cancel or confirm button is clicked, with respectively false or true
@@ -28,7 +26,6 @@ export class ConfirmationModalComponent {
2826

2927
constructor(
3028
protected activeModal: NgbActiveModal,
31-
public dsoNameService: DSONameService,
3229
) {
3330
}
3431

src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { RemoteData } from '../../../../core/data/remote-data';
2020
import { getProcessDetailRoute } from '../../../../process-page/process-page-routing.paths';
2121
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
2222
import { FeatureID } from '../../../../core/data/feature-authorization/feature-id';
23+
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
2324

2425
/**
2526
* Component to wrap a list of existing dso's inside a modal
@@ -38,6 +39,7 @@ export class ExportBatchSelectorComponent extends DSOSelectorModalWrapperCompone
3839
protected notificationsService: NotificationsService, protected translationService: TranslateService,
3940
protected scriptDataService: ScriptDataService,
4041
protected authorizationDataService: AuthorizationDataService,
42+
protected dsoNameService: DSONameService,
4143
private modalService: NgbModal) {
4244
super(activeModal, route);
4345
}
@@ -49,7 +51,7 @@ export class ExportBatchSelectorComponent extends DSOSelectorModalWrapperCompone
4951
navigate(dso: DSpaceObject): Observable<boolean> {
5052
if (dso instanceof Collection) {
5153
const modalRef = this.modalService.open(ConfirmationModalComponent);
52-
modalRef.componentInstance.dso = dso;
54+
modalRef.componentInstance.name = this.dsoNameService.getName(dso);
5355
modalRef.componentInstance.headerLabel = 'confirmation-modal.export-batch.header';
5456
modalRef.componentInstance.infoLabel = 'confirmation-modal.export-batch.info';
5557
modalRef.componentInstance.cancelLabel = 'confirmation-modal.export-batch.cancel';

src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { RemoteData } from '../../../../core/data/remote-data';
2121
import { getProcessDetailRoute } from '../../../../process-page/process-page-routing.paths';
2222
import { AuthorizationDataService } from '../../../../core/data/feature-authorization/authorization-data.service';
2323
import { FeatureID } from '../../../../core/data/feature-authorization/feature-id';
24+
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
2425

2526
/**
2627
* Component to wrap a list of existing dso's inside a modal
@@ -39,6 +40,7 @@ export class ExportMetadataSelectorComponent extends DSOSelectorModalWrapperComp
3940
protected notificationsService: NotificationsService, protected translationService: TranslateService,
4041
protected scriptDataService: ScriptDataService,
4142
protected authorizationDataService: AuthorizationDataService,
43+
protected dsoNameService: DSONameService,
4244
private modalService: NgbModal) {
4345
super(activeModal, route);
4446
}
@@ -50,7 +52,7 @@ export class ExportMetadataSelectorComponent extends DSOSelectorModalWrapperComp
5052
navigate(dso: DSpaceObject): Observable<boolean> {
5153
if (dso instanceof Collection || dso instanceof Community) {
5254
const modalRef = this.modalService.open(ConfirmationModalComponent);
53-
modalRef.componentInstance.dso = dso;
55+
modalRef.componentInstance.name = this.dsoNameService.getName(dso);
5456
modalRef.componentInstance.headerLabel = 'confirmation-modal.export-metadata.header';
5557
modalRef.componentInstance.infoLabel = 'confirmation-modal.export-metadata.info';
5658
modalRef.componentInstance.cancelLabel = 'confirmation-modal.export-metadata.cancel';

src/app/shared/subscriptions/subscription-view/subscription-view.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export class SubscriptionViewComponent {
8282
deleteSubscriptionPopup(subscription: Subscription) {
8383
if (hasValue(subscription.id)) {
8484
const modalRef = this.modalService.open(ConfirmationModalComponent);
85-
modalRef.componentInstance.dso = this.dso;
85+
modalRef.componentInstance.name = this.dsoNameService.getName(this.dso);
8686
modalRef.componentInstance.headerLabel = 'confirmation-modal.delete-subscription.header';
8787
modalRef.componentInstance.infoLabel = 'confirmation-modal.delete-subscription.info';
8888
modalRef.componentInstance.cancelLabel = 'confirmation-modal.delete-subscription.cancel';

0 commit comments

Comments
 (0)