Newer
Older
<ion-header [translucent]="true">
<ion-toolbar color="primary">
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>{{title}}</ion-title>
</ion-toolbar>
</ion-header>
<form style="display: contents;" id="adminForm" (ngSubmit)="onSubmit()" #adminForm="ngForm">
<ion-content>
<ion-item>
<ion-label color="secondary" position="floating">{{'lang.label' | translate}} *</ion-label>
<ion-input name="label" [maxlength]="128" [(ngModel)]="group.label" required>
</ion-input>
</ion-item>
<ion-item lines="none" *ngIf="!creationMode">
<ion-label color="secondary">{{'lang.privileges' | translate}} :</ion-label>
</ion-item>
<div style="display: grid;grid-gap: 10px;" [class.grid-2-col]="signaturesService.mobileMode" [class.grid-3-col]="!signaturesService.mobileMode">
<ion-item style="cursor: pointer" *ngFor="let privilege of group.privileges">
<ion-toggle slot="start" [name]="privilege.id" color="primary" [checked]="privilege.checked"
[(ngModel)]="privilege.checked" (click)="togglePrivilege(privilege, true)"></ion-toggle>
<ion-label (click)="togglePrivilege(privilege, false)">{{'lang.' + privilege.id + 'Admin' | translate}}</ion-label>
</ion-item>
</div>
<!--<ion-grid *ngIf="!creationMode">
<ion-col [size]="!signaturesService.mobileMode ? 2 : 2" *ngFor="let privilege of group.privileges">
<ion-item style="cursor: pointer">
<ion-toggle slot="start" [name]="privilege.id" color="primary" [checked]="privilege.checked"
[(ngModel)]="privilege.checked" (click)="togglePrivilege(privilege, true)"></ion-toggle>
<ion-label (click)="togglePrivilege(privilege, false)">{{'lang.' + privilege.id + 'Admin' | translate}}</ion-label>
</ion-item>
</ion-col>
</ion-row>
<ion-item lines="none" *ngIf="!creationMode">
<ion-label color="secondary">{{'lang.linkedUsers' | translate}} :</ion-label>
</ion-item>

Alex ORLUC
committed
<ion-card *ngIf="!creationMode" style="height: 400px;">
<ion-list>
<ion-item style="display: flex;">
<ion-label color="primary" matSort [matSortActive]="displayedColumns[1]" matSortDirection='asc'
style="display: flex;font-size: 12px;align-items: center;" (matSortChange)="sortData($event)">
<ng-container *ngFor="let col of displayedColumns">
<div [mat-sort-header]="col" disableClear style="flex: 1" *ngIf="col!=='actions'">
{{'lang.' + col | translate}}
</div>
</ng-container>
<div style="flex: 1;text-align: right;" *ngIf="displayedColumns.indexOf('actions') > -1">
<ion-button slot="end" color="primary" fille="outline" shape="round" (click)="openUserList()">
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
86
87
88
89
90
</ion-label>
<ion-button slot="end" fill="clear" shape="round" disabled>
<ion-icon></ion-icon>
</ion-button>
</ion-item>
<ion-virtual-scroll [items]="sortedData" approxItemHeight="50px">
<ion-item *virtualItem="let element" style="display: flex;">
<ion-label style="display: flex;cursor: pointer;"
routerLink="/administration/users/{{element.id}}">
<div style="flex: 1" *ngFor="let col of displayedColumns">
{{element[col]}}
</div>
</ion-label>
<ion-button slot="end" fill="clear" shape="round"
(click)="$event.stopPropagation();unlinkUser(element)"
title="{{'lang.unlinkUser' | translate}}">
<ion-icon color="danger" slot="icon-only" name="close-outline"></ion-icon>
</ion-button>
</ion-item>
</ion-virtual-scroll>
</ion-list>
</ion-card>
<ion-item text-center lines="none" style="position: sticky;bottom:0px;z-index:1;">
<div style="display: flex;align-items: center;justify-content: center;width: 100%;background: white;">
<ion-button type="submit" shape="round" size="large" fill="outline" color="primary"
[disabled]="!adminForm.form.valid || !canValidate()">
<ion-label style="font-size: 13px;">{{'lang.validate' | translate}}</ion-label>
</ion-button>
<ion-button *ngIf="!creationMode" type="button" shape="round" size="large" fill="outline" color="danger"
(click)="deleteGroup()">
<ion-label style="font-size: 13px;">{{'lang.delete' | translate}}</ion-label>
</ion-button>
</div>
</ion-item>
</ion-content>
</form>