diff --git a/client/src/app/shared/components/sorting-list/sorting-list.component.html b/client/src/app/shared/components/sorting-list/sorting-list.component.html index a26cfc724..84a8259b8 100644 --- a/client/src/app/shared/components/sorting-list/sorting-list.component.html +++ b/client/src/app/shared/components/sorting-list/sorting-list.component.html @@ -1,5 +1,5 @@
-
+
No data
diff --git a/client/src/app/shared/components/sorting-list/sorting-list.component.scss b/client/src/app/shared/components/sorting-list/sorting-list.component.scss index 3eb0fc8bf..af2500602 100644 --- a/client/src/app/shared/components/sorting-list/sorting-list.component.scss +++ b/client/src/app/shared/components/sorting-list/sorting-list.component.scss @@ -1,3 +1,5 @@ +@import '../../../../assets/styles/drag.scss'; + .box { width: 100%; border-bottom: solid 1px #ccc; @@ -5,21 +7,6 @@ font-size: 14px; } -.cdk-drag-preview { - box-sizing: border-box; - border-radius: 4px; - box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), - 0 3px 14px 2px rgba(0, 0, 0, 0.12); -} - -.cdk-drag-placeholder { - opacity: 0; -} - -.cdk-drag-animating { - transition: transform 125ms ease-in-out; -} - .box:last-child { border: none; } diff --git a/client/src/app/site/projector/components/projector-detail/projector-detail.component.html b/client/src/app/site/projector/components/projector-detail/projector-detail.component.html index 9a6f74e74..bd574f893 100644 --- a/client/src/app/site/projector/components/projector-detail/projector-detail.component.html +++ b/client/src/app/site/projector/components/projector-detail/projector-detail.component.html @@ -12,56 +12,65 @@
-
-
-
-
{{ projector.scroll }}
- + + + + + +
{{ projector.scroll }}
+ + + + + + +
-
-
{{ projector.scale }}
- - - -
-
-
-
+
+
+ - -
- -
-
History
-

- {{ getSlideTitle(elements[0]) }} -

+
-
Current
-
-

Slides

-
-

- Countdowns - -

- - - - {{ countdown.description }} - - -
+ + + + + + Queue + -
-

- Messages - -

- - - - {{ message.getPreview(40) }} - - -
- -
-

Current list of speakers overlay

- - - - Current list of speakers overlay - - -
- -
-

Current list of speakers slide

- - - - Current list of speakers slide - - -
-
- -
-

Current speaker chyron

- - - - Current speaker chyron - - -
- -
-
Queue
-
-
-
- drag_indicator -
-
- {{ i+1 }}. {{ getSlideTitle(element) }} -
-
-
- - +
+
+
+ drag_indicator +
+
+ +
+
+ {{ i + 1 }}. {{ getSlideTitle(element) }} +
+
+
+ +
+
-
-
+ + + + + + + + + History + +

+ {{ i + 1 }}. {{ getSlideTitle(elements[0]) }} +

+
+ + + + + Countdowns + + + + + {{ countdown.description }} + + + + + + + + + + + Messages + + + + + {{ message.getPreview(40) }} + + + + + + + + + + + Current list of speakers + + + + + + + Current list of speakers overlay + + + + + + + + Current list of speakers slide + + + + + + + + Current speaker chyron + + + +
diff --git a/client/src/app/site/projector/components/projector-detail/projector-detail.component.scss b/client/src/app/site/projector/components/projector-detail/projector-detail.component.scss index 4c029feee..edaa9456c 100644 --- a/client/src/app/site/projector/components/projector-detail/projector-detail.component.scss +++ b/client/src/app/site/projector/components/projector-detail/projector-detail.component.scss @@ -1,3 +1,5 @@ +@import '../../../../../assets/styles/drag.scss'; + #projector { width: 100%; /*1000px;*/ border: 1px solid lightgrey; @@ -25,8 +27,7 @@ } .control-group { - text-align: center; - color: rgba(0, 0, 0, 0.54); + color: rgba(0, 0, 0, 0.5); .button-size { width: 40px; @@ -34,64 +35,60 @@ } } -h4 { - margin-top: 5px; +.slide-controls { + text-align: center; +} - button { - width: 20px; - height: 20px; +.projector-controls { + text-align: right; +} + +.drop-list { + width: 100%; + display: block; + overflow: hidden; +} + +.drop-list-entry { + display: table; + min-height: 50px; + width: 100%; + border-bottom: solid 1px #ccc; + color: rgba(0, 0, 0, 0.87); + + .drag-handle { + display: table-cell; + padding: 0 10px; + line-height: 0px; + vertical-align: middle; + width: 25px; + color: slategrey; + cursor: move; } -} -h5 { - margin-bottom: 0; -} + .name { + display: table-cell; + vertical-align: middle; + } -.queue { - margin-top: 15px; + .button-right { + display: table-cell; + padding-right: 10px; + vertical-align: middle; + width: auto; + white-space: nowrap; - .drop-list { - width: 100%; - display: block; - overflow: hidden; - - .list-entry { - display: table; - min-height: 50px; - width: 100%; - border-bottom: solid 1px #ccc; - color: rgba(0, 0, 0, 0.87); - - .drag-handle { - display: table-cell; - padding: 0 10px; - line-height: 0px; - vertical-align: middle; - width: 25px; - color: slategrey; - cursor: move; - } - - .name { - display: table-cell; - vertical-align: middle; - } - - .button-right { - display: table-cell; - padding-right: 10px; - vertical-align: middle; - width: auto; - white-space: nowrap; - - div { - float: right; - } - } - } - - .list-entry:last-child { - border: none; + div { + float: right; } } } + +.drop-list-entry:last-child { + border: none; +} + +// move away from preview. +.drop-list.cdk-drop-list-dragging .drop-list-entry:not(.cdk-drag-placeholder) { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} diff --git a/client/src/app/site/projector/components/projector-detail/projector-detail.component.ts b/client/src/app/site/projector/components/projector-detail/projector-detail.component.ts index ee07e2215..de2a25e7b 100644 --- a/client/src/app/site/projector/components/projector-detail/projector-detail.component.ts +++ b/client/src/app/site/projector/components/projector-detail/projector-detail.component.ts @@ -43,6 +43,11 @@ export class ProjectorDetailComponent extends BaseViewComponent implements OnIni public messages: ViewProjectorMessage[] = []; + /** + * true if the queue might be altered + */ + public editQueue = false; + /** * @param titleService * @param translate diff --git a/client/src/assets/styles/drag.scss b/client/src/assets/styles/drag.scss new file mode 100644 index 000000000..cddb5f38d --- /dev/null +++ b/client/src/assets/styles/drag.scss @@ -0,0 +1,29 @@ +//shared CSS rules that are required for all components that implement drag and drop +/** + * Moving list entries away from preview cannot be stored in this scss file, cause the naming + * of the css classes is relevant. Use it like the following. + * + * transform can somehow not be stored as css variable + * + * @example + * ```css + * .drop-list.cdk-drop-list-dragging .list-entry:not(.cdk-drag-placeholder) { + * transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); + * } + */ + +.cdk-drag-preview { + box-sizing: border-box; + border-radius: 4px; + background-color: white; + box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), + 0 3px 14px 2px rgba(0, 0, 0, 0.12); +} + +.cdk-drag-placeholder { + opacity: 0; +} + +.cdk-drag-animating { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +}