From 8376c8df4096b9840ca385b05750107f89570910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 14:49:31 +0100 Subject: [PATCH 1/8] Updated information-panel.component.html text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- .../information-panel.component.html | 51 +++++++++---------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.html b/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.html index fb9eb1b..1260738 100644 --- a/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.html +++ b/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.html @@ -1,32 +1,31 @@
-

On this page, you can:

-
    -
  • - See Alerts: View the current status and details of - any alerts that have been triggered. Alerts are categorized by their - severity. -
  • -
  • - See all backups with basic data: Browse through a - list of all backups, including essential information such as Backup - ID, size and creation date. -
  • -
  • - See how the size of the backup evolved over time: - Visualize the changes in backup sizes over time through the - Recent Backup Timeline chart, helping you - understand the growth and trends in your backup data. -
  • -
  • - See Recent Backup Size Distribution: Analyze the - recent distribution of backup sizes through the - Recent Backup Size Distribution chart. -
  • -
- -

More insights will follow.

+ +

+ Welcome to the Metadata Analyzer! +

+ The Metadata Analyzer is a powerful tool designed to provide in-depth insights into your backup data by + analyzing metadata generated during backup creation. With a focus on efficiency and clarity, the Metadata + Analyzer processes and evaluates key information, to provide valuable insights about apects including: +
+
+
    +
  • Backup Creation Date: Track when backups were generated to ensure timely data management.
  • +
  • Backup Size: Gain visibility into storage consumption and optimize capacity planning.
  • +
  • Backup Tasks: Monitor and assess the specific tasks performed during the backup process.
  • +
