Skip to content

Commit 8e5c4a7

Browse files
committed
Make some request-copy components themeable.
1 parent 84d8a61 commit 8e5c4a7

6 files changed

Lines changed: 80 additions & 5 deletions

File tree

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: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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+
16+
export class ThemedEmailRequestCopyComponent extends ThemedComponent<EmailRequestCopyComponent> {
17+
/**
18+
* Event emitter for sending the email
19+
*/
20+
@Output() send: EventEmitter<RequestCopyEmail> = new EventEmitter<RequestCopyEmail>();
21+
22+
/**
23+
* The subject of the email
24+
*/
25+
@Input() subject: string;
26+
27+
/**
28+
* The contents of the email
29+
*/
30+
@Input() message: string;
31+
32+
protected inAndOutputNames: (keyof EmailRequestCopyComponent & keyof this)[] = ['send', 'subject', 'message'];
33+
34+
protected getComponentName(): string {
35+
return 'EmailRequestCopyComponent';
36+
}
37+
38+
protected importThemedComponent(themeName: string): Promise<any> {
39+
return import(`../../../themes/${themeName}/app/request-copy/email-request-copy/email-request-copy.component`);
40+
}
41+
42+
protected importUnthemedComponent(): Promise<any> {
43+
return import('./email-request-copy.component');
44+
}
45+
}

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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ 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';
66
import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component';
7-
import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component';
7+
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
88

99
@NgModule({
1010
imports: [
@@ -25,7 +25,7 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co
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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-d
55
import { RequestCopyRoutingModule } from './request-copy-routing.module';
66
import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component';
77
import { EmailRequestCopyComponent } from './email-request-copy/email-request-copy.component';
8+
import { ThemedEmailRequestCopyComponent } from './email-request-copy/themed-email-request-copy.component';
89
import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component';
10+
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
911

1012
@NgModule({
1113
imports: [
@@ -17,7 +19,9 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co
1719
GrantDenyRequestCopyComponent,
1820
DenyRequestCopyComponent,
1921
EmailRequestCopyComponent,
22+
ThemedEmailRequestCopyComponent,
2023
GrantRequestCopyComponent,
24+
ThemedGrantRequestCopyComponent,
2125
],
2226
providers: []
2327
})

0 commit comments

Comments
 (0)