From 2cfff9e1b9640332d671e055a06d8814c5f6f6b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel=20Sch=C3=BCtze?= Date: Fri, 17 May 2019 08:56:18 +0200 Subject: [PATCH] Template rework and fullscreen mode --- .../slide-container.component.scss | 4 +-- .../site/mediafiles/models/view-mediafile.ts | 1 - .../presentation-control.component.html | 27 ++++++-------- .../presentation-control.component.ts | 16 --------- ...urrent-speaker-chyron-slide.component.html | 2 +- .../mediafile/mediafile-slide.component.html | 9 ++--- .../mediafile/mediafile-slide.component.scss | 36 ++++++++++++++----- 7 files changed, 43 insertions(+), 52 deletions(-) diff --git a/client/src/app/shared/components/slide-container/slide-container.component.scss b/client/src/app/shared/components/slide-container/slide-container.component.scss index cb29e038e..ad8395fe0 100644 --- a/client/src/app/shared/components/slide-container/slide-container.component.scss +++ b/client/src/app/shared/components/slide-container/slide-container.component.scss @@ -10,8 +10,6 @@ line-height: 1.5em; } } - -::ng-deep #slide { - z-index: 5; +#slide { height: 100%; } diff --git a/client/src/app/site/mediafiles/models/view-mediafile.ts b/client/src/app/site/mediafiles/models/view-mediafile.ts index fa12cac5f..51a9cf5ae 100644 --- a/client/src/app/site/mediafiles/models/view-mediafile.ts +++ b/client/src/app/site/mediafiles/models/view-mediafile.ts @@ -17,7 +17,6 @@ export interface MediafileTitleInformation { export class ViewMediafile extends BaseViewModelWithListOfSpeakers implements MediafileTitleInformation, Searchable { - public static COLLECTIONSTRING = Mediafile.COLLECTIONSTRING; private _uploader: ViewUser; diff --git a/client/src/app/site/projector/components/presentation-control/presentation-control.component.html b/client/src/app/site/projector/components/presentation-control/presentation-control.component.html index 41e285865..a3b01a6e6 100644 --- a/client/src/app/site/projector/components/presentation-control/presentation-control.component.html +++ b/client/src/app/site/projector/components/presentation-control/presentation-control.component.html @@ -1,22 +1,19 @@ - Media controls + Media file -
Presentation control
- {{ getMediafile(element).getTitle() }} - + {{ getMediafile(element).getTitle() }} +
- - - + fullscreen +
+
@@ -24,10 +21,8 @@ arrow_forward - Page {{ getPage(element) }}/{{ getMediafile(element).pages }} - + Page {{ getPage(element) }}/{{ getMediafile(element).pages }} +
@@ -37,6 +32,6 @@ - +
diff --git a/client/src/app/site/projector/components/presentation-control/presentation-control.component.ts b/client/src/app/site/projector/components/presentation-control/presentation-control.component.ts index 5618204ff..5eafcf77b 100644 --- a/client/src/app/site/projector/components/presentation-control/presentation-control.component.ts +++ b/client/src/app/site/projector/components/presentation-control/presentation-control.component.ts @@ -137,22 +137,6 @@ export class PresentationControlComponent extends BaseViewComponent { this.updateElement(element); } - public rotate(element: MediafileProjectorElement): void { - let rotation: 0 | 90 | 180 | 270 = element.rotation || 0; - if (rotation === 0) { - rotation = 90; - } else if (rotation === 90) { - rotation = 180; - } else if (rotation === 180) { - rotation = 270; - } else { - // 270 - rotation = 0; - } - element.rotation = rotation; - this.updateElement(element); - } - private updateElement(element: MediafileProjectorElement): void { const idElement = this.slideManager.getIdentifialbeProjectorElement(element); this.projectorService.updateElement(this.projector.projector, idElement).then(null, this.raiseError); diff --git a/client/src/app/slides/agenda/current-speaker-chyron/current-speaker-chyron-slide.component.html b/client/src/app/slides/agenda/current-speaker-chyron/current-speaker-chyron-slide.component.html index eba96bae0..81ff50cb8 100644 --- a/client/src/app/slides/agenda/current-speaker-chyron/current-speaker-chyron-slide.component.html +++ b/client/src/app/slides/agenda/current-speaker-chyron/current-speaker-chyron-slide.component.html @@ -1,4 +1,4 @@ -
diff --git a/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.html b/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.html index 225838d5b..618db8aa4 100644 --- a/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.html +++ b/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.html @@ -1,10 +1,8 @@
-
- - {{ data.element.fullscreen || false }} +
+
-
- {{ data.element.rotation || 0 }} +
diff --git a/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.scss b/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.scss index 53fc4c228..0ff1a9b0f 100644 --- a/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.scss +++ b/client/src/app/slides/mediafiles/mediafile/mediafile-slide.component.scss @@ -1,12 +1,30 @@ -.rotate0 { - transform: rotate(0deg); +.fullscreen img, +.nofullscreen img { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: auto; } -.rotate90 { - transform: rotate(90deg); +.fullscreen { + z-index: 100; /* TODO: find solution to overlap header/footer */ + width: 100%; + height: 100%; + background-color: white; + position: fixed; + top: 0; + left: 0; + + img { + width: 100%; + height: auto; /* TODO: use dynamic auto width/height for landscape/portrait format */ + } } -.rotate180 { - transform: rotate(180deg); -} -.rotate270 { - transform: rotate(270deg); + +.nofullscreen { + max-width: 100%; + max-height: 100%; + width: auto; + height: auto; }