diff --git a/client/src/app/slides/motions/motion-block/motion-block-slide-data.ts b/client/src/app/slides/motions/motion-block/motion-block-slide-data.ts index fae84b7c6..86cd4fcc3 100644 --- a/client/src/app/slides/motions/motion-block/motion-block-slide-data.ts +++ b/client/src/app/slides/motions/motion-block/motion-block-slide-data.ts @@ -7,6 +7,9 @@ export interface MotionBlockSlideMotionRepresentation extends MotionTitleInforma css_class: string; }; recommendation_extension?: string; + + // This property will be calculated and saved here. + recommendationLabel?: string; } export interface MotionBlockSlideData { diff --git a/client/src/app/slides/motions/motion-block/motion-block-slide.component.html b/client/src/app/slides/motions/motion-block/motion-block-slide.component.html index 5f163845c..2146d989a 100644 --- a/client/src/app/slides/motions/motion-block/motion-block-slide.component.html +++ b/client/src/app/slides/motions/motion-block/motion-block-slide.component.html @@ -4,17 +4,24 @@
+
{{ getMotionTitle(i, j) }}
-
-
-
+ + |
diff --git a/client/src/app/slides/motions/motion-block/motion-block-slide.component.scss b/client/src/app/slides/motions/motion-block/motion-block-slide.component.scss
index bcc603f4c..f8076e946 100644
--- a/client/src/app/slides/motions/motion-block/motion-block-slide.component.scss
+++ b/client/src/app/slides/motions/motion-block/motion-block-slide.component.scss
@@ -6,4 +6,9 @@ table {
td {
min-width: 50%;
+ vertical-align: top;
+}
+
+.mat-basic-chip.large {
+ font-size: 100%;
}
diff --git a/client/src/app/slides/motions/motion-block/motion-block-slide.component.ts b/client/src/app/slides/motions/motion-block/motion-block-slide.component.ts
index c2168abed..dd1408c29 100644
--- a/client/src/app/slides/motions/motion-block/motion-block-slide.component.ts
+++ b/client/src/app/slides/motions/motion-block/motion-block-slide.component.ts
@@ -8,10 +8,20 @@ import { StateCssClassMapping } from 'app/site/motions/models/view-workflow';
import { BaseMotionSlideComponent } from '../base/base-motion-slide';
import { SlideData } from 'app/core/core-services/projector-data.service';
-/**
- * The row threshold to switch from one to a two column layout
- */
-const TWO_COLUMNS_THRESHOLD = 8;
+// Layout:
+// 1) Long layout: Motion title is shown and the motions are
+// displayed in two lines: title and recommendation. This
+// mode is used until #motions<=SHORT_LAYOUT_THRESHOLD. There
+// are ROWS_PER_COLUMN_SHORT rows per column, is MAX_COLUMNS
+// is reached. If so, thhe rows per columns will be ignored.
+// 2) Short Layout: Just motion identifier and the recommendation
+// in one line. This mode is used if #motions>SHORT_LAYOUT_THRESHOLD.
+// The same as in the log layout holds, just with ROWS_PER_COLUMN_SHORT.
+
+const ROWS_PER_COLUMN_SHORT = 8;
+const ROWS_PER_COLUMN_LONG = 16;
+const SHORT_LAYOUT_THRESHOLD = 8;
+const MAX_COLUMNS = 3;
@Component({
selector: 'os-motion-block-slide',
@@ -38,6 +48,36 @@ export class MotionBlockSlideComponent extends BaseMotionSlideComponent