From 3af30bf7a159ffddaa7df311efcae781665338b1 Mon Sep 17 00:00:00 2001 From: Sean Engelhardt Date: Wed, 28 Aug 2019 14:53:05 +0200 Subject: [PATCH] Add scrollable folderbar to mediafile - Cleansup the horrizontal scroller code - make the folder bar scrollable - Cleanup the way folder permissions are shown --- .../icon-container.component.html | 10 +- .../icon-container.component.scss | 7 ++ .../icon-container.component.ts | 6 ++ .../sort-filter-bar.component.html | 2 +- .../sort-filter-bar.component.scss | 24 ----- .../mediafile-list.component.html | 95 +++++++++---------- .../mediafile-list.component.scss | 69 +++++++------- client/src/styles.scss | 25 +++++ 8 files changed, 130 insertions(+), 108 deletions(-) diff --git a/client/src/app/shared/components/icon-container/icon-container.component.html b/client/src/app/shared/components/icon-container/icon-container.component.html index 49ba6a089..bf66148ca 100644 --- a/client/src/app/shared/components/icon-container/icon-container.component.html +++ b/client/src/app/shared/components/icon-container/icon-container.component.html @@ -2,12 +2,16 @@ *ngIf="!swap && showIcon" [matTooltip]="iconTooltip" [class]="iconAction ? 'pointer' : ''" - (click)="iconClick()">{{ icon }} - + (click)="iconClick()" + >{{ icon }} + {{ icon }} + (click)="iconClick()" + >{{ icon }} diff --git a/client/src/app/shared/components/icon-container/icon-container.component.scss b/client/src/app/shared/components/icon-container/icon-container.component.scss index 1b350f70a..4bae28c16 100644 --- a/client/src/app/shared/components/icon-container/icon-container.component.scss +++ b/client/src/app/shared/components/icon-container/icon-container.component.scss @@ -37,6 +37,13 @@ os-icon-container { margin: auto 5px; text-overflow: ellipsis; overflow: hidden; + } + + .break-lines { white-space: pre-line; } + + .single-line { + white-space: nowrap; + } } diff --git a/client/src/app/shared/components/icon-container/icon-container.component.ts b/client/src/app/shared/components/icon-container/icon-container.component.ts index 7b4177c60..ee48ca3c6 100644 --- a/client/src/app/shared/components/icon-container/icon-container.component.ts +++ b/client/src/app/shared/components/icon-container/icon-container.component.ts @@ -50,6 +50,12 @@ export class IconContainerComponent { @Input() public iconTooltip: string; + /** + * Uses a css class for nowrap + */ + @Input() + public noWrap = false; + /** * Optional action for clicking on the icon. */ diff --git a/client/src/app/shared/components/sort-filter-bar/sort-filter-bar.component.html b/client/src/app/shared/components/sort-filter-bar/sort-filter-bar.component.html index c71bfc633..05d295338 100644 --- a/client/src/app/shared/components/sort-filter-bar/sort-filter-bar.component.html +++ b/client/src/app/shared/components/sort-filter-bar/sort-filter-bar.component.html @@ -7,7 +7,7 @@ -
+
- -
- chevron_right -
- + + + chevron_right + + + + {{ directory.filename }} - - - - {{ directory.filename }} + + - +
@@ -122,8 +119,10 @@
- - {{ translateSync(group.getTitle()) }}, + + {{ group.getTitle() | translate }} + , + ...
diff --git a/client/src/app/site/mediafiles/components/mediafile-list/mediafile-list.component.scss b/client/src/app/site/mediafiles/components/mediafile-list/mediafile-list.component.scss index efd297b01..549404585 100644 --- a/client/src/app/site/mediafiles/components/mediafile-list/mediafile-list.component.scss +++ b/client/src/app/site/mediafiles/components/mediafile-list/mediafile-list.component.scss @@ -1,52 +1,57 @@ @import '~assets/styles/tables.scss'; +$navbar-size: 64px; + // multi line tooltip ::ng-deep .mat-tooltip { white-space: pre-line !important; } .folder-nav-bar { - $size: 64px; - position: relative; + width: 100%; + display: flex; +} + +.folder-section { + white-space: nowrap; display: flex; - .arrow { - height: $size; - float: left; - .mat-icon { - line-height: $size; - height: $size; - } + .mat-button { + padding: 0; } +} - .folder { - height: $size; +.arrow { + height: $navbar-size; + .mat-icon { + line-height: $navbar-size; + height: $navbar-size; } +} - .fake-folder { - padding: 0 16px; +.folder { + // float: left; + height: $navbar-size; + > .content-node { + white-space: nowrap; } +} - .folder-text { - font-size: 16px; - font-weight: 500; - margin: auto 5px; - text-overflow: ellipsis; - overflow: hidden; - } +.fake-folder { + padding: 0 16px; +} - .visibility { - display: flex; - position: absolute; - right: 10px; - top: 12px; - .visible-for { - margin-left: 10px; - display: inherit; - } - mat-icon { - cursor: auto; - } +.folder-text { + font-size: 16px; + font-weight: 500; + margin: auto 5px; + overflow: hidden; +} + +.visibility { + display: flex; + .visible-for { + width: min-content; } } diff --git a/client/src/styles.scss b/client/src/styles.scss index 3c5ac385a..0177c351e 100644 --- a/client/src/styles.scss +++ b/client/src/styles.scss @@ -846,3 +846,28 @@ button.mat-menu-item.selected { padding: 0 !important; } } + +// custom horrizontal scroll-bar + +.h-scroller { + overflow-x: auto; + overflow-y: hidden; + scrollbar-width: 5px; + scrollbar-color: #666666; +} +.h-scroller::-webkit-scrollbar { + width: 5px; + height: 5px; +} + +.h-scroller::-webkit-scrollbar-thumb { + background: #666666; + height: 5px; + border-radius: 5px; +} + +.h-scroller::-webkit-scrollbar-corner { + display: none; + height: 0px; + width: 0px; +}