From df23edf06b9636893471bc732087ad3c8c75740d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 4 Oct 2021 22:44:27 +0300 Subject: [PATCH] File drop styles --- src/assets/icons/upload.svg | 9 +++++++++ src/assets/styles/common-file-drop.scss | 26 +++++++++++++++++++++++++ src/assets/styles/common-styles.scss | 1 + src/lib/icons/icons.module.ts | 3 ++- src/lib/services/dialog.service.ts | 12 ++++++------ 5 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 src/assets/icons/upload.svg create mode 100644 src/assets/styles/common-file-drop.scss diff --git a/src/assets/icons/upload.svg b/src/assets/icons/upload.svg new file mode 100644 index 0000000..31dfde2 --- /dev/null +++ b/src/assets/icons/upload.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/src/assets/styles/common-file-drop.scss b/src/assets/styles/common-file-drop.scss new file mode 100644 index 0000000..40fae90 --- /dev/null +++ b/src/assets/styles/common-file-drop.scss @@ -0,0 +1,26 @@ +.file-drop-section { + position: fixed; + top: 0; + bottom: 0; + right: 0; + left: 0; + width: 100vw; + height: 100vh; + z-index: 1000; + padding: 12px; + opacity: 0.7; + background: var(--iqser-white); + justify-content: center; + align-items: center; + display: flex; + flex-direction: column; + + mat-icon { + height: 60px; + width: 60px; + } + + .heading-xl { + margin-top: 24px; + } +} diff --git a/src/assets/styles/common-styles.scss b/src/assets/styles/common-styles.scss index 1ec0cee..86408b1 100644 --- a/src/assets/styles/common-styles.scss +++ b/src/assets/styles/common-styles.scss @@ -25,3 +25,4 @@ @use 'common-toggle'; @use 'common-toggle-button'; @use 'common-tooltips'; +@use 'common-file-drop'; diff --git a/src/lib/icons/icons.module.ts b/src/lib/icons/icons.module.ts index 00649ac..8fdbc45 100644 --- a/src/lib/icons/icons.module.ts +++ b/src/lib/icons/icons.module.ts @@ -34,7 +34,8 @@ export class IqserIconsModule { 'sort-asc', 'sort-desc', 'status-collapse', - 'status-expand' + 'status-expand', + 'upload' ]); icons.forEach(icon => { _iconRegistry.addSvgIconInNamespace('iqser', icon, _sanitizer.bypassSecurityTrustResourceUrl(`/assets/icons/${icon}.svg`)); diff --git a/src/lib/services/dialog.service.ts b/src/lib/services/dialog.service.ts index 5b47fb4..e9bf19f 100644 --- a/src/lib/services/dialog.service.ts +++ b/src/lib/services/dialog.service.ts @@ -6,18 +6,18 @@ export const largeDialogConfig: MatDialogConfig = { width: '90vw', maxWidth: '90vw', maxHeight: '90vh', - autoFocus: false, + autoFocus: false } as const; export const defaultDialogConfig: MatDialogConfig = { width: '662px', maxWidth: '90vw', - autoFocus: false, + autoFocus: false } as const; @Injectable() export abstract class DialogService { - protected readonly _config: { + protected abstract readonly _config: { [key in T]: { component: ComponentType; dialogConfig?: MatDialogConfig; @@ -30,8 +30,8 @@ export abstract class DialogService { type: T, $event: MouseEvent, data: unknown, - cb?: (...params) => unknown, - finallyCb?: (...params) => unknown | Promise, + cb?: (...params: unknown[]) => unknown, + finallyCb?: (...params: unknown[]) => unknown | Promise ): MatDialogRef { const config = this._config[type]; @@ -39,7 +39,7 @@ export abstract class DialogService { const ref = this._dialog.open(config.component, { ...defaultDialogConfig, ...(config.dialogConfig || {}), - data, + data }); // eslint-disable-next-line @typescript-eslint/no-misused-promises ref.afterClosed().subscribe(async result => {