Merge pull request #2245 from mwoodiupui/themeable-request-copy

Make some request-copy components themeable.
This commit is contained in:
Tim Donohue
2023-06-20 16:27:45 -05:00
committed by GitHub
17 changed files with 172 additions and 7 deletions

View File

@@ -3,7 +3,7 @@
<div *ngIf="itemRequestRD && itemRequestRD.hasSucceeded">
<p>{{'deny-request-copy.intro' | translate}}</p>
<ds-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="deny($event)"></ds-email-request-copy>
<ds-themed-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="deny($event)"></ds-themed-email-request-copy>
</div>
<ds-themed-loading *ngIf="!itemRequestRD || itemRequestRD?.isLoading"></ds-themed-loading>
</div>

View File

@@ -0,0 +1,26 @@
import { Component } from '@angular/core';
import { ThemedComponent } from 'src/app/shared/theme-support/themed.component';
import { DenyRequestCopyComponent } from 'src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component';
/**
* Themed wrapper for deny-request-copy.component
*/
@Component({
selector: 'ds-themed-deny-request-copy',
styleUrls: [],
templateUrl: './../../shared/theme-support/themed.component.html',
})
export class ThemedDenyRequestCopyComponent extends ThemedComponent<DenyRequestCopyComponent> {
protected getComponentName(): string {
return 'DenyRequestCopyComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../themes/${themeName}/app/request-copy/deny-request-copy/deny-request-copy.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./deny-request-copy.component');
}
}

View File

@@ -0,0 +1,44 @@
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { ThemedComponent } from 'src/app/shared/theme-support/themed.component';
import { EmailRequestCopyComponent } from './email-request-copy.component';
import { RequestCopyEmail } from './request-copy-email.model';
/**
* Themed wrapper for email-request-copy.component
*/
@Component({
selector: 'ds-themed-email-request-copy',
styleUrls: [],
templateUrl: './../../shared/theme-support/themed.component.html',
})
export class ThemedEmailRequestCopyComponent extends ThemedComponent<EmailRequestCopyComponent> {
/**
* Event emitter for sending the email
*/
@Output() send: EventEmitter<RequestCopyEmail> = new EventEmitter<RequestCopyEmail>();
/**
* The subject of the email
*/
@Input() subject: string;
/**
* The contents of the email
*/
@Input() message: string;
protected inAndOutputNames: (keyof EmailRequestCopyComponent & keyof this)[] = ['send', 'subject', 'message'];
protected getComponentName(): string {
return 'EmailRequestCopyComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../themes/${themeName}/app/request-copy/email-request-copy/email-request-copy.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./email-request-copy.component');
}
}

View File

@@ -3,7 +3,7 @@
<div *ngIf="itemRequestRD && itemRequestRD.hasSucceeded">
<p>{{'grant-request-copy.intro' | translate}}</p>
<ds-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="grant($event)">
<ds-themed-email-request-copy [subject]="subject$ | async" [message]="message$ | async" (send)="grant($event)">
<p>{{ 'grant-deny-request-copy.email.permissions.info' | translate }}</p>
<form class="mb-3">
<div class="form-check">
@@ -11,7 +11,7 @@
<label class="form-check-label" for="permissions">{{ 'grant-deny-request-copy.email.permissions.label' | translate }}</label>
</div>
</form>
</ds-email-request-copy>
</ds-themed-email-request-copy>
</div>
<ds-themed-loading *ngIf="!itemRequestRD || itemRequestRD?.isLoading"></ds-themed-loading>
</div>

View File

@@ -0,0 +1,26 @@
import { Component } from '@angular/core';
import { ThemedComponent } from 'src/app/shared/theme-support/themed.component';
import { GrantRequestCopyComponent } from './grant-request-copy.component';
/**
* Themed wrapper for grant-request-copy.component
*/
@Component({
selector: 'ds-themed-grant-request-copy',
styleUrls: [],
templateUrl: './../../shared/theme-support/themed.component.html',
})
export class ThemedGrantRequestCopyComponent extends ThemedComponent<GrantRequestCopyComponent> {
protected getComponentName(): string {
return 'GrantRequestCopyComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../themes/${themeName}/app/request-copy/grant-request-copy/grant-request-copy.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./grant-request-copy.component');
}
}

View File

@@ -3,8 +3,8 @@ import { RouterModule } from '@angular/router';
import { RequestCopyResolver } from './request-copy.resolver';
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
import { REQUEST_COPY_DENY_PATH, REQUEST_COPY_GRANT_PATH } from './request-copy-routing-paths';
import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component';
import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component';
import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component';
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
@NgModule({
imports: [
@@ -21,11 +21,11 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co
},
{
path: REQUEST_COPY_DENY_PATH,
component: DenyRequestCopyComponent,
component: ThemedDenyRequestCopyComponent,
},
{
path: REQUEST_COPY_GRANT_PATH,
component: GrantRequestCopyComponent,
component: ThemedGrantRequestCopyComponent,
},
]
}

