+
+
-
-
-
-
History
-
- {{ getSlideTitle(elements[0]) }}
-
+
-
Current
-
-
Slides
@@ -72,99 +81,142 @@
-
-
- Countdowns
-
- edit
-
-
-
-
-
- videocam
-
- {{ countdown.description }}
-
-
-
+
+
+
+
+
+ Queue
+
-
-
- Messages
-
- edit
-
-
-
-
-
- videocam
-
- {{ message.getPreview(40) }}
-
-
-
-
-
-
Current list of speakers overlay
-
-
-
- videocam
-
- Current list of speakers overlay
-
-
-
-
-
-
Current list of speakers slide
-
-
-
- videocam
-
- Current list of speakers slide
-
-
-
-
-
-
-
Current speaker chyron
-
-
-
- videocam
-
- Current speaker chyron
-
-
-
-
-
-
Queue
-
-
-
- drag_indicator
-
-
- {{ i+1 }}. {{ getSlideTitle(element) }}
-
-
+
+
+ edit
+
+
+
+
+
+
+
+ History
+
+
+ {{ i + 1 }}. {{ getSlideTitle(elements[0]) }}
+
+
+
+
+
+
+ Countdowns
+
+
+
+
+ videocam
+
+ {{ countdown.description }}
+
+
+
+
+ edit
+
+
+
+
+
+
+
+ Messages
+
+
+
+
+ videocam
+
+ {{ message.getPreview(40) }}
+
+
+
+
+ edit
+
+
+
+
+
+
+
+ Current list of speakers
+
+
+
+
+
+
+ videocam
+
+ Current list of speakers overlay
+
+
+
+
+
+
+
+ videocam
+
+ Current list of speakers slide
+
+
+
+
+
+
+
+ videocam
+
+ 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);
+}