diff --git a/mediarepo-ui/src/app/components/core/core.component.html b/mediarepo-ui/src/app/components/core/core.component.html index 551b53a..d7229de 100644 --- a/mediarepo-ui/src/app/components/core/core.component.html +++ b/mediarepo-ui/src/app/components/core/core.component.html @@ -1,6 +1,7 @@
- - + + diff --git a/mediarepo-ui/src/app/components/core/core.component.scss b/mediarepo-ui/src/app/components/core/core.component.scss index b8a501a..a030e30 100644 --- a/mediarepo-ui/src/app/components/core/core.component.scss +++ b/mediarepo-ui/src/app/components/core/core.component.scss @@ -57,3 +57,7 @@ mat-tab-group { .tab-label-div { display: flex; } + +app-repositories-tab { + height: 100%; +} diff --git a/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.scss b/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.scss index d51771e..3c0880f 100644 --- a/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.scss +++ b/mediarepo-ui/src/app/components/core/repositories-tab/repositories-tab.component.scss @@ -27,3 +27,7 @@ app-repository-card { position: relative; } + +app-repository-details-view, .repo-details { + height: 100%; +} diff --git a/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.html b/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.html index fce4e34..b8ba1dc 100644 --- a/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.html +++ b/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.html @@ -8,7 +8,6 @@ - diff --git a/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.scss b/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.scss index 27366f6..60cffa5 100644 --- a/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.scss +++ b/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.scss @@ -7,3 +7,19 @@ .button-close-repository { float: right } + +.repository-metadata { + padding: 1em 1em 1em 3em; + overflow-y: auto; + user-select: none; + + app-metadata-entry { + margin-bottom: 0.5em; + display: block; + } +} + +.details-content { + height: calc(100% - 64px); + overflow: hidden; +} diff --git a/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.ts b/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.ts index d335e0f..2f72e6b 100644 --- a/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.ts +++ b/mediarepo-ui/src/app/components/core/repositories-tab/repository-details-view/repository-details-view.component.ts @@ -1,7 +1,7 @@ import { Component, Input, - OnChanges, + OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core"; @@ -16,24 +16,30 @@ import {RepositoryMetadata} from "../../../../models/RepositoryMetadata"; templateUrl: "./repository-details-view.component.html", styleUrls: ["./repository-details-view.component.scss"] }) -export class RepositoryDetailsViewComponent implements OnInit, OnChanges { +export class RepositoryDetailsViewComponent implements OnInit, OnChanges, OnDestroy { @Input() repository!: Repository; public metadata?: RepositoryMetadata; + private refreshMetadataInterval?: number; constructor(private repoService: RepositoryService) { } public async ngOnInit() { - this.metadata = await this.repoService.getRepositoryMetadata(); + await this.loadMetadata(); + this.refreshMetadataInterval = setInterval(async () => this.loadMetadata(), 30000); } public async ngOnChanges(changes: SimpleChanges) { if (changes["repository"]) { - this.metadata = await this.repoService.getRepositoryMetadata(); + await this.loadMetadata(); } } + public ngOnDestroy(): void { + clearInterval(this.refreshMetadataInterval); + } + public async closeRepository() { if (this.repository?.local) { await this.repoService.closeSelectedRepository(); @@ -60,4 +66,8 @@ export class RepositoryDetailsViewComponent implements OnInit, OnChanges { return size + " B" } } + + public async loadMetadata() { + this.metadata = await this.repoService.getRepositoryMetadata(); + } }