aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/modules/dashboard/apps/user-last-action-tile/user-last-action-tile.component.html
blob: 166b150526fd3b14eb06358ab3b743b26d0da622 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!--
  ~ Copyright (c) 2022. Deutsche Telekom AG
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  ~ SPDX-License-Identifier: Apache-2.0
  -->

<ng-template #template>
  <ng-container *ngIf="actions$ | async as actions">
    <div class="col-xl-5 col-lg-7 col-sm-12 my-2 qa_user_last_action_tile" cdkDrag>
      <div class="shadow card tile-height">
        <div class="card-header pl-3">
          <div class="d-flex flex-wrap" *ngIf="actionFilterType$ | async as selectedFilter">
            <div class="d-flex align-items-center">
              <i
                class="bi bi-arrows-move text-primary draggable text-primary pr-2"
                cdkDragHandle
                aria-hidden="true"
              ></i>
              <label class="d-none" for="filterSelect"
                >{{ 'dashboard.apps.userLastAction.filter.label' | translate
                }}{{ 'dashboard.apps.userLastAction.filter.type.' + selectedFilter | translate }}</label
              >
              <select
                id="filterSelect"
                [ngModel]="selectedFilter"
                (ngModelChange)="changeFilterType.next($event)"
                class="form-select-sm font-weight-bolder bg-color-inherit"
              >
                <option *ngFor="let filter of actionsFilter" [ngValue]="filter" class="font-weight-normal">
                  {{ 'dashboard.apps.userLastAction.filter.type.' + filter | translate }}
                </option>
              </select>
            </div>
            <div class="d-flex m-l-24px" *ngIf="actionIntervalType$ | async as selectedInterval">
              <label class="d-none" for="intervalSelect"
                >{{ 'dashboard.apps.userLastAction.filter.label' | translate
                }}{{ 'dashboard.apps.userLastAction.filter.interval.' + selectedInterval | translate }}</label
              >
              <select
                id="intervalSelect"
                [ngModel]="selectedInterval"
                (ngModelChange)="changeIntervalType.next($event)"
                class="form-select-sm font-weight-bold bg-color-inherit"
              >
                <option *ngFor="let interval of intervals" [ngValue]="interval" class="font-weight-normal">
                  {{ 'dashboard.apps.userLastAction.filter.interval.' + interval | translate }}
                </option>
              </select>
            </div>
          </div>
        </div>
        <div class="card-body overflow-auto">
          <ng-container *ngIf="actions.length > 0; else noData">
            <div *ngFor="let action of actions">
              <app-action-row [action]="action">
                <app-entity-user-administration-row
                  *ngIf="action.entity === EntityType.USERADMINISTRATION"
                  [action]="$any(action)"
                ></app-entity-user-administration-row>
              </app-action-row>
            </div>
          </ng-container>
        </div>
        <div class="card-footer"></div>
      </div>
    </div>
  </ng-container>
</ng-template>
<ng-template #noData>
  <div class="d-flex justify-content-center qa_class_no_data">
    {{ 'common.filters.noResults' | translate }}
  </div>
</ng-template>