View File

@@ -4,8 +4,11 @@ import { SharedModule } from '../shared/shared.module';
import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-deny-request-copy.component';
import { RequestCopyRoutingModule } from './request-copy-routing.module';
import { DenyRequestCopyComponent } from './deny-request-copy/deny-request-copy.component';
import { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component';
import { EmailRequestCopyComponent } from './email-request-copy/email-request-copy.component';
import { ThemedEmailRequestCopyComponent } from './email-request-copy/themed-email-request-copy.component';
import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-copy.component';
import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component';
@NgModule({
imports: [
@@ -16,8 +19,14 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co
declarations: [
GrantDenyRequestCopyComponent,
DenyRequestCopyComponent,
ThemedDenyRequestCopyComponent,
EmailRequestCopyComponent,
ThemedEmailRequestCopyComponent,
GrantRequestCopyComponent,
ThemedGrantRequestCopyComponent,
],
exports: [
ThemedEmailRequestCopyComponent,
],
providers: []
})

View File

@@ -0,0 +1,15 @@
import { Component } from '@angular/core';
import {
DenyRequestCopyComponent as BaseComponent
} from 'src/app/request-copy/deny-request-copy/deny-request-copy.component';
@Component({
selector: 'ds-deny-request-copy',
// styleUrls: ['./deny-request-copy.component.scss'],
styleUrls: [],
// templateUrl: './deny-request-copy.component.html',
templateUrl: './../../../../../app/request-copy/deny-request-copy/deny-request-copy.component.html',
})
export class DenyRequestCopyComponent
extends BaseComponent {
}

View File

@@ -0,0 +1,15 @@
import { Component } from '@angular/core';
import {
EmailRequestCopyComponent as BaseComponent
} from 'src/app/request-copy/email-request-copy/email-request-copy.component';
@Component({
selector: 'ds-email-request-copy',
// styleUrls: ['./email-request-copy.component.scss'],
styleUrls: [],
// templateUrl: './email-request-copy.component.html',
templateUrl: './../../../../../app/request-copy/email-request-copy/email-request-copy.component.html',
})
export class EmailRequestCopyComponent
extends BaseComponent {
}

View File

@@ -0,0 +1,15 @@
import { Component } from '@angular/core';
import {
GrantRequestCopyComponent as BaseComponent
} from 'src/app/request-copy/grant-request-copy/grant-request-copy.component';
@Component({
selector: 'ds-grant-request-copy',
// styleUrls: ['./grant-request-copy.component.scss'],
styleUrls: [],
// templateUrl: './grant-request-copy.component.html',
templateUrl: './../../../../../app/request-copy/grant-request-copy/grant-request-copy.component.html',
})
export class GrantRequestCopyComponent
extends BaseComponent {
}

View File

@@ -140,12 +140,22 @@ import {
MediaViewerVideoComponent
} from './app/item-page/media-viewer/media-viewer-video/media-viewer-video.component';
import { NgxGalleryModule } from '@kolkov/ngx-gallery';
import {
DenyRequestCopyComponent
} from './app/request-copy/deny-request-copy/deny-request-copy.component';
import {
EmailRequestCopyComponent
} from './app/request-copy/email-request-copy/email-request-copy.component';
import {
GrantRequestCopyComponent
} from './app/request-copy/grant-request-copy/grant-request-copy.component';
import { WorkspaceItemsDeletePageComponent } from './app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component';
import { ThumbnailComponent } from './app/thumbnail/thumbnail.component';
import { SubmissionSectionUploadFileComponent } from './app/submission/sections/upload/file/section-upload-file.component';
import { ItemStatusComponent } from './app/item-page/edit-item-page/item-status/item-status.component';
import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component';
import { FormModule } from '../../app/shared/form/form.module';
import { RequestCopyModule } from 'src/app/request-copy/request-copy.module';
const DECLARATIONS = [
FileSectionComponent,
@@ -221,6 +231,9 @@ const DECLARATIONS = [
MediaViewerComponent,
MediaViewerImageComponent,
MediaViewerVideoComponent,
DenyRequestCopyComponent,
EmailRequestCopyComponent,
GrantRequestCopyComponent,
WorkspaceItemsDeletePageComponent,
ThumbnailComponent,
SubmissionSectionUploadFileComponent,
@@ -285,6 +298,7 @@ const DECLARATIONS = [
SystemWideAlertModule,
NgxGalleryModule,
FormModule,
RequestCopyModule,
],
declarations: DECLARATIONS,
exports: [