Skip to content

Commit 5d39026

Browse files
authored
Merge pull request DSpace#2245 from mwoodiupui/themeable-request-copy
Make some request-copy components themeable.
2 parents ee3e5ca + c63001c commit 5d39026

17 files changed

Lines changed: 172 additions & 7 deletions

src/app/request-copy/deny-request-copy/deny-request-copy.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ <h3 class="mb-4">{{'deny-request-copy.header' | translate}}</h3>
33
<div *ngIf="itemRequestRD && itemRequestRD.hasSucceeded">
44
<p>{{'deny-request-copy.intro' | translate}}</p>
55

6-
<ds-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="deny($event)"></ds-email-request-copy>
6+
<ds-themed-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="deny($event)"></ds-themed-email-request-copy>
77
</div>
88
<ds-themed-loading *ngIf="!itemRequestRD || itemRequestRD?.isLoading"></ds-themed-loading>
99
</div>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { Component } from '@angular/core';
2+
import { ThemedComponent } from 'src/app/shared/theme-support/themed.component';
3+
4+
import { DenyRequestCopyComponent } from 'src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component';
5+
6+
/**
7+
* Themed wrapper for deny-request-copy.component
8+
*/
9+
@Component({
10+
selector: 'ds-themed-deny-request-copy',
11+
styleUrls: [],
12+
templateUrl: './../../shared/theme-support/themed.component.html',
13+
})
14+
export class ThemedDenyRequestCopyComponent extends ThemedComponent<DenyRequestCopyComponent> {
15+
protected getComponentName(): string {
16+
return 'DenyRequestCopyComponent';
17+
}
18+
19+
protected importThemedComponent(themeName: string): Promise<any> {
20+
return import(`../../../themes/${themeName}/app/request-copy/deny-request-copy/deny-request-copy.component`);
21+
}
22+
23+
protected importUnthemedComponent(): Promise<any> {
24+
return import('./deny-request-copy.component');
25+
}
26+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { Component, EventEmitter, Input, Output } from '@angular/core';
2+
import { ThemedComponent } from 'src/app/shared/theme-support/themed.component';
3+
4+
import { EmailRequestCopyComponent } from './email-request-copy.component';
5+
import { RequestCopyEmail } from './request-copy-email.model';
6+
7+
/**
8+
* Themed wrapper for email-request-copy.component
9+
*/
10+
@Component({
11+
selector: 'ds-themed-email-request-copy',
12+
styleUrls: [],
13+
templateUrl: './../../shared/theme-support/themed.component.html',
14+
})
15+
export class ThemedEmailRequestCopyComponent extends ThemedComponent<EmailRequestCopyComponent> {
16+
/**
17+
* Event emitter for sending the email
18+
*/
19+
@Output() send: EventEmitter<RequestCopyEmail> = new EventEmitter<RequestCopyEmail>();
20+
21+
/**
22+
* The subject of the email
23+
*/
24+
@Input() subject: string;
25+
26+
/**
27+
* The contents of the email
28+
*/
29+
@Input() message: string;
30+
31+
protected inAndOutputNames: (keyof EmailRequestCopyComponent & keyof this)[] = ['send', 'subject', 'message'];
32+
33+
protected getComponentName(): string {
34+
return 'EmailRequestCopyComponent';
35+
}
36+
37+
protected importThemedComponent(themeName: string): Promise<any> {
38+
return import(`../../../themes/${themeName}/app/request-copy/email-request-copy/email-request-copy.component`);
39+
}
40+
41+
protected importUnthemedComponent(): Promise<any> {
42+
return import('./email-request-copy.component');
43+
}
44+
}

src/app/request-copy/grant-request-copy/grant-request-copy.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ <h3 class="mb-4">{{'grant-request-copy.header' | translate}}</h3>
33
<div *ngIf="itemRequestRD && itemRequestRD.hasSucceeded">
44
<p>{{'grant-request-copy.intro' | translate}}</p>
55

6-
<ds-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="grant($event)">
6+
<ds-themed-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="grant($event)">
77
<p>{{ 'grant-deny-request-copy.email.permissions.info' | translate }}</p>
88
<form class="mb-3">
99
<div class="form-check">
1010
<input class="form-check-input" type="checkbox" value="" id="permissions" [(ngModel)]="suggestOpenAccess" name="permissions">
1111
<label class="form-check-label" for="permissions">{{ 'grant-deny-request-copy.email.permissions.label' | translate }}</label>
1212
</div>
1313
</form>
14-
</ds-email-request-copy>
14+
</ds-themed-email-request-copy>
1515
</div>
1616
<ds-themed-loading *ngIf="!itemRequestRD || itemRequestRD?.isLoading"></ds-themed-loading>
1717
</div>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { Component } from '@angular/core';
2+
import { ThemedComponent } from 'src/app/shared/theme-support/themed.component';
3+
import { GrantRequestCopyComponent } from './grant-request-copy.component';
4+
5+
/**
6+
* Themed wrapper for grant-request-copy.component
7+
*/
8+
@Component({
9+
selector: 'ds-themed-grant-request-copy',
10+
styleUrls: [],
11+
templateUrl: './../../shared/theme-support/themed.component.html',
12+
})
13+
14+
export class ThemedGrantRequestCopyComponent extends ThemedComponent<GrantRequestCopyComponent> {
15+
protected getComponentName(): string {
16+
return 'GrantRequestCopyComponent';
17+
}
18+
19+
protected importThemedComponent(themeName: string): Promise<any> {
20+
return import(`../../../themes/${themeName}/app/request-copy/grant-request-copy/grant-request-copy.component`);
21+
}
22+
23+
protected importUnthemedComponent(): Promise<any> {
24+
return import('./grant-request-copy.component');
25+
}
26+
}

src/app/request-copy/request-copy-routing.module.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { RouterModule } from '@angular/router';
33
import { RequestCopyResolver } from './request-copy.resolver';
44
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
55
import { REQUEST_COPY_DENY_PATH, REQUEST_COPY_GRANT_PATH } from './request-copy-routing-paths';
6-
import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component';
7-
import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component';
6+
import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component';
7+
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
88

99
@NgModule({
1010
imports: [
@@ -21,11 +21,11 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co
2121
},
2222
{
2323
path: REQUEST_COPY_DENY_PATH,
24-
component: DenyRequestCopyComponent,
24+
component: ThemedDenyRequestCopyComponent,
2525
},
2626
{
2727
path: REQUEST_COPY_GRANT_PATH,
28-
component: GrantRequestCopyComponent,
28+
component: ThemedGrantRequestCopyComponent,
2929
},
3030
]
3131
}

src/app/request-copy/request-copy.module.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ import { SharedModule } from '../shared/shared.module';
44
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
55
import { RequestCopyRoutingModule } from './request-copy-routing.module';
66
import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component';
7+
import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component';
78
import { EmailRequestCopyComponent } from './email-request-copy/email-request-copy.component';
9+
import { ThemedEmailRequestCopyComponent } from './email-request-copy/themed-email-request-copy.component';
810
import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component';
11+
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
912

1013
@NgModule({
1114
imports: [
@@ -16,8 +19,14 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co
1619
declarations: [
1720
GrantDenyRequestCopyComponent,
1821
DenyRequestCopyComponent,
22+
ThemedDenyRequestCopyComponent,
1923
EmailRequestCopyComponent,
24+
ThemedEmailRequestCopyComponent,
2025
GrantRequestCopyComponent,
26+
ThemedGrantRequestCopyComponent,
27+
],
28+
exports: [
29+
ThemedEmailRequestCopyComponent,
2130
],
2231
providers: []
2332
})

src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.html

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { Component } from '@angular/core';
2+
import {
3+
DenyRequestCopyComponent as BaseComponent
4+
} from 'src/app/request-copy/deny-request-copy/deny-request-copy.component';
5+
6+
@Component({
7+
selector: 'ds-deny-request-copy',
8+
// styleUrls: ['./deny-request-copy.component.scss'],
9+
styleUrls: [],
10+
// templateUrl: './deny-request-copy.component.html',
11+
templateUrl: './../../../../../app/request-copy/deny-request-copy/deny-request-copy.component.html',
12+
})
13+
export class DenyRequestCopyComponent
14+
extends BaseComponent {
15+
}

0 commit comments

Comments
 (0)