diff --git a/client/src/app/site/assignments/components/assignment-list/assignment-list.component.html b/client/src/app/site/assignments/components/assignment-list/assignment-list.component.html
index e90b20ace..6c57a1fff 100644
--- a/client/src/app/site/assignments/components/assignment-list/assignment-list.component.html
+++ b/client/src/app/site/assignments/components/assignment-list/assignment-list.component.html
@@ -26,6 +26,7 @@
[columns]="tableColumnDefinition"
[filterProps]="filterProps"
[multiSelect]="isMultiSelect"
+ [hiddenInMobile]="getColumnsHiddenInMobile()"
listStorageKey="assignments"
[(selectedRows)]="selectedRows"
(dataSourceChange)="onDataSourceChange($event)"
@@ -39,14 +40,23 @@
*ngIf="!isMultiSelect"
>
- {{ assignment.getListTitle() }}
+
+ {{ assignment.getListTitle() }}
+
+
+
+ {{ assignment.phaseString | translate }}
+
+
- {{ assignment.phaseString | translate }}
+
+ {{ assignment.phaseString | translate }}
+
diff --git a/client/src/app/site/assignments/components/assignment-list/assignment-list.component.scss b/client/src/app/site/assignments/components/assignment-list/assignment-list.component.scss
index 0871ea8fe..23c147978 100644
--- a/client/src/app/site/assignments/components/assignment-list/assignment-list.component.scss
+++ b/client/src/app/site/assignments/components/assignment-list/assignment-list.component.scss
@@ -1,3 +1,5 @@
+@import '~assets/styles/tables.scss';
+
.mat-chip-wrapper {
.mat-standard-chip {
height: auto;
diff --git a/client/src/app/site/assignments/components/assignment-list/assignment-list.component.ts b/client/src/app/site/assignments/components/assignment-list/assignment-list.component.ts
index b6a3e7dcf..81bc5c28a 100644
--- a/client/src/app/site/assignments/components/assignment-list/assignment-list.component.ts
+++ b/client/src/app/site/assignments/components/assignment-list/assignment-list.component.ts
@@ -10,6 +10,7 @@ import { OperatorService } from 'app/core/core-services/operator.service';
import { StorageService } from 'app/core/core-services/storage.service';
import { AssignmentRepositoryService } from 'app/core/repositories/assignments/assignment-repository.service';
import { PromptService } from 'app/core/ui-services/prompt.service';
+import { ViewportService } from 'app/core/ui-services/viewport.service';
import { BaseListViewComponent } from 'app/site/base/base-list-view';
import { AssignmentFilterListService } from '../../services/assignment-filter.service';
import { AssignmentPdfExportService } from '../../services/assignment-pdf-export.service';
@@ -81,7 +82,8 @@ export class AssignmentListComponent extends BaseListViewComponent imple
this.listTiles = this.categoryTiles.concat(this.motionTiles);
}
+ /**
+ * @returns the columns hidden in mobile mode according to the
+ * current permissions
+ */
+ public getColumnsHiddenInMobile(): string[] {
+ const hiddenColumns = ['identifier', 'state'];
+
+ if (!this.perms.canAccessMobileDotMenu()) {
+ hiddenColumns.push('menu');
+ }
+
+ return hiddenColumns;
+ }
+
/**
* Creates the tiles for categories.
* Filters thous without parent, sorts them by theit weight, maps them to TileInfo and publishes
diff --git a/client/src/app/site/motions/services/local-permissions.service.ts b/client/src/app/site/motions/services/local-permissions.service.ts
index a881745e1..95d893e2c 100644
--- a/client/src/app/site/motions/services/local-permissions.service.ts
+++ b/client/src/app/site/motions/services/local-permissions.service.ts
@@ -25,6 +25,14 @@ export class LocalPermissionsService {
.subscribe(enabled => (this.amendmentOfAmendment = enabled));
}
+ /**
+ * Determine if the operator is allowed to access the per line dot-menu
+ * in mobile mode
+ */
+ public canAccessMobileDotMenu(): boolean {
+ return this.operator.hasPerms('agenda.can_see_list_of_speakers', 'core.can_manage_projector');
+ }
+
/**
* Determine if the user (Operator) has the correct permission to perform the given action.
*
diff --git a/client/src/app/site/motions/styles/motion-list-styles.scss b/client/src/app/site/motions/styles/motion-list-styles.scss
index 8acea58fc..e82cf34be 100644
--- a/client/src/app/site/motions/styles/motion-list-styles.scss
+++ b/client/src/app/site/motions/styles/motion-list-styles.scss
@@ -1,23 +1,3 @@
-.title-line {
- font-weight: 500;
- font-size: 16px;
-
- .attached-files {
- .mat-icon {
- display: inline-flex;
- vertical-align: middle;
- $icon-size: 16px;
- font-size: $icon-size;
- height: $icon-size;
- width: $icon-size;
- }
- }
-
- .favorite-star {
- padding-right: 3px;
- }
-}
-
.submitters-line {
font-size: 90%;
}
diff --git a/client/src/assets/styles/tables.scss b/client/src/assets/styles/tables.scss
index 5593bb5a1..b217d62f1 100644
--- a/client/src/assets/styles/tables.scss
+++ b/client/src/assets/styles/tables.scss
@@ -1,4 +1,26 @@
// shared definition for most (if not all) used tables
+
+.title-line {
+ font-weight: 500;
+ font-size: 16px;
+
+ .attached-files {
+ .mat-icon {
+ display: inline-flex;
+ vertical-align: middle;
+ $icon-size: 16px;
+ font-size: $icon-size;
+ height: $icon-size;
+ width: $icon-size;
+ }
+ }
+
+ .favorite-star {
+ padding-right: 3px;
+ }
+}
+
+// most mat-lists are NGrid already. Group-List and Workflow-Detail still require these.
.mat-table {
width: 100%;