+
+ Alert Functionality for Proactive Management + Stay informed with our integrated alert system. Subscribed users can receive real-time notifications via email + about critical events or thresholds, ensuring they are always ahead of potential issues. +
+ Whether you need detailed reports, enhanced monitoring, or proactive alerts, the Metadata Analyzer equips you + with the tools needed to monitore your backups effectively and with confidence. +
+ It is important to note, that this tool does not know or process any content of backups analyzed. All + information is only gathered based on the metadata of the backups made. +
\ No newline at end of file From 08a408e884de20f74bd73f0b17902b4a41a3d242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 15:39:56 +0100 Subject: [PATCH 2/8] Added openable info panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- apps/frontend/src/app/app.module.ts | 7 +- .../component/backups.component.css | 221 ++++++++++-------- .../component/backups.component.html | 11 +- .../component/backups.component.ts | 5 + 4 files changed, 138 insertions(+), 106 deletions(-) diff --git a/apps/frontend/src/app/app.module.ts b/apps/frontend/src/app/app.module.ts index effa95d..b544678 100644 --- a/apps/frontend/src/app/app.module.ts +++ b/apps/frontend/src/app/app.module.ts @@ -16,7 +16,7 @@ import { dataClusterIcon, envelopeIcon, errorStandardIcon, - filterIcon, + filterIcon, helpIcon, homeIcon, lockIcon, plusIcon, @@ -25,7 +25,7 @@ import { tagIcon, trashIcon, uploadCloudIcon, - warningStandardIcon, + warningStandardIcon } from '@cds/core/icon'; import { NgxEchartsModule } from 'ngx-echarts'; import { TestUploadComponent } from './test-upload/component/test-upload/test-upload.component'; @@ -88,7 +88,8 @@ export class AppModule { envelopeIcon, plusIcon, lockIcon, - trashIcon + trashIcon, + helpIcon ); } } diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.css b/apps/frontend/src/app/backups-overview/component/backups.component.css index db506bc..cc05287 100644 --- a/apps/frontend/src/app/backups-overview/component/backups.component.css +++ b/apps/frontend/src/app/backups-overview/component/backups.component.css @@ -1,178 +1,199 @@ .header { - background-color: white; - justify-content: space-around; - position: relative; + background-color: white; + justify-content: space-around; + position: relative; } .filter-inline { - display: inline-flex !important; - align-items: center; + display: inline-flex !important; + align-items: center; } -.alert-info-section { - display: flex; - gap: 40px; - margin: 20px 0; - align-items: center; - position: relative; +.top-section { + display: flex; + gap: 40px; + margin: 20px 0; + align-items: center; + position: relative; +} + +.info-panel { + border: 1px solid #0D233A; + display: flex; + align-items: center; + padding: 2px; + padding-left: 8px; + padding-right: 8px; + border-radius: 8px; + cursor: pointer; + justify-content: space-between; +} + +.info-badge { + color: #0D233A; + width: 30px; + height: 30px; + margin-left: 6px; } .alert-panel, -.info { - flex: 1; +.data-stores-panel { + flex: 1; } .card { - position: relative; - z-index: 1; + position: relative; + z-index: 1; } .card-block { - padding: 20px; + padding: 20px; } .clr-form-control { - margin-top: 0; + margin-top: 0; } .card-header { - display: flex; - justify-content: space-between; - align-items: center; + display: flex; + justify-content: space-between; + align-items: center; } .card-header-title { - margin: 0; - font-weight: 500; + margin: 0; + font-weight: 500; } .card-header-actions { - display: flex; - align-items: center; + display: flex; + align-items: center; } :host ::ng-deep .card-header { - border-bottom: none !important; + border-bottom: none !important; } .btn-group-vertical { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; + display: flex; + flex-direction: column; + align-items: center; + width: 100%; } .btn-group-vertical .btn { - border: 1px solid #0072a3; - color: #0072a3; - background: white; - text-align: center; - padding: 0.5rem 1rem; - font-weight: 500; - width: 100%; - border-radius: 0.15rem; + border: 1px solid #0072a3; + color: #0072a3; + background: white; + text-align: center; + padding: 0.5rem 1rem; + font-weight: 500; + width: 100%; + border-radius: 0.15rem; } .btn-group-vertical .btn.btn-primary { - background: #0072a3; - color: white; + background: #0072a3; + color: white; } + .clr-side-panel { - width: 80% !important; - padding: 0.5rem; - border: 1px solid #ccc; - border-radius: 0.15rem; - background: white; - color: #1b2834; - font-size: 0.875rem; - right: 0; - top: 0; - height: 100vh; - z-index: 1000000; - box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1); + width: 80% !important; + padding: 0.5rem; + border: 1px solid #ccc; + border-radius: 0.15rem; + background: white; + color: #1b2834; + font-size: 0.875rem; + right: 0; + top: 0; + height: 100vh; + z-index: 1000000; + box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1); } + .modal { - z-index: 1000000; + z-index: 1000000; } .side-panel-footer { - padding: 1rem; - border-top: 1px solid #eee; - position: absolute; - bottom: 0; - left: 0; - right: 0; - background: white; + padding: 1rem; + border-top: 1px solid #eee; + position: absolute; + bottom: 0; + left: 0; + right: 0; + background: white; } .backupTaskFilter { - margin-top: 0.8rem; - width: 100%; + margin-top: 0.8rem; + width: 100%; } .backupTaskFilter ::ng-deep .clr-combobox-wrapper { - width: 100%; - border: 1px solid #0072a3; - border-radius: 0.15rem; - background: white; - padding: 10px 15px; + width: 100%; + border: 1px solid #0072a3; + border-radius: 0.15rem; + background: white; + padding: 10px 15px; } .backupTaskFilter ::ng-deep .clr-combobox-input { - width: 100%; - padding: 0.5rem 1rem; - color: #0072a3; - font-weight: 500; - border: none; - background: white; + width: 100%; + padding: 0.5rem 1rem; + color: #0072a3; + font-weight: 500; + border: none; + background: white; } .backupTaskFilter ::ng-deep .clr-combobox-trigger { - color: #0072a3; - border: none; - background: none; - padding-right: 0.5rem; - top: unset; + color: #0072a3; + border: none; + background: none; + padding-right: 0.5rem; + top: unset; } .backupTaskFilter ::ng-deep .clr-combobox-options { - border: 1px solid #0072a3; - border-radius: 0.15rem; - margin-top: 0.25rem; + border: 1px solid #0072a3; + border-radius: 0.15rem; + margin-top: 0.25rem; } .backupTaskFilter ::ng-deep .clr-combobox-options .clr-combobox-option { - padding: 0.5rem 1rem; - color: #0072a3; - font-weight: 500; + padding: 0.5rem 1rem; + color: #0072a3; + font-weight: 500; } .backupTaskFilter ::ng-deep .clr-combobox-options .clr-combobox-option:hover { - background: #0072a3; - color: white; + background: #0072a3; + color: white; } .backupTaskFilter - ::ng-deep - .clr-combobox-options - .clr-combobox-option[aria-selected='true'] { - background: #0072a3; - color: white; +::ng-deep +.clr-combobox-options +.clr-combobox-option[aria-selected='true'] { + background: #0072a3; + color: white; } .backupTaskFilter ::ng-deep .clr-combobox-wrapper .label-combobox-pill { - max-width: none; - font-size: 0.7rem; - padding: 0.15rem 0.5rem; - margin: 0.15rem; - white-space: nowrap; - height: auto; - line-height: 1; + max-width: none; + font-size: 0.7rem; + padding: 0.15rem 0.5rem; + margin: 0.15rem; + white-space: nowrap; + height: auto; + line-height: 1; } .backupTaskFilter ::ng-deep .clr-combobox-options { - width: 100% !important; - min-width: 100%; - max-width: 100%; + width: 100% !important; + min-width: 100%; + max-width: 100%; } diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.html b/apps/frontend/src/app/backups-overview/component/backups.component.html index f73855f..17c58e7 100644 --- a/apps/frontend/src/app/backups-overview/component/backups.component.html +++ b/apps/frontend/src/app/backups-overview/component/backups.component.html @@ -1,11 +1,16 @@

Backups Overview

-
+
+ -
- +
+ About this page + +
+ +
diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.ts b/apps/frontend/src/app/backups-overview/component/backups.component.ts index 15ac9b2..f9e290c 100644 --- a/apps/frontend/src/app/backups-overview/component/backups.component.ts +++ b/apps/frontend/src/app/backups-overview/component/backups.component.ts @@ -25,6 +25,7 @@ export class BackupsComponent implements AfterViewInit { }, ]; + protected isInfoPanelOpen = false; protected filterPanel = false; ngAfterViewInit(): void { @@ -37,4 +38,8 @@ export class BackupsComponent implements AfterViewInit { protected changeFilterPanelState(): void { this.filterPanel = !this.filterPanel; } + + protected toggleInfoPanel() { + this.isInfoPanelOpen = !this.isInfoPanelOpen; + } } From f2601d8cdc1837cb8952ed1ca1958effa372fc12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 15:58:31 +0100 Subject: [PATCH 3/8] Adjusted Project Structure for multiple pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- apps/frontend/src/app/app.module.ts | 14 +++++++------- apps/frontend/src/app/app.routes.ts | 4 ++-- .../alert-panel}/component/alert.component.css | 0 .../alert-panel}/component/alert.component.html | 0 .../component/alert.component.spec.ts | 4 ++-- .../alert-panel}/component/alert.component.ts | 12 ++++++------ .../backup-table/backup-table.component.css | 0 .../backup-table/backup-table.component.html | 0 .../backup-table/backup-table.component.spec.ts | 2 +- .../backup-table/backup-table.component.ts | 2 +- .../component/backupfilter.ts | 0 .../data-stores-panel}/data-stores.component.css | 0 .../data-stores.component.html | 0 .../data-stores.component.spec.ts | 2 +- .../data-stores-panel}/data-stores.component.ts | 4 ++-- .../information-panel.component.css | 0 .../information-panel.component.html | 0 .../information-panel.component.ts | 0 .../component/overview-page.component.css} | 0 .../component/overview-page.component.html} | 0 .../component/overview-page.component.spec.ts} | 10 +++++----- .../component/overview-page.component.ts} | 8 ++++---- .../notification-settings.component.ts | 2 +- .../filter-side-panel}/side-panel.component.css | 0 .../filter-side-panel}/side-panel.component.html | 0 .../side-panel.component.spec.ts | 14 +++++++------- .../filter-side-panel}/side-panel.component.ts | 16 ++++++++-------- .../alert-service}/alert-service.service.spec.ts | 10 +++++----- .../alert-service}/alert-service.service.ts | 4 ++-- .../backup-service.service.spec.ts | 8 ++++---- .../backup-service/backup-service.service.ts | 10 +++++----- .../chart-service/chart-service.service.spec.ts | 2 +- .../chart-service/chart-service.service.ts | 4 ++-- .../data-stores-service.service.spec.ts | 2 +- .../data-stores-service.service.ts | 4 ++-- 35 files changed, 69 insertions(+), 69 deletions(-) rename apps/frontend/src/app/{alert => backups-overview-page/component/alert-panel}/component/alert.component.css (100%) rename apps/frontend/src/app/{alert => backups-overview-page/component/alert-panel}/component/alert.component.html (100%) rename apps/frontend/src/app/{alert => backups-overview-page/component/alert-panel}/component/alert.component.spec.ts (98%) rename apps/frontend/src/app/{alert => backups-overview-page/component/alert-panel}/component/alert.component.ts (94%) create mode 100644 apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.css rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/backup-table/backup-table.component.html (100%) rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/backup-table/backup-table.component.spec.ts (98%) rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/backup-table/backup-table.component.ts (97%) rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/backupfilter.ts (100%) rename apps/frontend/src/app/{data-stores/component => backups-overview-page/component/data-stores-panel}/data-stores.component.css (100%) rename apps/frontend/src/app/{data-stores/component => backups-overview-page/component/data-stores-panel}/data-stores.component.html (100%) rename apps/frontend/src/app/{data-stores/component => backups-overview-page/component/data-stores-panel}/data-stores.component.spec.ts (97%) rename apps/frontend/src/app/{data-stores/component => backups-overview-page/component/data-stores-panel}/data-stores.component.ts (88%) rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/information-panel/information-panel.component.css (100%) rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/information-panel/information-panel.component.html (100%) rename apps/frontend/src/app/{backups-overview => backups-overview-page}/component/information-panel/information-panel.component.ts (100%) rename apps/frontend/src/app/{backups-overview/component/backups.component.css => backups-overview-page/component/overview-page.component.css} (100%) rename apps/frontend/src/app/{backups-overview/component/backups.component.html => backups-overview-page/component/overview-page.component.html} (100%) rename apps/frontend/src/app/{backups-overview/component/backups.component.spec.ts => backups-overview-page/component/overview-page.component.spec.ts} (71%) rename apps/frontend/src/app/{backups-overview/component/backups.component.ts => backups-overview-page/component/overview-page.component.ts} (81%) rename apps/frontend/src/app/{backups-overview/component/side-panel => shared/components/filter-side-panel}/side-panel.component.css (100%) rename apps/frontend/src/app/{backups-overview/component/side-panel => shared/components/filter-side-panel}/side-panel.component.html (100%) rename apps/frontend/src/app/{backups-overview/component/side-panel => shared/components/filter-side-panel}/side-panel.component.spec.ts (93%) rename apps/frontend/src/app/{backups-overview/component/side-panel => shared/components/filter-side-panel}/side-panel.component.ts (93%) rename apps/frontend/src/app/{alert/service => shared/services/alert-service}/alert-service.service.spec.ts (89%) rename apps/frontend/src/app/{alert/service => shared/services/alert-service}/alert-service.service.ts (86%) rename apps/frontend/src/app/{backups-overview/service => shared/services}/backup-service/backup-service.service.spec.ts (92%) rename apps/frontend/src/app/{backups-overview/service => shared/services}/backup-service/backup-service.service.ts (80%) rename apps/frontend/src/app/{backups-overview/service => shared/services}/chart-service/chart-service.service.spec.ts (98%) rename apps/frontend/src/app/{backups-overview/service => shared/services}/chart-service/chart-service.service.ts (99%) rename apps/frontend/src/app/{data-stores/service => shared/services/data-stores-service}/data-stores-service.service.spec.ts (97%) rename apps/frontend/src/app/{data-stores/service => shared/services/data-stores-service}/data-stores-service.service.ts (78%) diff --git a/apps/frontend/src/app/app.module.ts b/apps/frontend/src/app/app.module.ts index b544678..c9f7844 100644 --- a/apps/frontend/src/app/app.module.ts +++ b/apps/frontend/src/app/app.module.ts @@ -30,23 +30,23 @@ import { import { NgxEchartsModule } from 'ngx-echarts'; import { TestUploadComponent } from './test-upload/component/test-upload/test-upload.component'; import { FindTestDataComponent } from './test-upload/component/find-test-data/find-test-data.component'; -import { BackupsComponent } from './backups-overview/component/backups.component'; +import { OverviewPageComponent } from './backups-overview-page/component/overview-page.component'; import { BASE_URL } from './shared/types/configuration'; -import { AlertComponent } from './alert/component/alert.component'; +import { AlertComponent } from './backups-overview-page/component/alert-panel/component/alert.component'; import { NotificationSettingsComponent } from './management/components/settings/notification-settings/notification-settings.component'; import { EmailReceiverSettingsComponent } from './management/components/settings/email-receiver-settings/email-receiver-settings.component'; import { ConfirmDialogComponent } from './shared/components/confirm-dialog/component/confirm-dialog/confirm-dialog.component'; -import { DataStoresComponent } from './data-stores/component/data-stores.component'; -import { InformationPanelComponent } from './backups-overview/component/information-panel/information-panel.component'; -import { BackupTableComponent } from './backups-overview/component/backup-table/backup-table.component'; -import { SidePanelComponent } from './backups-overview/component/side-panel/side-panel.component'; +import { DataStoresComponent } from './backups-overview-page/component/data-stores-panel/data-stores.component'; +import { InformationPanelComponent } from './backups-overview-page/component/information-panel/information-panel.component'; +import { BackupTableComponent } from './backups-overview-page/component/backup-table/backup-table.component'; +import { SidePanelComponent } from './shared/components/filter-side-panel/side-panel.component'; @NgModule({ declarations: [ AppComponent, TestUploadComponent, FindTestDataComponent, - BackupsComponent, + OverviewPageComponent, AlertComponent, NotificationSettingsComponent, EmailReceiverSettingsComponent, diff --git a/apps/frontend/src/app/app.routes.ts b/apps/frontend/src/app/app.routes.ts index d5331da..26607e9 100644 --- a/apps/frontend/src/app/app.routes.ts +++ b/apps/frontend/src/app/app.routes.ts @@ -1,13 +1,13 @@ import { Route } from '@angular/router'; import { TestUploadComponent } from './test-upload/component/test-upload/test-upload.component'; import { FindTestDataComponent } from './test-upload/component/find-test-data/find-test-data.component'; -import { BackupsComponent } from './backups-overview/component/backups.component'; +import { OverviewPageComponent } from './backups-overview-page/component/overview-page.component'; import { EmailReceiverSettingsComponent } from './management/components/settings/email-receiver-settings/email-receiver-settings.component'; export const appRoutes: Route[] = [ { path: 'upload', component: TestUploadComponent }, { path: 'findData', component: FindTestDataComponent }, { path: 'email-receiver', component: EmailReceiverSettingsComponent}, - { path: '', component: BackupsComponent }, + { path: '', component: OverviewPageComponent }, ]; diff --git a/apps/frontend/src/app/alert/component/alert.component.css b/apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.css similarity index 100% rename from apps/frontend/src/app/alert/component/alert.component.css rename to apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.css diff --git a/apps/frontend/src/app/alert/component/alert.component.html b/apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.html similarity index 100% rename from apps/frontend/src/app/alert/component/alert.component.html rename to apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.html diff --git a/apps/frontend/src/app/alert/component/alert.component.spec.ts b/apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.spec.ts similarity index 98% rename from apps/frontend/src/app/alert/component/alert.component.spec.ts rename to apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.spec.ts index 67f1123..6f01b3f 100644 --- a/apps/frontend/src/app/alert/component/alert.component.spec.ts +++ b/apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.spec.ts @@ -1,9 +1,9 @@ import { beforeEach, describe, expect, it, Mock, vi } from 'vitest'; import { AlertComponent } from './alert.component'; import { of } from 'rxjs'; -import { Alert, SizeAlert } from '../../shared/types/alert'; +import { Alert, SizeAlert } from '../../../../shared/types/alert'; import { randomUUID } from 'crypto'; -import { SeverityType } from '../../shared/enums/severityType'; +import { SeverityType } from '../../../../shared/enums/severityType'; describe('AlertComponent', () => { let component: AlertComponent; diff --git a/apps/frontend/src/app/alert/component/alert.component.ts b/apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.ts similarity index 94% rename from apps/frontend/src/app/alert/component/alert.component.ts rename to apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.ts index 0865b8c..1cadd9f 100644 --- a/apps/frontend/src/app/alert/component/alert.component.ts +++ b/apps/frontend/src/app/backups-overview-page/component/alert-panel/component/alert.component.ts @@ -1,14 +1,14 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; -import { AlertServiceService } from '../service/alert-service.service'; +import { AlertServiceService } from '../../../../shared/services/alert-service/alert-service.service'; import { Alert, CreationDateAlert, SizeAlert, StorageFillAlert, -} from '../../shared/types/alert'; +} from '../../../../shared/types/alert'; import { DatePipe } from '@angular/common'; import { Subject, takeUntil, tap } from 'rxjs'; -import { SeverityType } from '../../shared/enums/severityType'; +import { SeverityType } from '../../../../shared/enums/severityType'; @Component({ selector: 'app-alert', @@ -21,9 +21,9 @@ export class AlertComponent implements OnInit, OnDestroy { readonly DAYS = 7; alerts: Alert[] = []; - criticalAlertsCount: number = 0; - warningAlertsCount: number = 0; - infoAlertsCount: number = 0; + criticalAlertsCount = 0; + warningAlertsCount = 0; + infoAlertsCount = 0; status: 'OK' | 'Warning' | 'Critical' = 'OK'; diff --git a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.css b/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.css new file mode 100644 index 0000000..e69de29 diff --git a/apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.html b/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.html similarity index 100% rename from apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.html rename to apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.html diff --git a/apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.spec.ts b/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.spec.ts similarity index 98% rename from apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.spec.ts rename to apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.spec.ts index 005658e..a27fd3d 100644 --- a/apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.spec.ts +++ b/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.spec.ts @@ -5,7 +5,7 @@ import { BackupTableComponent } from './backup-table.component'; import { Backup } from '../../../shared/types/backup'; import { APIResponse } from '../../../shared/types/api-response'; import { BackupType } from '../../../shared/enums/backup.types'; -import { BackupService } from '../../service/backup-service/backup-service.service'; +import { BackupService } from '../../../shared/services/backup-service/backup-service.service'; import { ClrDatagridStateInterface } from '@clr/angular'; import { CustomFilter } from '../backupfilter'; diff --git a/apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.ts b/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.ts similarity index 97% rename from apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.ts rename to apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.ts index 692f53f..52fc615 100644 --- a/apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.ts +++ b/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.ts @@ -12,7 +12,7 @@ import { } from 'rxjs'; import { APIResponse } from '../../../shared/types/api-response'; import { Backup } from '../../../shared/types/backup'; -import { BackupService } from '../../service/backup-service/backup-service.service'; +import { BackupService } from '../../../shared/services/backup-service/backup-service.service'; import { BackupFilterParams } from '../../../shared/types/backup-filter-type'; import { BackupType } from '../../../shared/enums/backup.types'; import { ClrDatagridSortOrder, ClrDatagridStateInterface } from '@clr/angular'; diff --git a/apps/frontend/src/app/backups-overview/component/backupfilter.ts b/apps/frontend/src/app/backups-overview-page/component/backupfilter.ts similarity index 100% rename from apps/frontend/src/app/backups-overview/component/backupfilter.ts rename to apps/frontend/src/app/backups-overview-page/component/backupfilter.ts diff --git a/apps/frontend/src/app/data-stores/component/data-stores.component.css b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.css similarity index 100% rename from apps/frontend/src/app/data-stores/component/data-stores.component.css rename to apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.css diff --git a/apps/frontend/src/app/data-stores/component/data-stores.component.html b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.html similarity index 100% rename from apps/frontend/src/app/data-stores/component/data-stores.component.html rename to apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.html diff --git a/apps/frontend/src/app/data-stores/component/data-stores.component.spec.ts b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.spec.ts similarity index 97% rename from apps/frontend/src/app/data-stores/component/data-stores.component.spec.ts rename to apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.spec.ts index 748d8f8..d7722c2 100644 --- a/apps/frontend/src/app/data-stores/component/data-stores.component.spec.ts +++ b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.spec.ts @@ -2,7 +2,7 @@ import { beforeEach, describe, expect, it, Mock, vi } from 'vitest'; import { of } from 'rxjs'; import { randomUUID } from 'crypto'; import { DataStoresComponent } from './data-stores.component'; -import { DataStore } from '../../shared/types/data-store'; +import { DataStore } from '../../../shared/types/data-store'; const dataStores: DataStore[] = [ { diff --git a/apps/frontend/src/app/data-stores/component/data-stores.component.ts b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.ts similarity index 88% rename from apps/frontend/src/app/data-stores/component/data-stores.component.ts rename to apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.ts index bc92900..20be136 100644 --- a/apps/frontend/src/app/data-stores/component/data-stores.component.ts +++ b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.ts @@ -1,7 +1,7 @@ import { Component, OnDestroy } from '@angular/core'; -import { DataStoresService } from '../service/data-stores-service.service'; +import { DataStoresService } from '../../../shared/services/data-stores-service/data-stores-service.service'; import { map, Observable, shareReplay, Subject, takeUntil } from 'rxjs'; -import { DataStore } from '../../shared/types/data-store'; +import { DataStore } from '../../../shared/types/data-store'; @Component({ selector: 'app-data-stores', diff --git a/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.css b/apps/frontend/src/app/backups-overview-page/component/information-panel/information-panel.component.css similarity index 100% rename from apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.css rename to apps/frontend/src/app/backups-overview-page/component/information-panel/information-panel.component.css diff --git a/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.html b/apps/frontend/src/app/backups-overview-page/component/information-panel/information-panel.component.html similarity index 100% rename from apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.html rename to apps/frontend/src/app/backups-overview-page/component/information-panel/information-panel.component.html diff --git a/apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.ts b/apps/frontend/src/app/backups-overview-page/component/information-panel/information-panel.component.ts similarity index 100% rename from apps/frontend/src/app/backups-overview/component/information-panel/information-panel.component.ts rename to apps/frontend/src/app/backups-overview-page/component/information-panel/information-panel.component.ts diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.css b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css similarity index 100% rename from apps/frontend/src/app/backups-overview/component/backups.component.css rename to apps/frontend/src/app/backups-overview-page/component/overview-page.component.css diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.html b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html similarity index 100% rename from apps/frontend/src/app/backups-overview/component/backups.component.html rename to apps/frontend/src/app/backups-overview-page/component/overview-page.component.html diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.spec.ts b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts similarity index 71% rename from apps/frontend/src/app/backups-overview/component/backups.component.spec.ts rename to apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts index b038371..e8e0b22 100644 --- a/apps/frontend/src/app/backups-overview/component/backups.component.spec.ts +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts @@ -1,16 +1,16 @@ import { beforeEach, describe, expect, it } from 'vitest'; import { TestBed } from '@angular/core/testing'; -import { BackupsComponent } from './backups.component'; +import { OverviewPageComponent } from './overview-page.component'; -describe('BackupsComponent', () => { - let component: BackupsComponent; +describe('OverviewPageComponent', () => { + let component: OverviewPageComponent; beforeEach(() => { TestBed.configureTestingModule({ - providers: [BackupsComponent], + providers: [OverviewPageComponent], }); - component = TestBed.inject(BackupsComponent); + component = TestBed.inject(OverviewPageComponent); }); it('should create the component', () => { diff --git a/apps/frontend/src/app/backups-overview/component/backups.component.ts b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts similarity index 81% rename from apps/frontend/src/app/backups-overview/component/backups.component.ts rename to apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts index f9e290c..c222653 100644 --- a/apps/frontend/src/app/backups-overview/component/backups.component.ts +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts @@ -1,5 +1,5 @@ import { AfterViewInit, Component, ViewChild } from '@angular/core'; -import { SidePanelComponent } from './side-panel/side-panel.component'; +import { SidePanelComponent } from '../../shared/components/filter-side-panel/side-panel.component'; import { BehaviorSubject } from 'rxjs'; import { BackupTask } from '../../shared/types/backup.task'; import { ChartType } from '../../shared/enums/chartType'; @@ -7,10 +7,10 @@ import { ChartInformation } from '../../shared/types/chartInformation'; @Component({ selector: 'app-backups', - templateUrl: './backups.component.html', - styleUrl: './backups.component.css', + templateUrl: './overview-page.component.html', + styleUrl: './overview-page.component.css', }) -export class BackupsComponent implements AfterViewInit { +export class OverviewPageComponent implements AfterViewInit { @ViewChild(SidePanelComponent) sidePanelComponent!: SidePanelComponent; backupTaskSubject$: BehaviorSubject | undefined; diff --git a/apps/frontend/src/app/management/components/settings/notification-settings/notification-settings.component.ts b/apps/frontend/src/app/management/components/settings/notification-settings/notification-settings.component.ts index 3da3d0a..2a46bc8 100644 --- a/apps/frontend/src/app/management/components/settings/notification-settings/notification-settings.component.ts +++ b/apps/frontend/src/app/management/components/settings/notification-settings/notification-settings.component.ts @@ -3,7 +3,7 @@ import { FormArray, FormBuilder, FormGroup } from '@angular/forms'; import { BehaviorSubject, forkJoin, Subject, takeUntil } from 'rxjs'; import { NotificationService } from '../../../services/alert-notification/notification.service'; import { AlertType } from '../../../../shared/types/alertType'; -import { AlertServiceService } from '../../../../alert/service/alert-service.service'; +import { AlertServiceService } from '../../../../shared/services/alert-service/alert-service.service'; @Component({ selector: 'app-notification-settings', diff --git a/apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.css b/apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.css similarity index 100% rename from apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.css rename to apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.css diff --git a/apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.html b/apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.html similarity index 100% rename from apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.html rename to apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.html diff --git a/apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.spec.ts b/apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.spec.ts similarity index 93% rename from apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.spec.ts rename to apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.spec.ts index 27d1c34..a1b16c9 100644 --- a/apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.spec.ts +++ b/apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.spec.ts @@ -2,13 +2,13 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import { TestBed } from '@angular/core/testing'; import { of } from 'rxjs'; import { SidePanelComponent } from './side-panel.component'; -import { APIResponse } from '../../../shared/types/api-response'; -import { Backup } from '../../../shared/types/backup'; -import { BackupType } from '../../../shared/enums/backup.types'; -import { ChartService } from '../../service/chart-service/chart-service.service'; -import { BackupService } from '../../service/backup-service/backup-service.service'; -import { BackupTask } from '../../../shared/types/backup.task'; -import { ChartType } from '../../../shared/enums/chartType'; +import { APIResponse } from '../../types/api-response'; +import { Backup } from '../../types/backup'; +import { BackupType } from '../../enums/backup.types'; +import { ChartService } from '../../services/chart-service/chart-service.service'; +import { BackupService } from '../../services/backup-service/backup-service.service'; +import { BackupTask } from '../../types/backup.task'; +import { ChartType } from '../../enums/chartType'; describe('SidePanelComponent', () => { let component: SidePanelComponent; diff --git a/apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.ts b/apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.ts similarity index 93% rename from apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.ts rename to apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.ts index 8fd60d4..05104b0 100644 --- a/apps/frontend/src/app/backups-overview/component/side-panel/side-panel.component.ts +++ b/apps/frontend/src/app/shared/components/filter-side-panel/side-panel.component.ts @@ -5,7 +5,7 @@ import { OnDestroy, OnInit, } from '@angular/core'; -import { BackupType } from '../../../shared/enums/backup.types'; +import { BackupType } from '../../enums/backup.types'; import { BehaviorSubject, combineLatest, @@ -20,13 +20,13 @@ import { takeUntil, tap, } from 'rxjs'; -import { BackupTask } from '../../../shared/types/backup.task'; -import { BackupService } from '../../service/backup-service/backup-service.service'; -import { ChartService } from '../../service/chart-service/chart-service.service'; -import { Backup } from '../../../shared/types/backup'; -import { APIResponse } from '../../../shared/types/api-response'; -import { ChartInformation } from '../../../shared/types/chartInformation'; -import { ChartType } from '../../../shared/enums/chartType'; +import { BackupTask } from '../../types/backup.task'; +import { BackupService } from '../../services/backup-service/backup-service.service'; +import { ChartService } from '../../services/chart-service/chart-service.service'; +import { Backup } from '../../types/backup'; +import { APIResponse } from '../../types/api-response'; +import { ChartInformation } from '../../types/chartInformation'; +import { ChartType } from '../../enums/chartType'; interface TimeRangeConfig { fromDate: Date; diff --git a/apps/frontend/src/app/alert/service/alert-service.service.spec.ts b/apps/frontend/src/app/shared/services/alert-service/alert-service.service.spec.ts similarity index 89% rename from apps/frontend/src/app/alert/service/alert-service.service.spec.ts rename to apps/frontend/src/app/shared/services/alert-service/alert-service.service.spec.ts index 3ef00e3..6ff5ff2 100644 --- a/apps/frontend/src/app/alert/service/alert-service.service.spec.ts +++ b/apps/frontend/src/app/shared/services/alert-service/alert-service.service.spec.ts @@ -4,13 +4,13 @@ import { HttpTestingController, } from '@angular/common/http/testing'; import { AlertServiceService } from './alert-service.service'; -import { BASE_URL } from '../../shared/types/configuration'; -import { Alert } from '../../shared/types/alert'; +import { BASE_URL } from '../../types/configuration'; +import { Alert } from '../../types/alert'; import { describe, it, expect, beforeEach } from 'vitest'; -import { AlertType } from '../../shared/types/alertType'; -import { BackupService } from '../../backups-overview/service/backup-service/backup-service.service'; +import { AlertType } from '../../types/alertType'; +import { BackupService } from '../backup-service/backup-service.service'; import { randomUUID } from 'node:crypto'; -import { SeverityType } from '../../shared/enums/severityType'; +import { SeverityType } from '../../enums/severityType'; describe('AlertServiceService', () => { let service: AlertServiceService; diff --git a/apps/frontend/src/app/alert/service/alert-service.service.ts b/apps/frontend/src/app/shared/services/alert-service/alert-service.service.ts similarity index 86% rename from apps/frontend/src/app/alert/service/alert-service.service.ts rename to apps/frontend/src/app/shared/services/alert-service/alert-service.service.ts index 701e62a..78dfe75 100644 --- a/apps/frontend/src/app/alert/service/alert-service.service.ts +++ b/apps/frontend/src/app/shared/services/alert-service/alert-service.service.ts @@ -1,8 +1,8 @@ import { Inject, Injectable } from '@angular/core'; -import { BASE_URL } from '../../shared/types/configuration'; +import { BASE_URL } from '../../types/configuration'; import { HttpClient } from '@angular/common/http'; import { Observable, Subject } from 'rxjs'; -import { Alert } from '../../shared/types/alert'; +import { Alert } from '../../types/alert'; @Injectable({ providedIn: 'root', diff --git a/apps/frontend/src/app/backups-overview/service/backup-service/backup-service.service.spec.ts b/apps/frontend/src/app/shared/services/backup-service/backup-service.service.spec.ts similarity index 92% rename from apps/frontend/src/app/backups-overview/service/backup-service/backup-service.service.spec.ts rename to apps/frontend/src/app/shared/services/backup-service/backup-service.service.spec.ts index f318d42..3d4311a 100644 --- a/apps/frontend/src/app/backups-overview/service/backup-service/backup-service.service.spec.ts +++ b/apps/frontend/src/app/shared/services/backup-service/backup-service.service.spec.ts @@ -3,10 +3,10 @@ import { HttpClient, HttpParams } from '@angular/common/http'; import { of, throwError } from 'rxjs'; import { BackupService } from './backup-service.service'; -import { APIResponse } from '../../../shared/types/api-response'; -import { Backup } from '../../../shared/types/backup'; -import { BackupFilterParams } from '../../../shared/types/backup-filter-type'; -import { BackupTask } from '../../../shared/types/backup.task'; +import { APIResponse } from '../../types/api-response'; +import { Backup } from '../../types/backup'; +import { BackupFilterParams } from '../../types/backup-filter-type'; +import { BackupTask } from '../../types/backup.task'; import { fail } from 'assert'; describe('BackupService', () => { diff --git a/apps/frontend/src/app/backups-overview/service/backup-service/backup-service.service.ts b/apps/frontend/src/app/shared/services/backup-service/backup-service.service.ts similarity index 80% rename from apps/frontend/src/app/backups-overview/service/backup-service/backup-service.service.ts rename to apps/frontend/src/app/shared/services/backup-service/backup-service.service.ts index c3dfa73..3885386 100644 --- a/apps/frontend/src/app/backups-overview/service/backup-service/backup-service.service.ts +++ b/apps/frontend/src/app/shared/services/backup-service/backup-service.service.ts @@ -1,11 +1,11 @@ import { HttpClient, HttpParams } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; import { Observable, shareReplay } from 'rxjs'; -import { BASE_URL } from '../../../shared/types/configuration'; -import { Backup } from '../../../shared/types/backup'; -import { APIResponse } from '../../../shared/types/api-response'; -import { BackupFilterParams } from '../../../shared/types/backup-filter-type'; -import { BackupTask } from '../../../shared/types/backup.task'; +import { BASE_URL } from '../../types/configuration'; +import { Backup } from '../../types/backup'; +import { APIResponse } from '../../types/api-response'; +import { BackupFilterParams } from '../../types/backup-filter-type'; +import { BackupTask } from '../../types/backup.task'; @Injectable({ providedIn: 'root', diff --git a/apps/frontend/src/app/backups-overview/service/chart-service/chart-service.service.spec.ts b/apps/frontend/src/app/shared/services/chart-service/chart-service.service.spec.ts similarity index 98% rename from apps/frontend/src/app/backups-overview/service/chart-service/chart-service.service.spec.ts rename to apps/frontend/src/app/shared/services/chart-service/chart-service.service.spec.ts index 4bd5a71..d6b6b39 100644 --- a/apps/frontend/src/app/backups-overview/service/chart-service/chart-service.service.spec.ts +++ b/apps/frontend/src/app/shared/services/chart-service/chart-service.service.spec.ts @@ -2,7 +2,7 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; import { ChartService } from './chart-service.service'; import * as am5 from '@amcharts/amcharts5'; import { of } from 'rxjs'; -import type { ChartConfig } from '../../../shared/types/chart-config'; +import type { ChartConfig } from '../../types/chart-config'; Object.defineProperty(HTMLCanvasElement.prototype, 'getContext', { value: () => ({ diff --git a/apps/frontend/src/app/backups-overview/service/chart-service/chart-service.service.ts b/apps/frontend/src/app/shared/services/chart-service/chart-service.service.ts similarity index 99% rename from apps/frontend/src/app/backups-overview/service/chart-service/chart-service.service.ts rename to apps/frontend/src/app/shared/services/chart-service/chart-service.service.ts index 3416d63..bdb4f85 100644 --- a/apps/frontend/src/app/backups-overview/service/chart-service/chart-service.service.ts +++ b/apps/frontend/src/app/shared/services/chart-service/chart-service.service.ts @@ -5,13 +5,13 @@ import * as am5xy from '@amcharts/amcharts5/xy'; import * as am5percent from '@amcharts/amcharts5/percent'; import am5themes_Animated from '@amcharts/amcharts5/themes/Animated'; import { ITimeInterval } from '@amcharts/amcharts5/.internal/core/util/Time'; -import { Backup } from '../../../shared/types/backup'; +import { Backup } from '../../types/backup'; import { Observable, Subject, takeUntil } from 'rxjs'; import { ChartConfig, ChartType, TimeRange, -} from '../../../shared/types/chart-config'; +} from '../../types/chart-config'; @Injectable({ providedIn: 'root', diff --git a/apps/frontend/src/app/data-stores/service/data-stores-service.service.spec.ts b/apps/frontend/src/app/shared/services/data-stores-service/data-stores-service.service.spec.ts similarity index 97% rename from apps/frontend/src/app/data-stores/service/data-stores-service.service.spec.ts rename to apps/frontend/src/app/shared/services/data-stores-service/data-stores-service.service.spec.ts index 41082d4..d436a8a 100644 --- a/apps/frontend/src/app/data-stores/service/data-stores-service.service.spec.ts +++ b/apps/frontend/src/app/shared/services/data-stores-service/data-stores-service.service.spec.ts @@ -4,7 +4,7 @@ import { of, throwError } from 'rxjs'; import { fail } from 'assert'; import { DataStoresService } from './data-stores-service.service'; -import { DataStore } from '../../shared/types/data-store'; +import { DataStore } from '../../types/data-store'; describe('BackupService', () => { let service: DataStoresService; diff --git a/apps/frontend/src/app/data-stores/service/data-stores-service.service.ts b/apps/frontend/src/app/shared/services/data-stores-service/data-stores-service.service.ts similarity index 78% rename from apps/frontend/src/app/data-stores/service/data-stores-service.service.ts rename to apps/frontend/src/app/shared/services/data-stores-service/data-stores-service.service.ts index 5e5a010..5361803 100644 --- a/apps/frontend/src/app/data-stores/service/data-stores-service.service.ts +++ b/apps/frontend/src/app/shared/services/data-stores-service/data-stores-service.service.ts @@ -1,8 +1,8 @@ import { HttpClient } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; import { Observable } from 'rxjs'; -import { DataStore } from '../../shared/types/data-store'; -import { BASE_URL } from '../../shared/types/configuration'; +import { DataStore } from '../../types/data-store'; +import { BASE_URL } from '../../types/configuration'; @Injectable({ providedIn: 'root', From d68195bbb60a3559a21a9fb2cfb37df9a6378a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 17:15:57 +0100 Subject: [PATCH 4/8] Added Backup Statistics Page to place unused diagramms from old overview page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- apps/frontend/src/app/app.component.html | 15 ++++++++++++--- apps/frontend/src/app/app.component.spec.ts | 4 ++-- apps/frontend/src/app/app.module.ts | 7 +++++-- apps/frontend/src/app/app.routes.ts | 2 ++ .../backup-statistics-page.component.css} | 0 .../backup-statistics-page.component.html | 1 + .../backup-statistics-page.component.spec.ts | 0 .../component/backup-statistics-page.component.ts | 10 ++++++++++ .../component/overview-page.component.html | 2 +- .../component/overview-page.component.spec.ts | 12 ++++++++++++ .../component/overview-page.component.ts | 2 +- 11 files changed, 46 insertions(+), 9 deletions(-) rename apps/frontend/src/app/{backups-overview/component/backup-table/backup-table.component.css => backup-statistics-page/component/backup-statistics-page.component.css} (100%) create mode 100644 apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html create mode 100644 apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts create mode 100644 apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts diff --git a/apps/frontend/src/app/app.component.html b/apps/frontend/src/app/app.component.html index ad71637..546ee82 100644 --- a/apps/frontend/src/app/app.component.html +++ b/apps/frontend/src/app/app.component.html @@ -18,7 +18,7 @@ routerLinkActive="active" routerLink="email-receiver" class="nav-text" - >Email ReceiverEmail Receiver @@ -41,10 +41,19 @@ clrVerticalNavLink clrAriaCurrentLink routerLink="/" + [routerLinkActiveOptions]="{ exact: true }" routerLinkActive="active" class="nav-link" - >Overview + >Overview + Backup Statistics + diff --git a/apps/frontend/src/app/app.component.spec.ts b/apps/frontend/src/app/app.component.spec.ts index d35795a..821c1c1 100644 --- a/apps/frontend/src/app/app.component.spec.ts +++ b/apps/frontend/src/app/app.component.spec.ts @@ -52,7 +52,7 @@ describe('AppComponent', () => { it('should have navigation items', () => { const navItems = fixture.debugElement.queryAll(By.css('.nav-text')); - const expectedNavItems = ['Dashboard', 'Overview', 'Upload', 'Find Data']; + const expectedNavItems = ['Dashboard', 'Overview', 'Backup Statistics', 'Upload', 'Find Data']; // Use a Set to get unique nav item texts const uniqueNavItems = [ @@ -67,7 +67,7 @@ describe('AppComponent', () => { it('should have router links configured', () => { const routerLinks = fixture.debugElement.queryAll(By.css('[routerLink]')); - const expectedRoutes = ['/', '/', '/upload', '/findData']; + const expectedRoutes = ['/', '/', '/backup-statistics', '/upload', '/findData']; routerLinks.forEach((link, index) => { expect(link.nativeElement.getAttribute('routerLink')).toBe( diff --git a/apps/frontend/src/app/app.module.ts b/apps/frontend/src/app/app.module.ts index c9f7844..1aed5e6 100644 --- a/apps/frontend/src/app/app.module.ts +++ b/apps/frontend/src/app/app.module.ts @@ -16,7 +16,8 @@ import { dataClusterIcon, envelopeIcon, errorStandardIcon, - filterIcon, helpIcon, + filterIcon, + helpIcon, homeIcon, lockIcon, plusIcon, @@ -25,7 +26,7 @@ import { tagIcon, trashIcon, uploadCloudIcon, - warningStandardIcon + warningStandardIcon, } from '@cds/core/icon'; import { NgxEchartsModule } from 'ngx-echarts'; import { TestUploadComponent } from './test-upload/component/test-upload/test-upload.component'; @@ -40,6 +41,7 @@ import { DataStoresComponent } from './backups-overview-page/component/data-stor import { InformationPanelComponent } from './backups-overview-page/component/information-panel/information-panel.component'; import { BackupTableComponent } from './backups-overview-page/component/backup-table/backup-table.component'; import { SidePanelComponent } from './shared/components/filter-side-panel/side-panel.component'; +import { BackupStatisticsPageComponent } from './backup-statistics-page/component/backup-statistics-page.component'; @NgModule({ declarations: [ @@ -55,6 +57,7 @@ import { SidePanelComponent } from './shared/components/filter-side-panel/side-p InformationPanelComponent, BackupTableComponent, SidePanelComponent, + BackupStatisticsPageComponent ], imports: [ BrowserModule, diff --git a/apps/frontend/src/app/app.routes.ts b/apps/frontend/src/app/app.routes.ts index 26607e9..e22f5c8 100644 --- a/apps/frontend/src/app/app.routes.ts +++ b/apps/frontend/src/app/app.routes.ts @@ -3,11 +3,13 @@ import { TestUploadComponent } from './test-upload/component/test-upload/test-up import { FindTestDataComponent } from './test-upload/component/find-test-data/find-test-data.component'; import { OverviewPageComponent } from './backups-overview-page/component/overview-page.component'; import { EmailReceiverSettingsComponent } from './management/components/settings/email-receiver-settings/email-receiver-settings.component'; +import { BackupStatisticsPageComponent } from './backup-statistics-page/component/backup-statistics-page.component'; export const appRoutes: Route[] = [ { path: 'upload', component: TestUploadComponent }, { path: 'findData', component: FindTestDataComponent }, { path: 'email-receiver', component: EmailReceiverSettingsComponent}, + { path: 'backup-statistics', component: BackupStatisticsPageComponent }, { path: '', component: OverviewPageComponent }, ]; diff --git a/apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.css b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.css similarity index 100% rename from apps/frontend/src/app/backups-overview/component/backup-table/backup-table.component.css rename to apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.css diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html new file mode 100644 index 0000000..200b007 --- /dev/null +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html @@ -0,0 +1 @@ +

Backups Statistics

diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts new file mode 100644 index 0000000..10afb69 --- /dev/null +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-backup-statistics-page', + templateUrl: './backup-statistics-page.component.html', + styleUrl: './backup-statistics-page.component.css', +}) +export class BackupStatisticsPageComponent { + +} diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html index 17c58e7..e92cdcb 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html @@ -1,4 +1,4 @@ -

Backups Overview

+

Overview

diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts index e8e0b22..9d31e24 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.spec.ts @@ -28,4 +28,16 @@ describe('OverviewPageComponent', () => { expect(component['filterPanel']).toBe(false); }); }); + + describe('Information Panel', () => { + it('should toggle information panel state', () => { + expect(component['isInfoPanelOpen']).toBe(false); + + component['toggleInfoPanel'](); + expect(component['isInfoPanelOpen']).toBe(true); + + component['toggleInfoPanel'](); + expect(component['isInfoPanelOpen']).toBe(false); + }); + }); }); diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts index c222653..3a43b95 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts @@ -6,7 +6,7 @@ import { ChartType } from '../../shared/enums/chartType'; import { ChartInformation } from '../../shared/types/chartInformation'; @Component({ - selector: 'app-backups', + selector: 'app-overview-page', templateUrl: './overview-page.component.html', styleUrl: './overview-page.component.css', }) From 114fb66522641b58cd3ce5733dd237dd0077673d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 17:24:43 +0100 Subject: [PATCH 5/8] Added Backup Statistics Page to place unused diagramms from old overview page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- apps/frontend/src/app/app.module.ts | 2 +- .../backup-statistics-page.component.html | 57 +++++++++++++++++++ .../backup-statistics-page.component.spec.ts | 30 ++++++++++ .../backup-statistics-page.component.ts | 33 ++++++++++- .../backup-table/backup-table.component.css | 0 .../backup-table/backup-table.component.html | 0 .../backup-table.component.spec.ts | 2 +- .../backup-table/backup-table.component.ts | 2 +- .../component/overview-page.component.html | 3 - 9 files changed, 121 insertions(+), 8 deletions(-) rename apps/frontend/src/app/{backups-overview-page => backup-statistics-page}/component/backup-table/backup-table.component.css (100%) rename apps/frontend/src/app/{backups-overview-page => backup-statistics-page}/component/backup-table/backup-table.component.html (100%) rename apps/frontend/src/app/{backups-overview-page => backup-statistics-page}/component/backup-table/backup-table.component.spec.ts (98%) rename apps/frontend/src/app/{backups-overview-page => backup-statistics-page}/component/backup-table/backup-table.component.ts (98%) diff --git a/apps/frontend/src/app/app.module.ts b/apps/frontend/src/app/app.module.ts index 1aed5e6..54fa322 100644 --- a/apps/frontend/src/app/app.module.ts +++ b/apps/frontend/src/app/app.module.ts @@ -39,7 +39,7 @@ import { EmailReceiverSettingsComponent } from './management/components/settings import { ConfirmDialogComponent } from './shared/components/confirm-dialog/component/confirm-dialog/confirm-dialog.component'; import { DataStoresComponent } from './backups-overview-page/component/data-stores-panel/data-stores.component'; import { InformationPanelComponent } from './backups-overview-page/component/information-panel/information-panel.component'; -import { BackupTableComponent } from './backups-overview-page/component/backup-table/backup-table.component'; +import { BackupTableComponent } from './backup-statistics-page/component/backup-table/backup-table.component'; import { SidePanelComponent } from './shared/components/filter-side-panel/side-panel.component'; import { BackupStatisticsPageComponent } from './backup-statistics-page/component/backup-statistics-page.component'; diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html index 200b007..13fc4b6 100644 --- a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html @@ -1 +1,58 @@

Backups Statistics

+ +
+ +
+ +
+
+
+
+
Recent Backup Timeline:
+
+ +
+
+
+
+
+
+
+ +
+
+
+
Recent Backup Size Distribution:
+
+ +
+
+ +
+
+
+
+
+
+ + \ No newline at end of file diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts index e69de29..61a6745 100644 --- a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.spec.ts @@ -0,0 +1,30 @@ +import { beforeEach, describe, expect, it } from 'vitest'; +import { TestBed } from '@angular/core/testing'; +import { BackupStatisticsPageComponent } from './backup-statistics-page.component'; + +describe('BackupStatisticsPageComponent', () => { + let component: BackupStatisticsPageComponent; + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [BackupStatisticsPageComponent], + }); + + component = TestBed.inject(BackupStatisticsPageComponent); + }); + + it('should create the component', () => { + expect(component).toBeTruthy(); + }); + + describe('Filter Panel', () => { + it('should toggle filter panel state', () => { + expect(component['filterPanel']).toBe(false); + + component['changeFilterPanelState'](); + expect(component['filterPanel']).toBe(true); + + component['changeFilterPanelState'](); + expect(component['filterPanel']).toBe(false); + }); + }); +}); diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts index 10afb69..939d705 100644 --- a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.ts @@ -1,10 +1,39 @@ -import { Component } from '@angular/core'; +import { Component, ViewChild, AfterViewInit } from '@angular/core'; +import { ChartInformation } from '../../shared/types/chartInformation'; +import { ChartType } from '../../shared/enums/chartType'; +import { SidePanelComponent } from '../../shared/components/filter-side-panel/side-panel.component'; +import { BehaviorSubject } from 'rxjs'; +import { BackupTask } from '../../shared/types/backup.task'; @Component({ selector: 'app-backup-statistics-page', templateUrl: './backup-statistics-page.component.html', styleUrl: './backup-statistics-page.component.css', }) -export class BackupStatisticsPageComponent { +export class BackupStatisticsPageComponent implements AfterViewInit { + @ViewChild(SidePanelComponent) sidePanelComponent!: SidePanelComponent; + backupTaskSubject$: BehaviorSubject | undefined; + protected filterPanel = false; + readonly charts: ChartInformation[] = [ + { + id: 'backupStatisticsPageSizePieChart', + type: ChartType.SIZEPIECHART, + }, + { + id: 'backupStatisticsPageSizeColumnChart', + type: ChartType.SIZECOLUMNCHART, + }, + ]; + + ngAfterViewInit(): void { + this.backupTaskSubject$ = this.sidePanelComponent.backupTaskSubject$; + } + + /** + * Change the state of the filter panel to open or close it + */ + protected changeFilterPanelState(): void { + this.filterPanel = !this.filterPanel; + } } diff --git a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.css b/apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.css similarity index 100% rename from apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.css rename to apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.css diff --git a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.html b/apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.html similarity index 100% rename from apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.html rename to apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.html diff --git a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.spec.ts b/apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.spec.ts similarity index 98% rename from apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.spec.ts rename to apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.spec.ts index a27fd3d..729fd86 100644 --- a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.spec.ts +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.spec.ts @@ -7,7 +7,7 @@ import { APIResponse } from '../../../shared/types/api-response'; import { BackupType } from '../../../shared/enums/backup.types'; import { BackupService } from '../../../shared/services/backup-service/backup-service.service'; import { ClrDatagridStateInterface } from '@clr/angular'; -import { CustomFilter } from '../backupfilter'; +import { CustomFilter } from '../../../backups-overview-page/component/backupfilter'; describe('BackupTableComponent', () => { let component: BackupTableComponent; diff --git a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.ts b/apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.ts similarity index 98% rename from apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.ts rename to apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.ts index 52fc615..f8904af 100644 --- a/apps/frontend/src/app/backups-overview-page/component/backup-table/backup-table.component.ts +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-table/backup-table.component.ts @@ -1,5 +1,5 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; -import { CustomFilter } from '../backupfilter'; +import { CustomFilter } from '../../../backups-overview-page/component/backupfilter'; import { BehaviorSubject, combineLatest, diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html index e92cdcb..8d84e80 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html @@ -63,8 +63,5 @@

Overview

-
- -
\ No newline at end of file From 50de1a9e3761942cc1da49b27a2c10426169d894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 17:34:59 +0100 Subject: [PATCH 6/8] Moved charts to Backup Statistics Page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- .../backup-statistics-page.component.css | 33 +++++ .../backup-statistics-page.component.html | 2 +- .../component/overview-page.component.css | 129 ------------------ 3 files changed, 34 insertions(+), 130 deletions(-) diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.css b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.css index e69de29..cee607e 100644 --- a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.css +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.css @@ -0,0 +1,33 @@ +.header { + background-color: white; + justify-content: space-around; + position: relative; +} + +.card-block { + padding: 20px; +} + +.clr-form-control { + margin-top: 0; +} + +.card-header { + display: flex; + justify-content: space-between; + align-items: center; +} + +.card-header-title { + margin: 0; + font-weight: 500; +} + +.card-header-actions { + display: flex; + align-items: center; +} + +:host ::ng-deep .card-header { + border-bottom: none !important; +} diff --git a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html index 13fc4b6..5f691f0 100644 --- a/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html +++ b/apps/frontend/src/app/backup-statistics-page/component/backup-statistics-page.component.html @@ -1,4 +1,4 @@ -

Backups Statistics

+

Backups Statistics

diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css index cc05287..c99a17a 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css @@ -4,11 +4,6 @@ position: relative; } -.filter-inline { - display: inline-flex !important; - align-items: center; -} - .top-section { display: flex; gap: 40px; @@ -73,127 +68,3 @@ :host ::ng-deep .card-header { border-bottom: none !important; } - -.btn-group-vertical { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; -} - -.btn-group-vertical .btn { - border: 1px solid #0072a3; - color: #0072a3; - background: white; - text-align: center; - padding: 0.5rem 1rem; - font-weight: 500; - width: 100%; - border-radius: 0.15rem; -} - -.btn-group-vertical .btn.btn-primary { - background: #0072a3; - color: white; -} - -.clr-side-panel { - width: 80% !important; - padding: 0.5rem; - border: 1px solid #ccc; - border-radius: 0.15rem; - background: white; - color: #1b2834; - font-size: 0.875rem; - right: 0; - top: 0; - height: 100vh; - z-index: 1000000; - box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1); -} - -.modal { - z-index: 1000000; -} - -.side-panel-footer { - padding: 1rem; - border-top: 1px solid #eee; - position: absolute; - bottom: 0; - left: 0; - right: 0; - background: white; -} - -.backupTaskFilter { - margin-top: 0.8rem; - width: 100%; -} - -.backupTaskFilter ::ng-deep .clr-combobox-wrapper { - width: 100%; - border: 1px solid #0072a3; - border-radius: 0.15rem; - background: white; - padding: 10px 15px; -} - -.backupTaskFilter ::ng-deep .clr-combobox-input { - width: 100%; - padding: 0.5rem 1rem; - color: #0072a3; - font-weight: 500; - border: none; - background: white; -} - -.backupTaskFilter ::ng-deep .clr-combobox-trigger { - color: #0072a3; - border: none; - background: none; - padding-right: 0.5rem; - top: unset; -} - -.backupTaskFilter ::ng-deep .clr-combobox-options { - border: 1px solid #0072a3; - border-radius: 0.15rem; - margin-top: 0.25rem; -} - -.backupTaskFilter ::ng-deep .clr-combobox-options .clr-combobox-option { - padding: 0.5rem 1rem; - color: #0072a3; - font-weight: 500; -} - -.backupTaskFilter ::ng-deep .clr-combobox-options .clr-combobox-option:hover { - background: #0072a3; - color: white; -} - -.backupTaskFilter -::ng-deep -.clr-combobox-options -.clr-combobox-option[aria-selected='true'] { - background: #0072a3; - color: white; -} - -.backupTaskFilter ::ng-deep .clr-combobox-wrapper .label-combobox-pill { - max-width: none; - font-size: 0.7rem; - padding: 0.15rem 0.5rem; - margin: 0.15rem; - white-space: nowrap; - height: auto; - line-height: 1; -} - - -.backupTaskFilter ::ng-deep .clr-combobox-options { - width: 100% !important; - min-width: 100%; - max-width: 100%; -} From 7616d292845b2d059e42e3b1fd766437e8002385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 17:44:52 +0100 Subject: [PATCH 7/8] New Layout of overview page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- .../component/overview-page.component.css | 13 ------- .../component/overview-page.component.html | 38 ++++--------------- .../component/overview-page.component.ts | 4 -- 3 files changed, 8 insertions(+), 47 deletions(-) diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css index c99a17a..2d6203d 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css @@ -4,14 +4,6 @@ position: relative; } -.top-section { - display: flex; - gap: 40px; - margin: 20px 0; - align-items: center; - position: relative; -} - .info-panel { border: 1px solid #0D233A; display: flex; @@ -31,11 +23,6 @@ margin-left: 6px; } -.alert-panel, -.data-stores-panel { - flex: 1; -} - .card { position: relative; z-index: 1; diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html index 8d84e80..f13b721 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.html @@ -1,20 +1,20 @@

Overview

-
- - -
-
-
+
About this page
+
+ + +
+
-
+
Recent Backup Timeline:
@@ -39,29 +39,7 @@

Overview

- -
-
-
-
Recent Backup Size Distribution:
-
- -
-
- -
-
-
-
-
+
\ No newline at end of file diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts index 3a43b95..6b13a5b 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.ts @@ -15,10 +15,6 @@ export class OverviewPageComponent implements AfterViewInit { backupTaskSubject$: BehaviorSubject | undefined; readonly charts: ChartInformation[] = [ - { - id: 'overviewSizePieChart', - type: ChartType.SIZEPIECHART, - }, { id: 'overviewSizeColumnChart', type: ChartType.SIZECOLUMNCHART, From 42f0e9315d19edd9bde814ad47161920bd2cf810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Obernd=C3=B6rfer?= Date: Mon, 23 Dec 2024 18:05:22 +0100 Subject: [PATCH 8/8] Improved overview Design MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Florian Oberndörfer --- .../data-stores.component.css | 6 +- .../component/overview-page.component.css | 61 +++++++++++++++---- 2 files changed, 51 insertions(+), 16 deletions(-) diff --git a/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.css b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.css index abc9c30..c412a7d 100644 --- a/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.css +++ b/apps/frontend/src/app/backups-overview-page/component/data-stores-panel/data-stores.component.css @@ -11,7 +11,7 @@ .progress-bar-container { position: relative; - width: 70%; + width: 100%; display: inline-block; vertical-align: middle; --clr-progress-bg-color: #C6DCF2; @@ -34,7 +34,7 @@ } .card-header { - background-color: #f5f5f5; + background-color: #f3f8fb; padding: 10px; border-bottom: 1px solid #dcdcdc; display: flex; @@ -51,7 +51,7 @@ } .card-footer { - background-color: #f5f5f5; + background-color: #f3f8fb; border-top: 1px solid #dcdcdc; text-align: right; border-bottom-left-radius: 10px; diff --git a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css index 2d6203d..ba07aa8 100644 --- a/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css +++ b/apps/frontend/src/app/backups-overview-page/component/overview-page.component.css @@ -24,27 +24,29 @@ } .card { - position: relative; - z-index: 1; -} - -.card-block { - padding: 20px; -} - -.clr-form-control { - margin-top: 0; + border: 1px solid #dcdcdc; + border-radius: 10px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + margin-bottom: 20px; + background-color: #ffffff; } .card-header { + background-color: #f3f8fb; + padding: 10px; + border-bottom: 1px solid #dcdcdc; display: flex; justify-content: space-between; align-items: center; + border-top-left-radius: 10px; + border-top-right-radius: 10px; } .card-header-title { margin: 0; - font-weight: 500; + font-weight: 600; + font-size: 1em; + color: #333333; } .card-header-actions { @@ -52,6 +54,39 @@ align-items: center; } -:host ::ng-deep .card-header { - border-bottom: none !important; +.card-block { + padding: 20px; + background-color: #ffffff; +} + +.card-footer { + background-color: #f3f8fb; + border-top: 1px solid #dcdcdc; + text-align: right; + padding: 10px; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; +} + +.btn-link { + color: #007bff; + text-decoration: none; + background-color: transparent; + border: none; + padding: 0; + font-size: 1em; + cursor: pointer; +} + +.btn-link:hover { + text-decoration: underline; +} + +.badge-info { + background-color: #0D233A; + color: #ffffff; + width: 20px; + height: 20px; + border-radius: 20px; + font-size: 14px; }