From 52f12349c9254f5fc30660b99985ee4acff87776 Mon Sep 17 00:00:00 2001 From: kaw67872 <kawtar.laariche@iais.fraunhofer.de> Date: Wed, 24 Jul 2024 10:50:06 +0200 Subject: [PATCH] #24: :lipstick: fix alignment --- .../dashboard/dashboard.component.scss | 30 +- .../my-models/my-models.component.html | 318 ++++---- .../my-models/my-models.component.scss | 36 +- .../marketplace/marketplace.component.html | 241 +++--- .../marketplace/marketplace.component.scss | 41 +- .../model-details.component.html | 736 +++++++++--------- .../model-details.component.scss | 21 +- .../model-management.component.html | 9 +- .../model-management.component.scss | 16 +- src/environments/environment.ts | 2 +- src/styles.scss | 1 + 11 files changed, 774 insertions(+), 677 deletions(-) diff --git a/src/app/features/dashboard/dashboard.component.scss b/src/app/features/dashboard/dashboard.component.scss index 6a2724e..f740627 100644 --- a/src/app/features/dashboard/dashboard.component.scss +++ b/src/app/features/dashboard/dashboard.component.scss @@ -10,7 +10,6 @@ mat-toolbar { } mat-sidenav-container { - height: calc(100% - 64px); overflow: hidden !important; } @@ -24,3 +23,32 @@ mat-sidenav { overflow: hidden !important; padding-top: 0 !important; } + +::ng-deep.mat-drawer-container { + position: relative; + z-index: -1; + box-sizing: border-box; + -webkit-overflow-scrolling: touch; + display: block; + overflow: hidden; + height: 100% !important; +} +.all-wrap { + min-height: 100vh; +} + +.content { + flex: 1; // child will set to an equal size inside the container +} + +main { + display: flex; + flex-direction: column; + + // Select all direct descendants only of the <main> element + // that are not <router-outlet> elements: + > *:not(router-outlet) { + flex: 1; // child will set to an equal size inside the container + display: block; + } +} diff --git a/src/app/features/dashboard/my-models/my-models.component.html b/src/app/features/dashboard/my-models/my-models.component.html index 9595cce..b723d7d 100644 --- a/src/app/features/dashboard/my-models/my-models.component.html +++ b/src/app/features/dashboard/my-models/my-models.component.html @@ -1,166 +1,170 @@ -<section class="pageheadsection mob-pageheadsection1"> - <div class="mdl-grid mdl-grid.mdl-grid--no-spacing"> - <div> - <gp-headline [headlineTitle]="'My Models'"></gp-headline> - </div> - <gp-breadcrumb-navigation - [firstNavigationLabel]="{ label: 'Home' }" - [secondNavigationLabel]="{ label: 'My models', disabled: true }" - (firstNavigationClicked)="onHomeClick()" - ></gp-breadcrumb-navigation> - </div> -</section> -<mat-sidenav-container> - <mat-sidenav mode="side" opened> - <gp-filters - [tags]="tags" - [categories]="categories" - (selectedTagsChange)="handleSelectedTagsChange($event)" - (selectedCategoriesChange)="handleSelectedCategoriesChange($event)" - (searchValueChanged)="onSearchValueChanged($event)" - ></gp-filters> - </mat-sidenav> - <mat-sidenav-content> - <div class="content-container"> - <div class="sort-toggle-container"> - <div class="gp-sort-by"> - <gp-sort-by - [sortByOptions]="sortByOptions" - [selectedSortBy]="sortByFilter" - (sortBySelected)="updateFieldToDirectionMap($event)" - ></gp-sort-by> - </div> - <div class="gp-card-list-view"> - <gp-solutions-toggle-view - [viewTile]="viewTile" - (viewTileChange)="onViewTileChange($event)" - ></gp-solutions-toggle-view> - </div> +<div class="flex-column"> + <section class="pageheadsection mob-pageheadsection1"> + <div class="mdl-grid mdl-grid.mdl-grid--no-spacing"> + <div> + <gp-headline [headlineTitle]="'My Models'"></gp-headline> </div> - <!--Unpublished models section--> - @if (modelType === "both") { - <div class="flex-column"> - <gp-model-list - [solutions]="selectedUnpublishedSolutions" - [totalItems]="unpublishedTotalItems" - [isLoading]="isUnpublishedSolutionsLoading" - [headlineTitle]="'MY UNPUBLISHED MODELS'" - [showEntirePage]="false" - [viewTile]="viewTile" - [pageSize]="pageSize" - [pageIndex]="pageIndex" - [pageSizeOptions]="pageSizeOptions" - [modelType]="'unpublished'" - [favoriteSolutionsMap]="favoriteSolutionsMap" - [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" - [calculateEndIndex]=" - calculateEndIndex(unpublishedTotalItems, pageIndex, pageSize) - " - (pageChange)="onPageChange($event)" - (updateFavorite)="updateFavorite($event)" - (backEvent)="onClickBack('both')" - ></gp-model-list> + <gp-breadcrumb-navigation + [firstNavigationLabel]="{ label: 'Home' }" + [secondNavigationLabel]="{ label: 'My models', disabled: true }" + (firstNavigationClicked)="onHomeClick()" + ></gp-breadcrumb-navigation> + </div> + </section> + <mat-sidenav-container> + <mat-sidenav mode="side" opened> + <gp-filters + [tags]="tags" + [categories]="categories" + (selectedTagsChange)="handleSelectedTagsChange($event)" + (selectedCategoriesChange)="handleSelectedCategoriesChange($event)" + (searchValueChanged)="onSearchValueChanged($event)" + ></gp-filters> + </mat-sidenav> + <mat-sidenav-content class="page-wrap"> + <main class="content-router-outlet"> + <div class="content-container"> + <div class="sort-toggle-container"> + <div class="gp-sort-by"> + <gp-sort-by + [sortByOptions]="sortByOptions" + [selectedSortBy]="sortByFilter" + (sortBySelected)="updateFieldToDirectionMap($event)" + ></gp-sort-by> + </div> + <div class="gp-card-list-view"> + <gp-solutions-toggle-view + [viewTile]="viewTile" + (viewTileChange)="onViewTileChange($event)" + ></gp-solutions-toggle-view> + </div> + </div> + <!--Unpublished models section--> + @if (modelType === "both") { + <div class="flex-column"> + <gp-model-list + [solutions]="selectedUnpublishedSolutions" + [totalItems]="unpublishedTotalItems" + [isLoading]="isUnpublishedSolutionsLoading" + [headlineTitle]="'MY UNPUBLISHED MODELS'" + [showEntirePage]="false" + [viewTile]="viewTile" + [pageSize]="pageSize" + [pageIndex]="pageIndex" + [pageSizeOptions]="pageSizeOptions" + [modelType]="'unpublished'" + [favoriteSolutionsMap]="favoriteSolutionsMap" + [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" + [calculateEndIndex]=" + calculateEndIndex(unpublishedTotalItems, pageIndex, pageSize) + " + (pageChange)="onPageChange($event)" + (updateFavorite)="updateFavorite($event)" + (backEvent)="onClickBack('both')" + ></gp-model-list> - <div class="see-all-container"> - <button - class="see-all-button" - aria-label="icon button with a menu icon" - (click)="onClickSeeAll('unpublished')" - > - <div class="see-all-text-container"> - <span>See all</span> <mat-icon>arrow_forward_ios</mat-icon> + <div class="see-all-container"> + <button + class="see-all-button" + aria-label="icon button with a menu icon" + (click)="onClickSeeAll('unpublished')" + > + <div class="see-all-text-container"> + <span>See all</span> <mat-icon>arrow_forward_ios</mat-icon> + </div> + </button> </div> - </button> - </div> - </div> - } + </div> + } - @if (modelType === "unpublished") { - <div class="flex-column"> - <gp-model-list - [solutions]="selectedUnpublishedSolutions" - [totalItems]="unpublishedTotalItems" - [isLoading]="isUnpublishedSolutionsLoading" - [headlineTitle]="'MY UNPUBLISHED MODELS'" - [showEntirePage]="true" - [viewTile]="viewTile" - [pageSize]="pageSize" - [pageIndex]="pageIndex" - [pageSizeOptions]="pageSizeOptions" - [modelType]="'unpublished'" - [favoriteSolutionsMap]="favoriteSolutionsMap" - [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" - [calculateEndIndex]=" - calculateEndIndex(unpublishedTotalItems, pageIndex, pageSize) - " - (pageChange)="onPageChange($event)" - (updateFavorite)="updateFavorite($event)" - (backEvent)="onClickBack('both')" - ></gp-model-list> - </div> - } + @if (modelType === "unpublished") { + <div class="flex-column"> + <gp-model-list + [solutions]="selectedUnpublishedSolutions" + [totalItems]="unpublishedTotalItems" + [isLoading]="isUnpublishedSolutionsLoading" + [headlineTitle]="'MY UNPUBLISHED MODELS'" + [showEntirePage]="true" + [viewTile]="viewTile" + [pageSize]="pageSize" + [pageIndex]="pageIndex" + [pageSizeOptions]="pageSizeOptions" + [modelType]="'unpublished'" + [favoriteSolutionsMap]="favoriteSolutionsMap" + [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" + [calculateEndIndex]=" + calculateEndIndex(unpublishedTotalItems, pageIndex, pageSize) + " + (pageChange)="onPageChange($event)" + (updateFavorite)="updateFavorite($event)" + (backEvent)="onClickBack('both')" + ></gp-model-list> + </div> + } - <!--published solutions --> + <!--published solutions --> - @if (modelType === "both") { - <div class="flex-column"> - <gp-model-list - [solutions]="selectedPublishedSolutions" - [totalItems]="publishedTotalItems" - [isLoading]="isPublishedSolutionsLoading" - [headlineTitle]="'MY PUBLISHED MODELS'" - [showEntirePage]="false" - [viewTile]="viewTile" - [pageSize]="pageSize" - [pageIndex]="pageIndex" - [pageSizeOptions]="pageSizeOptions" - [modelType]="'published'" - [favoriteSolutionsMap]="favoriteSolutionsMap" - [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" - [calculateEndIndex]=" - calculateEndIndex(publishedTotalItems, pageIndex, pageSize) - " - (pageChange)="onPageChange($event)" - (updateFavorite)="updateFavorite($event)" - (backEvent)="onClickBack('both')" - ></gp-model-list> + @if (modelType === "both") { + <div class="flex-column"> + <gp-model-list + [solutions]="selectedPublishedSolutions" + [totalItems]="publishedTotalItems" + [isLoading]="isPublishedSolutionsLoading" + [headlineTitle]="'MY PUBLISHED MODELS'" + [showEntirePage]="false" + [viewTile]="viewTile" + [pageSize]="pageSize" + [pageIndex]="pageIndex" + [pageSizeOptions]="pageSizeOptions" + [modelType]="'published'" + [favoriteSolutionsMap]="favoriteSolutionsMap" + [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" + [calculateEndIndex]=" + calculateEndIndex(publishedTotalItems, pageIndex, pageSize) + " + (pageChange)="onPageChange($event)" + (updateFavorite)="updateFavorite($event)" + (backEvent)="onClickBack('both')" + ></gp-model-list> - <div class="see-all-container"> - <button - class="see-all-button" - aria-label="Example icon button with a menu icon" - (click)="onClickSeeAll('published')" - > - <div class="see-all-text-container"> - <span>See all</span> <mat-icon>arrow_forward_ios</mat-icon> + <div class="see-all-container"> + <button + class="see-all-button" + aria-label="Example icon button with a menu icon" + (click)="onClickSeeAll('published')" + > + <div class="see-all-text-container"> + <span>See all</span> <mat-icon>arrow_forward_ios</mat-icon> + </div> + </button> </div> - </button> - </div> - </div> - } - @if (modelType === "published") { - <div class="flex-column"> - <gp-model-list - [solutions]="selectedPublishedSolutions" - [totalItems]="publishedTotalItems" - [isLoading]="isPublishedSolutionsLoading" - [headlineTitle]="'MY PUBLISHED MODELS'" - [showEntirePage]="true" - [viewTile]="viewTile" - [pageSize]="pageSize" - [pageIndex]="pageIndex" - [pageSizeOptions]="pageSizeOptions" - [modelType]="'published'" - [favoriteSolutionsMap]="favoriteSolutionsMap" - [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" - [calculateEndIndex]=" - calculateEndIndex(publishedTotalItems, pageIndex, pageSize) - " - (pageChange)="onPageChange($event)" - (updateFavorite)="updateFavorite($event)" - (backEvent)="onClickBack('both')" - ></gp-model-list> + </div> + } + @if (modelType === "published") { + <div class="flex-column"> + <gp-model-list + [solutions]="selectedPublishedSolutions" + [totalItems]="publishedTotalItems" + [isLoading]="isPublishedSolutionsLoading" + [headlineTitle]="'MY PUBLISHED MODELS'" + [showEntirePage]="true" + [viewTile]="viewTile" + [pageSize]="pageSize" + [pageIndex]="pageIndex" + [pageSizeOptions]="pageSizeOptions" + [modelType]="'published'" + [favoriteSolutionsMap]="favoriteSolutionsMap" + [calculateStartIndex]="calculateStartIndex(pageIndex, pageSize)" + [calculateEndIndex]=" + calculateEndIndex(publishedTotalItems, pageIndex, pageSize) + " + (pageChange)="onPageChange($event)" + (updateFavorite)="updateFavorite($event)" + (backEvent)="onClickBack('both')" + ></gp-model-list> + </div> + } </div> - } - </div> </mat-sidenav-content -></mat-sidenav-container> + </main> </mat-sidenav-content + ></mat-sidenav-container> +</div> diff --git a/src/app/features/dashboard/my-models/my-models.component.scss b/src/app/features/dashboard/my-models/my-models.component.scss index 1819422..f0f6420 100644 --- a/src/app/features/dashboard/my-models/my-models.component.scss +++ b/src/app/features/dashboard/my-models/my-models.component.scss @@ -2,9 +2,23 @@ padding: 24px; } +.page-wrap { + display: flex !important; + flex-direction: column !important; + min-height: 100vh !important; +} + +.content-router-outlet { + flex: 1; +} + +// content height +::ng-deep.mat-drawer-content { + height: 89.1% !important; +} + mat-sidenav-container { - height: calc(100% - 64px); - overflow: auto; + overflow: hidden; } .cards-container { @@ -25,7 +39,7 @@ mat-sidenav { width: 300px; background: #f1f1f1; height: 100%; - overflow-y: auto; + overflow: hidden; } .mat-grid-tile { @@ -34,23 +48,11 @@ mat-sidenav { :host ::ng-deep .mat-drawer-inner-container { overflow: hidden !important; + padding: 20px 0 20px 0; } mat-sidenav-content { - height: 77vh; - overflow: auto; - .loading-data { - height: 75vh; - width: 100%; - overflow: hidden !important; - display: flex; - align-items: center; - justify-content: center; - - p { - margin: 0; - } - } + overflow: hidden !important; } .pageheadsection { diff --git a/src/app/features/marketplace/marketplace.component.html b/src/app/features/marketplace/marketplace.component.html index 17d9586..1e1ff78 100644 --- a/src/app/features/marketplace/marketplace.component.html +++ b/src/app/features/marketplace/marketplace.component.html @@ -1,126 +1,131 @@ -<section class="pageheadsection mob-pageheadsection1"> - <div class="mdl-grid mdl-grid.mdl-grid--no-spacing"> - <div> - <gp-headline [headlineTitle]="'Marketplace |'"></gp-headline> - <div class="favorite-buttons-container" *ngIf="loginUserId"> - <button - class="favorite-button" - mat-raised-button - [color]="!isOnMyFavoriteSelected ? 'primary' : ''" - (click)="onAllCatalogsClick()" - > - All catalogs - </button> - <button - class="favorite-button" - mat-raised-button - [color]="isOnMyFavoriteSelected ? 'primary' : ''" - (click)="onMyFavoriteCatalogsClick()" - > - My favorite catalogs - </button> +<div class="flex-column"> + <section class="pageheadsection mob-pageheadsection1"> + <div class="mdl-grid mdl-grid.mdl-grid--no-spacing"> + <div> + <gp-headline [headlineTitle]="'Marketplace |'"></gp-headline> + <div class="favorite-buttons-container" *ngIf="loginUserId"> + <button + class="favorite-button" + mat-raised-button + [color]="!isOnMyFavoriteSelected ? 'primary' : ''" + (click)="onAllCatalogsClick()" + > + All catalogs + </button> + <button + class="favorite-button" + mat-raised-button + [color]="isOnMyFavoriteSelected ? 'primary' : ''" + (click)="onMyFavoriteCatalogsClick()" + > + My favorite catalogs + </button> + </div> </div> + <gp-breadcrumb-navigation + [firstNavigationLabel]="{ label: 'Home' }" + [secondNavigationLabel]="{ label: 'Marketplace', disabled: true }" + (firstNavigationClicked)="onHomeClick()" + ></gp-breadcrumb-navigation> </div> - <gp-breadcrumb-navigation - [firstNavigationLabel]="{ label: 'Home' }" - [secondNavigationLabel]="{ label: 'Marketplace', disabled: true }" - (firstNavigationClicked)="onHomeClick()" - ></gp-breadcrumb-navigation> - </div> -</section> -<mat-sidenav-container> - <mat-sidenav mode="side" opened> - <gp-filters - [tags]="tags" - [categories]="categories" - (selectedTagsChange)="handleSelectedTagsChange($event)" - (selectedCategoriesChange)="handleSelectedCategoriesChange($event)" - (searchValueChanged)="onSearchValueChanged($event)" - ></gp-filters> - </mat-sidenav> - <mat-sidenav-content> - <div class="filters-container"> - <div class="total-items-container" *ngIf="!isLoading"> - @if (totalItems > 0) { - <div class="total-items-text-container"> - <span class="showing-text" - >Showing - - <span class="total-items-text"> - {{ calculateStartIndex() }} to {{ calculateEndIndex() }} of - {{ totalItems }} Models</span - ></span - > + </section> + <mat-sidenav-container> + <mat-sidenav mode="side" opened> + <gp-filters + [tags]="tags" + [categories]="categories" + (selectedTagsChange)="handleSelectedTagsChange($event)" + (selectedCategoriesChange)="handleSelectedCategoriesChange($event)" + (searchValueChanged)="onSearchValueChanged($event)" + ></gp-filters> + </mat-sidenav> + <mat-sidenav-content class="page-wrap"> + <main class="content-router-outlet"> + <div class="filters-container"> + <div class="total-items-container" *ngIf="!isLoading"> + @if (totalItems > 0) { + <div class="total-items-text-container"> + <span class="showing-text" + >Showing - + <span class="total-items-text"> + {{ calculateStartIndex() }} to {{ calculateEndIndex() }} of + {{ totalItems }} Models</span + ></span + > + </div> + } </div> - } - </div> - <div class="gp-sort-by" *ngIf="!isLoading"> - <gp-sort-by - [sortByOptions]="sortByOptions" - [selectedSortBy]="sortByFilter" - (sortBySelected)="updateFieldToDirectionMap($event)" - ></gp-sort-by> - </div> - <div class="gp-card-list-view" *ngIf="!isLoading"> - <gp-solutions-toggle-view - [viewTile]="viewTile" - (viewTileChange)="onViewTileChange($event)" - ></gp-solutions-toggle-view> - </div> - </div> - <ng-container *ngIf="publicSolutions && !isLoading; else loadingState"> - <ng-container *ngIf="publicSolutions.length > 0; else noCatalogs"> - <div *ngIf="!viewTile; else gridView"> - <!-- Horizontal list view content --> - <div class="grid-list"> - <gp-list-item - [item]="item" - [items]="publicSolutions" - [isMarketPlacePage]="true" - [isPublishedSolution]="true" - *ngFor="let item of publicSolutions" - ></gp-list-item> + <div class="gp-sort-by" *ngIf="!isLoading"> + <gp-sort-by + [sortByOptions]="sortByOptions" + [selectedSortBy]="sortByFilter" + (sortBySelected)="updateFieldToDirectionMap($event)" + ></gp-sort-by> + </div> + <div class="gp-card-list-view" *ngIf="!isLoading"> + <gp-solutions-toggle-view + [viewTile]="viewTile" + (viewTileChange)="onViewTileChange($event)" + ></gp-solutions-toggle-view> </div> </div> - <ng-template #gridView> - <div class="grid-list"> - <mat-grid-list cols="5" rowHeight="3:4" gutterSize="20px"> - <mat-grid-tile *ngFor="let item of publicSolutions"> - <div class="cards-container"> - <gp-card-item - [isPublishedSolution]="true" - [item]="item" - [items]="publicSolutions" - [isMarketPlacePage]="true" - [isFavoriteSolution]="favoriteSolutionsMap[item.solutionId]" - (favoriteClicked)="updateFavorite(item.solutionId)" - ></gp-card-item> - </div> - </mat-grid-tile> - </mat-grid-list> + <ng-container *ngIf="publicSolutions && !isLoading; else loadingState"> + <ng-container *ngIf="publicSolutions.length > 0; else noCatalogs"> + <div *ngIf="!viewTile; else gridView"> + <!-- Horizontal list view content --> + <div class="grid-list"> + <gp-list-item + [item]="item" + [items]="publicSolutions" + [isMarketPlacePage]="true" + [isPublishedSolution]="true" + *ngFor="let item of publicSolutions" + ></gp-list-item> + </div> + </div> + <ng-template #gridView> + <div class="grid-list"> + <mat-grid-list cols="5" rowHeight="3:4" gutterSize="20px"> + <mat-grid-tile *ngFor="let item of publicSolutions"> + <div class="cards-container"> + <gp-card-item + [isPublishedSolution]="true" + [item]="item" + [items]="publicSolutions" + [isMarketPlacePage]="true" + [isFavoriteSolution]=" + favoriteSolutionsMap[item.solutionId] + " + (favoriteClicked)="updateFavorite(item.solutionId)" + ></gp-card-item> + </div> + </mat-grid-tile> + </mat-grid-list> + </div> + </ng-template> + </ng-container> + <ng-template #noCatalogs> + <div class="loading-data"> + <p>No result found...</p> + </div> + </ng-template> + </ng-container> + <ng-template #loadingState> + <div class="loading-data"> + <p>Loading data ...</p> </div> </ng-template> - </ng-container> - <ng-template #noCatalogs> - <div class="loading-data"> - <p>No result found...</p> - </div> - </ng-template> - </ng-container> - <ng-template #loadingState> - <div class="loading-data"> - <p>Loading data ...</p> - </div> - </ng-template> - @if (totalItems > 0) { - <mat-paginator - [length]="totalItems" - [pageSize]="pageSize" - [pageSizeOptions]="pageSizeOptions" - (page)="onPageChange($event)" - aria-label="Select page" - aria-label="Select page" - > - </mat-paginator> - }</mat-sidenav-content -></mat-sidenav-container> + @if (totalItems > 0) { + <mat-paginator + [length]="totalItems" + [pageSize]="pageSize" + [pageSizeOptions]="pageSizeOptions" + (page)="onPageChange($event)" + aria-label="Select page" + aria-label="Select page" + > + </mat-paginator> + }</main></mat-sidenav-content + ></mat-sidenav-container> +</div> diff --git a/src/app/features/marketplace/marketplace.component.scss b/src/app/features/marketplace/marketplace.component.scss index a7889e3..d5e1010 100644 --- a/src/app/features/marketplace/marketplace.component.scss +++ b/src/app/features/marketplace/marketplace.component.scss @@ -2,9 +2,23 @@ padding: 24px; } +.page-wrap { + display: flex !important; + flex-direction: column !important; + min-height: 100vh !important; +} + +.content-router-outlet { + flex: 1; +} + +// content height +::ng-deep.mat-drawer-content { + height: 89.1% !important; +} + mat-sidenav-container { - height: calc(100% - 64px); - overflow: auto; + overflow: hidden; } .cards-container { @@ -25,7 +39,8 @@ mat-sidenav { width: 300px; background: #f1f1f1; height: 100%; - overflow-y: auto; + //overflow-y: auto; + overflow: hidden; } .mat-grid-tile { @@ -34,23 +49,11 @@ mat-sidenav { :host ::ng-deep .mat-drawer-inner-container { overflow: hidden !important; + padding: 20px 0 20px 0; } mat-sidenav-content { - height: 77vh; - overflow: auto; - .loading-data { - height: 75vh; - width: 100%; - overflow: hidden !important; - display: flex; - align-items: center; - justify-content: center; - - p { - margin: 0; - } - } + overflow: hidden; } .pageheadsection { @@ -160,3 +163,7 @@ mat-sidenav-content { .total-items-text { color: #8f8f8f; } + +.full-height { + height: 100%; +} diff --git a/src/app/features/model-details/model-details.component.html b/src/app/features/model-details/model-details.component.html index c4b6886..b39f6e5 100644 --- a/src/app/features/model-details/model-details.component.html +++ b/src/app/features/model-details/model-details.component.html @@ -1,382 +1,398 @@ -<section class="pageheadsection" *ngIf="data$ | async as data"> - <div class="md-head-container1"> - <div class="md-head-containerinner1"> - <div matTooltip="{{ solution?.name?.toString()?.split('_')?.join('') }}"> - <span class="md-headline4" - ><img [src]="imageToShow" tabindex="0" class="solutions-img" />{{ - data.solution?.name?.toString()?.split("_")?.join(" ") - }} - </span> - </div> - <div class="md-head-container3"> - <div class="md-head-containerinner-seperator"></div> - <div class="version-container cataloglist-container"> - <button - class="mdl-button" - #menuTrigger="matMenuTrigger" - [matMenuTriggerFor]="menu" - (click)="menuTrigger.openMenu()" - > - <span class="text-ellipsis" - >Catalog - {{ selectedDefaultCatalog?.name }}</span - > - <i class="material-icons">keyboard_arrow_down</i> - </button> - <mat-menu #menu="matMenu"> - <ul> - <li *ngFor="let catalog of data.catalogs" class="selected"> - <span - [ngClass]="{ - 'md-cat-txtellipsis': catalog.name.length > 15 - }" - >{{ catalog.name }}</span - > - <span class="custom-tooltip-text">{{ catalog.name }}</span> - </li> - </ul> - </mat-menu> +<div class="flex-column"> + <section class="pageheadsection" *ngIf="data$ | async as data"> + <div class="md-head-container1"> + <div class="md-head-containerinner1"> + <div + matTooltip="{{ solution?.name?.toString()?.split('_')?.join('') }}" + > + <span class="md-headline4" + ><img [src]="imageToShow" tabindex="0" class="solutions-img" />{{ + data.solution?.name?.toString()?.split("_")?.join(" ") + }} + </span> </div> - </div> - <gp-version-dropdown - [selectedDefaultRevision]="selectedDefaultRevision" - [revisionsList]="revisionsList" - (revisionChange)="onChangeVersion($event)" - ></gp-version-dropdown> - </div> - <ng-container *ngIf="isLoggedIn$ | async; else notLoggedIn"> - <div class="md-head-container2"> - <div class="select-control dcl-list"> - <mat-form-field appearance="fill"> - <mat-select placeholder="Deploy for Execution"> - <mat-option - *ngFor="let menuEntry of deployMenu" - [value]="menuEntry.title" - (click)="triggerDeployment(menuEntry)" + <div class="md-head-container3"> + <div class="md-head-containerinner-seperator"></div> + <div class="version-container cataloglist-container"> + <button + class="mdl-button" + #menuTrigger="matMenuTrigger" + [matMenuTriggerFor]="menu" + (click)="menuTrigger.openMenu()" + > + <span class="text-ellipsis" + >Catalog - {{ selectedDefaultCatalog?.name }}</span > - <img - [src]="getImagePath(menuEntry.title)" - class="deploy-image" - /> - {{ menuEntry.title }} - </mat-option> - </mat-select> - </mat-form-field> + <i class="material-icons">keyboard_arrow_down</i> + </button> + <mat-menu #menu="matMenu"> + <ul> + <li *ngFor="let catalog of data.catalogs" class="selected"> + <span + [ngClass]="{ + 'md-cat-txtellipsis': catalog.name.length > 15 + }" + >{{ catalog.name }}</span + > + <span class="custom-tooltip-text">{{ catalog.name }}</span> + </li> + </ul> + </mat-menu> + </div> </div> + <gp-version-dropdown + [selectedDefaultRevision]="selectedDefaultRevision" + [revisionsList]="revisionsList" + (revisionChange)="onChangeVersion($event)" + ></gp-version-dropdown> </div> - </ng-container> - <ng-template #notLoggedIn> - <div class="md-head-container2"> - <button class="mdl-button btn-primary" (click)="openSignInDialog()"> - Sign in to download - </button> - <button class="mdl-button btn-secondary" (click)="openSignInDialog()"> - Sign in to deploy to cloud - </button> - </div> - </ng-template> - </div> + <ng-container *ngIf="isLoggedIn$ | async; else notLoggedIn"> + <div class="md-head-container2"> + <div class="select-control dcl-list"> + <mat-form-field appearance="fill"> + <mat-select placeholder="Deploy for Execution"> + <mat-option + *ngFor="let menuEntry of deployMenu" + [value]="menuEntry.title" + (click)="triggerDeployment(menuEntry)" + > + <img + [src]="getImagePath(menuEntry.title)" + class="deploy-image" + /> + {{ menuEntry.title }} + </mat-option> + </mat-select> + </mat-form-field> + </div> + </div> + </ng-container> + <ng-template #notLoggedIn> + <div class="md-head-container2"> + <button class="mdl-button btn-primary" (click)="openSignInDialog()"> + Sign in to download + </button> + <button class="mdl-button btn-secondary" (click)="openSignInDialog()"> + Sign in to deploy to cloud + </button> + </div> + </ng-template> + </div> - <div class="md-head-container2 breadcrumb-navigation-container"> - <gp-breadcrumb-navigation - [solution]="data.solution" - [firstNavigationLabel]="{ label: 'Home' }" - [secondNavigationLabel]="{ label: 'MarketPlace' }" - (firstNavigationClicked)="onHomeClick()" - (secondNavigationClicked)="onMarketPlaceClick()" - ></gp-breadcrumb-navigation> - <span class="md-lbl1" - >Version {{ selectedDefaultRevision?.version }} | - {{ - data.solution?.downloadCount === null ? 0 : data.solution?.downloadCount - }} - Downloaded</span - > - </div> -</section> -<div class="md-container-head1 md-header3" *ngIf="data$ | async as data"> - <div class="head-stat-left"> - <div class="mdchild1"> - <img - class="userimg" - src="../../../assets/images/user-profile-black.png" - /> + <div class="md-head-container2 breadcrumb-navigation-container"> + <gp-breadcrumb-navigation + [solution]="data.solution" + [firstNavigationLabel]="{ label: 'Home' }" + [secondNavigationLabel]="{ label: 'MarketPlace' }" + (firstNavigationClicked)="onHomeClick()" + (secondNavigationClicked)="onMarketPlaceClick()" + ></gp-breadcrumb-navigation> + <span class="md-lbl1" + >Version {{ selectedDefaultRevision?.version }} | + {{ + data.solution?.downloadCount === null + ? 0 + : data.solution?.downloadCount + }} + Downloaded</span + > </div> - <div> + </section> + <div class="md-container-head1 md-header3" *ngIf="data$ | async as data"> + <div class="head-stat-left"> + <div class="mdchild1"> + <img + class="userimg" + src="../../../assets/images/user-profile-black.png" + /> + </div> <div> - <span class="text-medium font600" - ><span class="md-created-label" - >Created by - {{ - data.authors && data.authors[0] - ? data.authors[0]?.name - : data.solution?.ownerName - }}</span - ></span - > - | - <span class="text-xsmall" - >Created on {{ data.solution?.created | date: "MM/dd/yyyy" }} </span - ><span ng-if="!audit" - >| - <button - class="mdl-button mdl-js-button btn-md-edit" - [disabled]="!editModel" - alt="Manage My Model" - title="Manage My Model" - (click)="OnlClickManageMyModel()" + <div> + <span class="text-medium font600" + ><span class="md-created-label" + >Created by + {{ + data.authors && data.authors[0] + ? data.authors[0]?.name + : data.solution?.ownerName + }}</span + ></span > - Manage My Model - </button> - </span> + | + <span class="text-xsmall" + >Created on {{ data.solution?.created | date: "MM/dd/yyyy" }} </span + ><span ng-if="!audit" + >| + <button + class="mdl-button mdl-js-button btn-md-edit" + [disabled]="!editModel" + alt="Manage My Model" + title="Manage My Model" + (click)="OnlClickManageMyModel()" + > + Manage My Model + </button> + </span> + </div> + <span + class="text-xsmall publish-text" + *ngIf="data.catalogs && data.catalogs.length > 0" + >Published on {{ data.solution?.modified | date: "MM/dd/yyyy" }}</span + > </div> - <span - class="text-xsmall publish-text" - *ngIf="data.catalogs && data.catalogs.length > 0" - >Published on {{ data.solution?.modified | date: "MM/dd/yyyy" }}</span - > - </div> - </div> - <div class="header-stats"> - <div> - <a - class="link-blue text-medium md-icons1 scrollToComment-button" - (click)="scrollToComment('view')" - ><span - class="statistics-icons icon-chat-blue md-icons1" - alt="Comment" - title="Comment" - ></span> - {{ data.comments.response_body.content.length }} - <span class="header-stat-lg">Comments</span></a - > </div> - <div *ngIf="data.solution?.active === true">|</div> - <div *ngIf="data.solution?.active === true"> - <a - class="link-write-comments link-blue text-medium md-icons1 scrollToComment-button" - (click)="scrollToComment('edit')" - >Write comments</a - > - </div> - <div>|</div> - <div class="text-medium view-download-container"> - <gp-view-count [item]="data.solution" class="md-icons1"></gp-view-count> - </div> - <div>|</div> - <div class="text-medium view-download-container"> - <gp-download-count - [item]="data.solution" - class="md-icons1" - ></gp-download-count> + <div class="header-stats"> + <div> + <a + class="link-blue text-medium md-icons1 scrollToComment-button" + (click)="scrollToComment('view')" + ><span + class="statistics-icons icon-chat-blue md-icons1" + alt="Comment" + title="Comment" + ></span> + {{ data.comments.response_body.content.length }} + <span class="header-stat-lg">Comments</span></a + > + </div> + <div *ngIf="data.solution?.active === true">|</div> + <div *ngIf="data.solution?.active === true"> + <a + class="link-write-comments link-blue text-medium md-icons1 scrollToComment-button" + (click)="scrollToComment('edit')" + >Write comments</a + > + </div> + <div>|</div> + <div class="text-medium view-download-container"> + <gp-view-count [item]="data.solution" class="md-icons1"></gp-view-count> + </div> + <div>|</div> + <div class="text-medium view-download-container"> + <gp-download-count + [item]="data.solution" + class="md-icons1" + ></gp-download-count> + </div> </div> </div> -</div> -<mat-sidenav-container *ngIf="data$ | async as data"> - <mat-sidenav mode="side" opened> - <nav mat-tab-nav-bar class="margin: 20px 0 20px 0;" [tabPanel]="tabPanel"> - <a mat-tab-link routerLink="modelDescription" routerLinkActive="is-active" - ><mat-icon fontIcon="description"></mat-icon - ><span class="tab-box">Description</span></a - > - <a mat-tab-link routerLink="licenseProfile" routerLinkActive="is-active"> - <span - class="tab_license" - [ngClass]=" - isActive( - '/marketSolutions/model-details/' + - solutionId + - '/' + - revisionId + - '/licenseProfile' - ) - ? 'tab-license-profile-is-active' - : 'tab-license-profile-not-active' - " - ></span - ><span class="tab-box"> License profile</span></a - > - <a mat-tab-link routerLink="modelSignature" routerLinkActive="is-active" - ><mat-icon fontIcon="sync_alt"></mat-icon - ><span class="tab-box">Signature</span></a - > - <a mat-tab-link routerLink="modelDocuments" routerLinkActive="is-active" - ><mat-icon fontIcon="content_copy"></mat-icon - ><span class="tab-box">Documents</span></a - > - <a mat-tab-link routerLink="modelArtifacts" routerLinkActive="is-active" - ><mat-icon fontIcon="history"></mat-icon - ><span class="tab-box">Model artifacts</span></a - > - <a mat-tab-link routerLink="modelAuthor" routerLinkActive="is-active"> - <span - class="tab-icon" - [ngClass]=" - isActive( - '/marketSolutions/model-details/' + - solutionId + - '/' + - revisionId + - '/modelAuthor' - ) - ? 'tab-author_details-is-active' - : 'tab-author_details-not-active' - " + <mat-sidenav-container *ngIf="data$ | async as data"> + <mat-sidenav mode="side" opened #sidenav> + <nav mat-tab-nav-bar class="margin: 20px 0 20px 0;" [tabPanel]="tabPanel"> + <a + mat-tab-link + routerLink="modelDescription" + routerLinkActive="is-active" + ><mat-icon fontIcon="description"></mat-icon + ><span class="tab-box">Description</span></a > - </span> - <span class="tab-box author-publisher-text"> - <span>Author</span> - <span>/</span> - <span>Publisher details</span> - </span> - </a> - </nav> - <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel> - <mat-divider></mat-divider> - <div> - <h6 class="sectiontitle4"> - Tags<span class="title-icons icon-tags" alt="Tags" title="Tags"></span> - </h6> - <mat-chip-set class="chip-set-tags" aria-label="Tags selection"> - <mat-chip-option - *ngFor="let tag of data.solution.solutionTagList" - color="primary" - class="chips-width" - [matTooltip]="tag.tag" + <a + mat-tab-link + routerLink="licenseProfile" + routerLinkActive="is-active" > - {{ tag.tag }} - </mat-chip-option> - </mat-chip-set> - </div> - <mat-divider></mat-divider> - <div> - <h6 class="sectiontitle5"> - Other {{ data.solution?.modelTypeName }} Models - </h6> + <span + class="tab_license" + [ngClass]=" + isActive( + '/marketSolutions/model-details/' + + solutionId + + '/' + + revisionId + + '/licenseProfile' + ) + ? 'tab-license-profile-is-active' + : 'tab-license-profile-not-active' + " + ></span + ><span class="tab-box"> License profile</span></a + > + <a mat-tab-link routerLink="modelSignature" routerLinkActive="is-active" + ><mat-icon fontIcon="sync_alt"></mat-icon + ><span class="tab-box">Signature</span></a + > + <a mat-tab-link routerLink="modelDocuments" routerLinkActive="is-active" + ><mat-icon fontIcon="content_copy"></mat-icon + ><span class="tab-box">Documents</span></a + > + <a mat-tab-link routerLink="modelArtifacts" routerLinkActive="is-active" + ><mat-icon fontIcon="history"></mat-icon + ><span class="tab-box">Model artifacts</span></a + > + <a mat-tab-link routerLink="modelAuthor" routerLinkActive="is-active"> + <span + class="tab-icon" + [ngClass]=" + isActive( + '/marketSolutions/model-details/' + + solutionId + + '/' + + revisionId + + '/modelAuthor' + ) + ? 'tab-author_details-is-active' + : 'tab-author_details-not-active' + " + > + </span> + <span class="tab-box author-publisher-text"> + <span>Author</span> + <span>/</span> + <span>Publisher details</span> + </span> + </a> + </nav> + <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel> <mat-divider></mat-divider> - <a class="text-small pull-right show-all" (click)="onClickShowAll()" - >Show all</a - > <div> - <div class="md-list-container1"> - <div - *ngFor="let val of data.relatedSolutions | slice: 0 : 5" - class="list-item list-container" + <h6 class="sectiontitle4"> + Tags<span + class="title-icons icon-tags" + alt="Tags" + title="Tags" + ></span> + </h6> + <mat-chip-set class="chip-set-tags" aria-label="Tags selection"> + <mat-chip-option + *ngFor="let tag of data.solution.solutionTagList" + color="primary" + class="chips-width" + [matTooltip]="tag.tag" > - <ul - class="model-list go-to-related-solutions-ul" - (click)=" - goToRelatedSolutions(val.solutionId, val.latestRevisionId) - " + {{ tag.tag }} + </mat-chip-option> + </mat-chip-set> + </div> + <mat-divider></mat-divider> + <div> + <h6 class="sectiontitle5"> + Other {{ data.solution?.modelTypeName }} Models + </h6> + <mat-divider></mat-divider> + <a class="text-small pull-right show-all" (click)="onClickShowAll()" + >Show all</a + > + <div> + <div class="md-list-container1"> + <div + *ngFor="let val of data.relatedSolutions | slice: 0 : 5" + class="list-item list-container" > - <li> - <img - src="../../../assets/images/solution2.jpg" - alt="" - (click)=" - goToRelatedSolutions(val.solutionId, val.latestRevisionId) - " - title="solution" - /> - </li> - <li> - <label - class="rel-title" - (click)=" - goToRelatedSolutions(val.solutionId, val.latestRevisionId) - " - >{{ val.name.toString().split("_").join(" ") }}</label - > - <span class="rating"> - <span> - <i - class="material-icons fa fa-star" - [ngClass]="{ - 'fa-star1': - val.solutionRatingAvg == null || - val.solutionRatingAvg < 1 - }" - ></i> - </span> - <span> - <i - class="material-icons fa fa-star" - [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 2 }" - ></i> - </span> - <span> - <i - class="material-icons fa fa-star" - [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 3 }" - ></i> - </span> - <span> - <i - class="material-icons fa fa-star" - [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 4 }" - ></i> - </span> - <span> - <i - class="material-icons fa fa-star" - [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 5 }" - ></i> - </span> - </span> - <label class="iconcontainer"> - <span class="iconspan1"> - <span - class="statistics-icons icon-chat" - alt="Comment" - title="Comment" - ></span> - 0 - </span> - <span class="iconspan1"> - <span - class="statistics-icons icon-view" - alt="View" - title="View" - ></span> - {{ val.viewCount }} - </span> - <span class="iconspan1"> - <span - class="statistics-icons icon-download" - alt="Download" - title="Download" - ></span> - {{ val.downloadCount }} + <ul + class="model-list go-to-related-solutions-ul" + (click)=" + goToRelatedSolutions(val.solutionId, val.latestRevisionId) + " + > + <li> + <img + src="../../../assets/images/solution2.jpg" + alt="" + (click)=" + goToRelatedSolutions(val.solutionId, val.latestRevisionId) + " + title="solution" + /> + </li> + <li> + <label + class="rel-title" + (click)=" + goToRelatedSolutions(val.solutionId, val.latestRevisionId) + " + >{{ val.name.toString().split("_").join(" ") }}</label + > + <span class="rating"> + <span> + <i + class="material-icons fa fa-star" + [ngClass]="{ + 'fa-star1': + val.solutionRatingAvg == null || + val.solutionRatingAvg < 1 + }" + ></i> + </span> + <span> + <i + class="material-icons fa fa-star" + [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 2 }" + ></i> + </span> + <span> + <i + class="material-icons fa fa-star" + [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 3 }" + ></i> + </span> + <span> + <i + class="material-icons fa fa-star" + [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 4 }" + ></i> + </span> + <span> + <i + class="material-icons fa fa-star" + [ngClass]="{ 'fa-star1': val.solutionRatingAvg < 5 }" + ></i> + </span> </span> - </label> - </li> - </ul> + <label class="iconcontainer"> + <span class="iconspan1"> + <span + class="statistics-icons icon-chat" + alt="Comment" + title="Comment" + ></span> + 0 + </span> + <span class="iconspan1"> + <span + class="statistics-icons icon-view" + alt="View" + title="View" + ></span> + {{ val.viewCount }} + </span> + <span class="iconspan1"> + <span + class="statistics-icons icon-download" + alt="Download" + title="Download" + ></span> + {{ val.downloadCount }} + </span> + </label> + </li> + </ul> + </div> </div> </div> </div> - </div> - </mat-sidenav> - <mat-sidenav-content> - <router-outlet></router-outlet> - <gp-rate-model-details - [solution]="data.solution" - [allUserRatings]="allRatings" - [averageRatings]="averageRatings" - [totalRatingsCount]="allRatings.length" - [solutionId]="data.solutionId" - [solutionRating]="(rating$ | async)!" - (updateRating)="updateRating()" - [totalCommentCount]="data.comments.response_body.content.length" - [ratingCounts]="ratingCounts" - [perRatingCounts]="perRatingCounts" - [userId]="(userId$ | async)!" - [revisionId]="revisionId" - [comments]="comments" - [firstName]="firstName" - [lastName]="lastName" - (createComment)="createComment($event)" - (deleteComment)="deleteComment($event)" - (editComment)="editComment($event)" - (replyToComment)="createOrReplyToComment($event)" - ></gp-rate-model-details> </mat-sidenav-content -></mat-sidenav-container> -<gp-footer></gp-footer> + </mat-sidenav> + <mat-sidenav-content class="page-wrap"> + <main class="content-router-outlet"><router-outlet></router-outlet></main> + <gp-rate-model-details + [solution]="data.solution" + [allUserRatings]="allRatings" + [averageRatings]="averageRatings" + [totalRatingsCount]="allRatings.length" + [solutionId]="data.solutionId" + [solutionRating]="(rating$ | async)!" + (updateRating)="updateRating()" + [totalCommentCount]="data.comments.response_body.content.length" + [ratingCounts]="ratingCounts" + [perRatingCounts]="perRatingCounts" + [userId]="(userId$ | async)!" + [revisionId]="revisionId" + [comments]="comments" + [firstName]="firstName" + [lastName]="lastName" + (createComment)="createComment($event)" + (deleteComment)="deleteComment($event)" + (editComment)="editComment($event)" + (replyToComment)="createOrReplyToComment($event)" + ></gp-rate-model-details> </mat-sidenav-content + ></mat-sidenav-container> +</div> diff --git a/src/app/features/model-details/model-details.component.scss b/src/app/features/model-details/model-details.component.scss index 674f24f..83f75be 100644 --- a/src/app/features/model-details/model-details.component.scss +++ b/src/app/features/model-details/model-details.component.scss @@ -5,6 +5,21 @@ background-color: white; } +.page-wrap { + display: flex !important; + flex-direction: column !important; + min-height: 100vh !important; +} + +.content-router-outlet { + flex: 1; +} + +// content height +::ng-deep.mat-drawer-content { + height: 89.2% !important; +} + .pageheadsection { background: #fff; box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.1); @@ -430,7 +445,6 @@ ul { } mat-sidenav-container { - height: calc(100% - 64px); overflow: hidden !important; } @@ -438,6 +452,11 @@ mat-sidenav { background: #f1f1f1; width: 250px !important; overflow: hidden !important; + height: 100% !important; +} + +mat-sidenav-content { + overflow: hidden; } ::ng-deep .mat-drawer-inner-container { diff --git a/src/app/shared/components/model-management/model-management.component.html b/src/app/shared/components/model-management/model-management.component.html index 749019a..61c95c0 100644 --- a/src/app/shared/components/model-management/model-management.component.html +++ b/src/app/shared/components/model-management/model-management.component.html @@ -60,7 +60,7 @@ </div> <mat-sidenav-container> - <mat-sidenav mode="side" opened> + <mat-sidenav mode="side" opened #sidenav> <div class="workflow-left-header workflow-header">MANAGEMENT OPTIONS</div> <div *ngIf="selectedRevision$ | async as selectedRevision" @@ -139,6 +139,9 @@ </nav> <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel> </mat-sidenav> - <mat-sidenav-content> <router-outlet></router-outlet></mat-sidenav-content - ></mat-sidenav-container> + <mat-sidenav-content class="page-wrap" + ><main class="content-router-outlet"> + <router-outlet></router-outlet></main + ></mat-sidenav-content> + </mat-sidenav-container> </div> diff --git a/src/app/shared/components/model-management/model-management.component.scss b/src/app/shared/components/model-management/model-management.component.scss index 947e171..cd4c8cd 100644 --- a/src/app/shared/components/model-management/model-management.component.scss +++ b/src/app/shared/components/model-management/model-management.component.scss @@ -2,8 +2,20 @@ padding: 24px; } +.page-wrap { + display: flex !important; + flex-direction: column !important; + min-height: 100vh !important; +} + +.content-router-outlet { + flex: 1; +} + +::ng-deep.mat-drawer-content { + height: 83.5% !important; +} mat-sidenav-container { - height: calc(100% - 64px); overflow: hidden !important; } @@ -11,10 +23,10 @@ mat-sidenav { background: #f1f1f1; width: 250px !important; overflow: hidden !important; + height: 100% !important; } mat-sidenav-content { - height: 87vh; overflow: hidden; } ::ng-deep .mat-drawer-inner-container { diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 87f4dc1..e0a56ed 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -2,7 +2,7 @@ export const environment = { // local with session production: false, skipAuth: false, - apiBackendURL: 'https://dev02.ki-lab.nrw', + apiBackendURL: 'https://aiexp-dev.ai4europe.eu', isDebugMode: true, logging: { level: { diff --git a/src/styles.scss b/src/styles.scss index 801d5df..104b271 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -12,6 +12,7 @@ html, body { + overflow: hidden; width: 100%; height: 100%; margin: 0; -- GitLab