From 8e5c4a73dc81069ccbcfbef0a58d3433cc05470e Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 11 May 2023 13:55:53 -0400 Subject: [PATCH 1/4] Make some request-copy components themeable. --- .../deny-request-copy.component.html | 2 +- .../themed-email-request-copy.component.ts | 45 +++++++++++++++++++ .../grant-request-copy.component.html | 4 +- .../themed-grant-request-copy.component.ts | 26 +++++++++++ .../request-copy-routing.module.ts | 4 +- src/app/request-copy/request-copy.module.ts | 4 ++ 6 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts create mode 100644 src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts diff --git a/src/app/request-copy/deny-request-copy/deny-request-copy.component.html b/src/app/request-copy/deny-request-copy/deny-request-copy.component.html index c9e909ccf1..e513212f94 100644 --- a/src/app/request-copy/deny-request-copy/deny-request-copy.component.html +++ b/src/app/request-copy/deny-request-copy/deny-request-copy.component.html @@ -3,7 +3,7 @@

{{'deny-request-copy.intro' | translate}}

- +
diff --git a/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts b/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts new file mode 100644 index 0000000000..6b808288ad --- /dev/null +++ b/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts @@ -0,0 +1,45 @@ +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 { + /** + * Event emitter for sending the email + */ + @Output() send: EventEmitter = new EventEmitter(); + + /** + * 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 { + return import(`../../../themes/${themeName}/app/request-copy/email-request-copy/email-request-copy.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./email-request-copy.component'); + } +} diff --git a/src/app/request-copy/grant-request-copy/grant-request-copy.component.html b/src/app/request-copy/grant-request-copy/grant-request-copy.component.html index 5cb4dbac36..179206566e 100644 --- a/src/app/request-copy/grant-request-copy/grant-request-copy.component.html +++ b/src/app/request-copy/grant-request-copy/grant-request-copy.component.html @@ -3,7 +3,7 @@

{{'grant-request-copy.intro' | translate}}

- +

{{ 'grant-deny-request-copy.email.permissions.info' | translate }}

@@ -11,7 +11,7 @@
-
+
diff --git a/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts b/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts new file mode 100644 index 0000000000..625dcef57a --- /dev/null +++ b/src/app/request-copy/grant-request-copy/themed-grant-request-copy.component.ts @@ -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 { + protected getComponentName(): string { + return 'GrantRequestCopyComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../themes/${themeName}/app/request-copy/grant-request-copy/grant-request-copy.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./grant-request-copy.component'); + } +} diff --git a/src/app/request-copy/request-copy-routing.module.ts b/src/app/request-copy/request-copy-routing.module.ts index e7a205d0aa..c3ac0be46a 100644 --- a/src/app/request-copy/request-copy-routing.module.ts +++ b/src/app/request-copy/request-copy-routing.module.ts @@ -4,7 +4,7 @@ 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 { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component'; @NgModule({ imports: [ @@ -25,7 +25,7 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co }, { path: REQUEST_COPY_GRANT_PATH, - component: GrantRequestCopyComponent, + component: ThemedGrantRequestCopyComponent, }, ] } diff --git a/src/app/request-copy/request-copy.module.ts b/src/app/request-copy/request-copy.module.ts index d55d5ad83f..b5ea3da50c 100644 --- a/src/app/request-copy/request-copy.module.ts +++ b/src/app/request-copy/request-copy.module.ts @@ -5,7 +5,9 @@ import { GrantDenyRequestCopyComponent } from './grant-deny-request-copy/grant-d import { RequestCopyRoutingModule } from './request-copy-routing.module'; import { DenyRequestCopyComponent } from './deny-request-copy/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: [ @@ -17,7 +19,9 @@ import { GrantRequestCopyComponent } from './grant-request-copy/grant-request-co GrantDenyRequestCopyComponent, DenyRequestCopyComponent, EmailRequestCopyComponent, + ThemedEmailRequestCopyComponent, GrantRequestCopyComponent, + ThemedGrantRequestCopyComponent, ], providers: [] }) From dd548c20e9c9cf0144a5ee60f003f65f36238546 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 1 Jun 2023 13:48:17 -0400 Subject: [PATCH 2/4] Add blank custom versions to 'custom' theme. --- .../deny-request-copy.component.html | 0 .../deny-request-copy.component.scss | 1 + .../deny-request-copy.component.ts | 15 +++++++++++++++ .../email-request-copy.component.html | 14 ++++++++++++++ .../email-request-copy.component.scss | 0 .../email-request-copy.component.ts | 15 +++++++++++++++ .../grant-request-copy.component.html | 0 .../grant-request-copy.component.scss | 0 .../grant-request-copy.component.ts | 15 +++++++++++++++ src/themes/custom/lazy-theme.module.ts | 12 ++++++++++++ 10 files changed, 72 insertions(+) create mode 100644 src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.html create mode 100644 src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.scss create mode 100644 src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts create mode 100644 src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html create mode 100644 src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.scss create mode 100644 src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts create mode 100644 src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.html create mode 100644 src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.scss create mode 100644 src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts diff --git a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.html b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.scss b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.scss new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.scss @@ -0,0 +1 @@ + diff --git a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts new file mode 100644 index 0000000000..fb65aae9bc --- /dev/null +++ b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts @@ -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: './../../request-copy/deny-request-copy/deny-request-copy.component.html', +}) +export class DenyRequestCopyComponent + extends BaseComponent { +} diff --git a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html new file mode 100644 index 0000000000..072f4d4a52 --- /dev/null +++ b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html @@ -0,0 +1,14 @@ + + + + + TODO supply a title + + + + +
TODO write content
+ + diff --git a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.scss b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts new file mode 100644 index 0000000000..d4da93a99f --- /dev/null +++ b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts @@ -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: './../../request-copy/email-request-copy/email-request-copy.component.html', +}) +export class EmailRequestCopyComponent + extends BaseComponent { +} diff --git a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.html b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.scss b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts new file mode 100644 index 0000000000..20d0ae90c1 --- /dev/null +++ b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts @@ -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: './../../request-copy/grant-request-copy/grant-request-copy.component.html', +}) +export class GrantRequestCopyComponent + extends BaseComponent { +} diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index b1290cc634..e055018db1 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -145,6 +145,15 @@ 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'; const DECLARATIONS = [ FileSectionComponent, @@ -212,6 +221,9 @@ const DECLARATIONS = [ MediaViewerComponent, MediaViewerImageComponent, MediaViewerVideoComponent, + DenyRequestCopyComponent, + EmailRequestCopyComponent, + GrantRequestCopyComponent, ]; @NgModule({ From 50acff1b598e912fa9b46748b99cad0ec5471e63 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Wed, 7 Jun 2023 12:22:37 -0400 Subject: [PATCH 3/4] Empty the template of local content. --- .../email-request-copy.component.html | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html index 072f4d4a52..e69de29bb2 100644 --- a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html +++ b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.html @@ -1,14 +0,0 @@ - - - - - TODO supply a title - - - - -
TODO write content
- - From c63001c205313d963c4ad5a4a63dd582fc8df71f Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 16 Jun 2023 16:08:18 -0400 Subject: [PATCH 4/4] Fix illogical templateUrl paths. Add missed DenyRequestCopyComponent. --- .../themed-deny-request-copy.component.ts | 26 +++++++++++++++++++ .../themed-email-request-copy.component.ts | 1 - .../request-copy-routing.module.ts | 4 +-- src/app/request-copy/request-copy.module.ts | 5 ++++ .../deny-request-copy.component.ts | 2 +- .../email-request-copy.component.ts | 2 +- .../grant-request-copy.component.ts | 2 +- src/themes/custom/lazy-theme.module.ts | 2 ++ 8 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts diff --git a/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts b/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts new file mode 100644 index 0000000000..664e4c541b --- /dev/null +++ b/src/app/request-copy/deny-request-copy/themed-deny-request-copy.component.ts @@ -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 { + protected getComponentName(): string { + return 'DenyRequestCopyComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../themes/${themeName}/app/request-copy/deny-request-copy/deny-request-copy.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./deny-request-copy.component'); + } +} diff --git a/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts b/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts index 6b808288ad..d010e43060 100644 --- a/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts +++ b/src/app/request-copy/email-request-copy/themed-email-request-copy.component.ts @@ -12,7 +12,6 @@ import { RequestCopyEmail } from './request-copy-email.model'; styleUrls: [], templateUrl: './../../shared/theme-support/themed.component.html', }) - export class ThemedEmailRequestCopyComponent extends ThemedComponent { /** * Event emitter for sending the email diff --git a/src/app/request-copy/request-copy-routing.module.ts b/src/app/request-copy/request-copy-routing.module.ts index c3ac0be46a..4138fc42a6 100644 --- a/src/app/request-copy/request-copy-routing.module.ts +++ b/src/app/request-copy/request-copy-routing.module.ts @@ -3,7 +3,7 @@ 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 { ThemedDenyRequestCopyComponent } from './deny-request-copy/themed-deny-request-copy.component'; import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-grant-request-copy.component'; @NgModule({ @@ -21,7 +21,7 @@ import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-gra }, { path: REQUEST_COPY_DENY_PATH, - component: DenyRequestCopyComponent, + component: ThemedDenyRequestCopyComponent, }, { path: REQUEST_COPY_GRANT_PATH, diff --git a/src/app/request-copy/request-copy.module.ts b/src/app/request-copy/request-copy.module.ts index b5ea3da50c..90d741a879 100644 --- a/src/app/request-copy/request-copy.module.ts +++ b/src/app/request-copy/request-copy.module.ts @@ -4,6 +4,7 @@ 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'; @@ -18,11 +19,15 @@ import { ThemedGrantRequestCopyComponent } from './grant-request-copy/themed-gra declarations: [ GrantDenyRequestCopyComponent, DenyRequestCopyComponent, + ThemedDenyRequestCopyComponent, EmailRequestCopyComponent, ThemedEmailRequestCopyComponent, GrantRequestCopyComponent, ThemedGrantRequestCopyComponent, ], + exports: [ + ThemedEmailRequestCopyComponent, + ], providers: [] }) diff --git a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts index fb65aae9bc..628b2b3f83 100644 --- a/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts +++ b/src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts @@ -8,7 +8,7 @@ import { // styleUrls: ['./deny-request-copy.component.scss'], styleUrls: [], // templateUrl: './deny-request-copy.component.html', - templateUrl: './../../request-copy/deny-request-copy/deny-request-copy.component.html', + templateUrl: './../../../../../app/request-copy/deny-request-copy/deny-request-copy.component.html', }) export class DenyRequestCopyComponent extends BaseComponent { diff --git a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts index d4da93a99f..a0274f6efd 100644 --- a/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts +++ b/src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts @@ -8,7 +8,7 @@ import { // styleUrls: ['./email-request-copy.component.scss'], styleUrls: [], // templateUrl: './email-request-copy.component.html', - templateUrl: './../../request-copy/email-request-copy/email-request-copy.component.html', + templateUrl: './../../../../../app/request-copy/email-request-copy/email-request-copy.component.html', }) export class EmailRequestCopyComponent extends BaseComponent { diff --git a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts index 20d0ae90c1..446044942e 100644 --- a/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts +++ b/src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts @@ -8,7 +8,7 @@ import { // styleUrls: ['./grant-request-copy.component.scss'], styleUrls: [], // templateUrl: './grant-request-copy.component.html', - templateUrl: './../../request-copy/grant-request-copy/grant-request-copy.component.html', + templateUrl: './../../../../../app/request-copy/grant-request-copy/grant-request-copy.component.html', }) export class GrantRequestCopyComponent extends BaseComponent { diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index 6ec946a6ba..b0f94d3ab7 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -153,6 +153,7 @@ import { ThumbnailComponent } from './app/thumbnail/thumbnail.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, @@ -293,6 +294,7 @@ const DECLARATIONS = [ SystemWideAlertModule, NgxGalleryModule, FormModule, + RequestCopyModule, ], declarations: DECLARATIONS, exports: [