Projector detail template improvements
This commit is contained in:
parent
587a0fe443
commit
2257991aba
@ -7,6 +7,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
left: 50px;
|
left: 50px;
|
||||||
top: 50px;
|
top: 50px;
|
||||||
|
line-height: 1.5em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,10 +72,7 @@
|
|||||||
<span translate>List of speakers</span>
|
<span translate>List of speakers</span>
|
||||||
</button>
|
</button>
|
||||||
<!-- Project -->
|
<!-- Project -->
|
||||||
<button mat-menu-item *osPerms="'core.can_manage_projector'">
|
<os-projector-button [object]="motion" [menuItem]="true" *osPerms="'core.can_manage_projector'"></os-projector-button>
|
||||||
<mat-icon>videocam</mat-icon>
|
|
||||||
<span translate>Project</span>
|
|
||||||
</button>
|
|
||||||
<!-- New amendment -->
|
<!-- New amendment -->
|
||||||
<button mat-menu-item (click)="createAmendment()" *ngIf="perms.isAllowed('can_create_amendments', motion)">
|
<button mat-menu-item (click)="createAmendment()" *ngIf="perms.isAllowed('can_create_amendments', motion)">
|
||||||
<mat-icon>add</mat-icon>
|
<mat-icon>add</mat-icon>
|
||||||
|
@ -14,36 +14,37 @@
|
|||||||
</a>
|
</a>
|
||||||
<!-- Controls under the projector preview -->
|
<!-- Controls under the projector preview -->
|
||||||
<div class="control-group projector-controls">
|
<div class="control-group projector-controls">
|
||||||
<!-- scaling indicator -->
|
|
||||||
<div class="button-size">{{ projector.scale }}</div>
|
|
||||||
|
|
||||||
<!-- scale up -->
|
<!-- scale up -->
|
||||||
<button type="button" mat-icon-button (click)="scale(scrollScaleDirection.Up)">
|
<button type="button" mat-icon-button (click)="scale(scrollScaleDirection.Up)">
|
||||||
<mat-icon>zoom_in</mat-icon>
|
<mat-icon>zoom_in</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- scale down -->
|
<!-- scale down -->
|
||||||
<button type="button" mat-icon-button (click)="scale(scrollScaleDirection.Down)">
|
<button type="button" mat-icon-button (click)="scale(scrollScaleDirection.Down)">
|
||||||
<mat-icon>zoom_out</mat-icon>
|
<mat-icon>zoom_out</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
<!-- reset button -->
|
||||||
<!-- scroll indicator -->
|
<button type="button" mat-icon-button (click)="scale(scrollScaleDirection.Reset)">
|
||||||
<div class="button-size">{{ projector.scroll }}</div>
|
<mat-icon>refresh</mat-icon>
|
||||||
|
</button>
|
||||||
|
<!-- scaling indicator -->
|
||||||
|
<div class="button-size" [ngClass]="projector.scale != 0 ? 'warn' : ''">{{ projector.scale }}</div>
|
||||||
|
|
||||||
<!-- scroll down -->
|
<!-- scroll down -->
|
||||||
<button type="button" mat-icon-button (click)="scroll(scrollScaleDirection.Down)">
|
<button type="button" class="spacer-left-40" mat-icon-button (click)="scroll(scrollScaleDirection.Down)">
|
||||||
<mat-icon>arrow_downward</mat-icon>
|
<mat-icon>arrow_downward</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- scroll up -->
|
<!-- scroll up -->
|
||||||
<button type="button" mat-icon-button (click)="scroll(scrollScaleDirection.Up)">
|
<button type="button" mat-icon-button (click)="scroll(scrollScaleDirection.Up)">
|
||||||
<mat-icon>arrow_upward</mat-icon>
|
<mat-icon>arrow_upward</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
<!-- reset button -->
|
||||||
<!-- refresh button -->
|
|
||||||
<button type="button" mat-icon-button (click)="scroll(scrollScaleDirection.Reset)">
|
<button type="button" mat-icon-button (click)="scroll(scrollScaleDirection.Reset)">
|
||||||
<mat-icon>refresh</mat-icon>
|
<mat-icon>refresh</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
<!-- scroll indicator -->
|
||||||
|
<div class="button-size" [ngClass]="projector.scroll != 0 ? 'warn' : ''">{{ projector.scroll }}</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="column-right" *osPerms="'core.can_manage_projector'">
|
<div class="column-right" *osPerms="'core.can_manage_projector'">
|
||||||
@ -72,11 +73,18 @@
|
|||||||
<div>
|
<div>
|
||||||
<div *ngIf="projector.non_stable_elements.length">
|
<div *ngIf="projector.non_stable_elements.length">
|
||||||
<mat-list>
|
<mat-list>
|
||||||
<mat-list-item *ngFor="let element of projector.non_stable_elements" class="projected">
|
<mat-list-item *ngFor="let element of projector.non_stable_elements" class="currentElement backgroundColorAccent">
|
||||||
<button type="button" mat-icon-button (click)="unprojectCurrent(element)">
|
<button type="button" mat-icon-button (click)="unprojectCurrent(element)">
|
||||||
<mat-icon>videocam</mat-icon>
|
<mat-icon>videocam</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
{{ getSlideTitle(element) }}
|
{{ getSlideTitle(element) }}
|
||||||
|
<div class="button-right">
|
||||||
|
<div>
|
||||||
|
<button type="button" mat-icon-button (click)="unprojectCurrent(element)">
|
||||||
|
<mat-icon>close</mat-icon>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-list>
|
</mat-list>
|
||||||
</div>
|
</div>
|
||||||
@ -84,7 +92,7 @@
|
|||||||
<!-- Expandable elements -->
|
<!-- Expandable elements -->
|
||||||
<mat-accordion multi="true">
|
<mat-accordion multi="true">
|
||||||
<!-- Queue -->
|
<!-- Queue -->
|
||||||
<mat-expansion-panel *ngIf="projector.elements_preview.length" [expanded]="true">
|
<mat-expansion-panel *ngIf="projector.elements_preview.length" [expanded]="true" class="queue">
|
||||||
<mat-expansion-panel-header>
|
<mat-expansion-panel-header>
|
||||||
<span translate>Queue</span>
|
<span translate>Queue</span>
|
||||||
</mat-expansion-panel-header>
|
</mat-expansion-panel-header>
|
||||||
@ -96,7 +104,7 @@
|
|||||||
(cdkDropListDropped)="onSortingChange($event)"
|
(cdkDropListDropped)="onSortingChange($event)"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="drop-list-entry"
|
class="drop-list-entry queue-element backgroundColorLight"
|
||||||
*ngFor="let element of projector.elements_preview; let i = index"
|
*ngFor="let element of projector.elements_preview; let i = index"
|
||||||
cdkDrag
|
cdkDrag
|
||||||
>
|
>
|
||||||
@ -104,7 +112,7 @@
|
|||||||
<mat-icon>drag_indicator</mat-icon>
|
<mat-icon>drag_indicator</mat-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="drag-handle" *ngIf="!editQueue">
|
<div class="drag-handle" *ngIf="!editQueue">
|
||||||
<button type="button" mat-mini-fab (click)="projectNow(i)">
|
<button type="button" mat-icon-button (click)="projectNow(i)">
|
||||||
<mat-icon>videocam</mat-icon>
|
<mat-icon>videocam</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -121,14 +129,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<mat-action-row>
|
<mat-action-row>
|
||||||
<button type="button" mat-icon-button (click)="editQueue = !editQueue">
|
<button *ngIf="!editQueue" type="button" mat-icon-button (click)="editQueue = !editQueue">
|
||||||
<mat-icon>edit</mat-icon>
|
<mat-icon>edit</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
|
<button *ngIf="editQueue" type="button" mat-icon-button (click)="editQueue = !editQueue">
|
||||||
|
<mat-icon>close</mat-icon>
|
||||||
|
</button>
|
||||||
</mat-action-row>
|
</mat-action-row>
|
||||||
</mat-expansion-panel>
|
</mat-expansion-panel>
|
||||||
|
|
||||||
<!-- Previous Slides -->
|
<!-- Previous Slides -->
|
||||||
<mat-expansion-panel *ngIf="projector.elements_history.length">
|
<mat-expansion-panel *ngIf="projector.elements_history.length" class="previous-slides">
|
||||||
<mat-expansion-panel-header>
|
<mat-expansion-panel-header>
|
||||||
<span translate>History</span>
|
<span translate>History</span>
|
||||||
</mat-expansion-panel-header>
|
</mat-expansion-panel-header>
|
||||||
@ -192,17 +203,17 @@
|
|||||||
<button type="button" mat-icon-button (click)="toggleClos(true)">
|
<button type="button" mat-icon-button (click)="toggleClos(true)">
|
||||||
<mat-icon>videocam</mat-icon>
|
<mat-icon>videocam</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<span translate>Current list of speakers overlay</span>
|
<span translate>Overlay</span>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-list>
|
</mat-list>
|
||||||
|
|
||||||
<!-- Current Speaker -->
|
<!-- Current Speaker -->
|
||||||
<mat-list *ngIf="!isClosProjected(false)">
|
<mat-list>
|
||||||
<mat-list-item>
|
<mat-list-item [ngClass]="{ projected: isClosProjected(false) }">
|
||||||
<button type="button" mat-icon-button (click)="toggleClos(false)">
|
<button type="button" mat-icon-button (click)="toggleClos(false)">
|
||||||
<mat-icon>videocam</mat-icon>
|
<mat-icon>videocam</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<span translate>Current list of speakers slide</span>
|
<span translate>Slide</span>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-list>
|
</mat-list>
|
||||||
|
|
||||||
@ -212,7 +223,7 @@
|
|||||||
<button type="button" mat-icon-button (click)="toggleChyron()">
|
<button type="button" mat-icon-button (click)="toggleChyron()">
|
||||||
<mat-icon>videocam</mat-icon>
|
<mat-icon>videocam</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<span translate>Current speaker chyron</span>
|
<span translate>Chyron</span>
|
||||||
</mat-list-item>
|
</mat-list-item>
|
||||||
</mat-list>
|
</mat-list>
|
||||||
</mat-expansion-panel>
|
</mat-expansion-panel>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
color: rgba(0, 0, 0, 0.5);
|
color: rgba(0, 0, 0, 0.5);
|
||||||
|
|
||||||
.button-size {
|
.button-size {
|
||||||
width: 40px;
|
padding-left: 5px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -43,6 +43,37 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.currentElement {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.25);
|
||||||
|
|
||||||
|
.button-right {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.queue,
|
||||||
|
.previous-slides {
|
||||||
|
box-shadow: none !important;
|
||||||
|
background: none !important;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
|
||||||
|
.queue-element {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-expansion-panel-header {
|
||||||
|
padding: 0 5px 0 0 !important;
|
||||||
|
height: 36px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-action-row {
|
||||||
|
border-top-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.drop-list {
|
.drop-list {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: block;
|
display: block;
|
||||||
@ -53,8 +84,6 @@
|
|||||||
display: table;
|
display: table;
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: solid 1px #ccc;
|
|
||||||
color: rgba(0, 0, 0, 0.87);
|
|
||||||
|
|
||||||
.drag-handle {
|
.drag-handle {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
@ -66,11 +95,6 @@
|
|||||||
cursor: move;
|
cursor: move;
|
||||||
}
|
}
|
||||||
|
|
||||||
.name {
|
|
||||||
display: table-cell;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.button-right {
|
.button-right {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
@ -82,6 +106,11 @@
|
|||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.drop-list-entry:last-child {
|
.drop-list-entry:last-child {
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
color: mat-color($primary);
|
color: mat-color($primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.accent-text {
|
.accent, .accent-text {
|
||||||
color: mat-color($accent);
|
color: mat-color($accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,7 +42,7 @@
|
|||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.error {
|
.error, .warn {
|
||||||
color: mat-color($warn);
|
color: mat-color($warn);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,4 +75,13 @@
|
|||||||
background-color: mat-color($primary);
|
background-color: mat-color($primary);
|
||||||
color: white; // TODO
|
color: white; // TODO
|
||||||
}
|
}
|
||||||
|
.backgroundColorAccent {
|
||||||
|
background-color: mat-color($accent);
|
||||||
|
color: mat-color($accent, default-contrast) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.backgroundColorLight {
|
||||||
|
background-color: mat-color($background, status-bar);
|
||||||
|
color: mat-color($foreground, text) !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,46 +32,11 @@ $openslides-blue: (
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$openslides-green: (
|
|
||||||
50: #e9f2e6,
|
|
||||||
100: #c8e0bf,
|
|
||||||
200: #a3cb95,
|
|
||||||
300: #7eb66b,
|
|
||||||
400: #62a64b,
|
|
||||||
500: #46962b,
|
|
||||||
600: #3f8e26,
|
|
||||||
700: #0a321e,
|
|
||||||
800: #092d1a,
|
|
||||||
900: #072616,
|
|
||||||
A100: #acff9d,
|
|
||||||
A200: #80ff6a,
|
|
||||||
A400: #55ff37,
|
|
||||||
A700: #3fff1e,
|
|
||||||
contrast: (
|
|
||||||
50: #000000,
|
|
||||||
100: #000000,
|
|
||||||
200: #000000,
|
|
||||||
300: #000000,
|
|
||||||
400: #000000,
|
|
||||||
500: #ffffff,
|
|
||||||
600: #ffffff,
|
|
||||||
700: #ffffff,
|
|
||||||
800: #ffffff,
|
|
||||||
900: #ffffff,
|
|
||||||
A100: #000000,
|
|
||||||
A200: #000000,
|
|
||||||
A400: #000000,
|
|
||||||
A700: #000000
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Generate paletes using: https://material.io/design/color/
|
// Generate paletes using: https://material.io/design/color/
|
||||||
// default values fir mat-palette: $default: 500, $lighter: 100, $darker: 700.
|
// default values fir mat-palette: $default: 500, $lighter: 100, $darker: 700.
|
||||||
$openslides-primary: mat-palette($openslides-blue);
|
$openslides-primary: mat-palette($openslides-blue);
|
||||||
|
|
||||||
$openslides-accent: mat-palette($mat-light-blue);
|
$openslides-accent: mat-palette($mat-light-blue);
|
||||||
// $openslides-primary: mat-palette($openslides-green);
|
|
||||||
// $openslides-accent: mat-palette($mat-amber);
|
|
||||||
|
|
||||||
$openslides-warn: mat-palette($mat-red);
|
$openslides-warn: mat-palette($mat-red);
|
||||||
|
|
||||||
|
@ -409,6 +409,9 @@ button.mat-menu-item.selected {
|
|||||||
.spacer-left-10 {
|
.spacer-left-10 {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
.spacer-left-40 {
|
||||||
|
margin-left: 40px !important;
|
||||||
|
}
|
||||||
|
|
||||||
.button24 {
|
.button24 {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
@ -469,6 +472,12 @@ button.mat-menu-item.selected {
|
|||||||
.center {
|
.center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
.pointer:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.pointer.selected {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
/** Colors **/
|
/** Colors **/
|
||||||
.lightblue {
|
.lightblue {
|
||||||
@ -638,3 +647,10 @@ button.mat-menu-item.selected {
|
|||||||
.mat-cell > * {
|
.mat-cell > * {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.queue {
|
||||||
|
.mat-expansion-panel-body {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user