blob: 08904c1c2b3366fed37bf5c6c06fe3290af31d8c (
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<div class="cd-col-form"
*cdFormLoading="loading">
<form name="roleForm"
#formDir="ngForm"
[formGroup]="roleForm"
novalidate>
<div class="card">
<div i18n="form title"
class="card-header">{{ action | titlecase }} {{ resource | upperFirst }}</div>
<div class="card-body">
<!-- Name -->
<div class="form-group row">
<label class="cd-col-form-label"
[ngClass]="{'required': mode !== roleFormMode.editing}"
for="name"
i18n>Name</label>
<div class="cd-col-form-input">
<input class="form-control"
type="text"
i18n-placeholder
placeholder="Name..."
id="name"
name="name"
formControlName="name"
autofocus>
<span class="invalid-feedback"
*ngIf="roleForm.showError('name', formDir, 'required')"
i18n>This field is required.</span>
<span class="invalid-feedback"
*ngIf="roleForm.showError('name', formDir, 'notUnique')"
i18n>The chosen name is already in use.</span>
</div>
</div>
<!-- Description -->
<div class="form-group row">
<label i18n
class="cd-col-form-label"
for="description">Description</label>
<div class="cd-col-form-input">
<input class="form-control"
type="text"
i18n-placeholder
placeholder="Description..."
id="description"
name="description"
formControlName="description">
</div>
</div>
<!-- Permissions -->
<div class="form-group row">
<label i18n
class="cd-col-form-label">Permissions</label>
<div class="cd-col-form-input">
<cd-table [data]="scopes_permissions"
[columns]="columns"
columnMode="flex"
[toolHeader]="false"
[autoReload]="false"
[autoSave]="false"
[footer]="false"
[limit]="0">
</cd-table>
</div>
</div>
</div>
<div class="card-footer">
<cd-form-button-panel (submitActionEvent)="submit()"
[form]="roleForm"
[submitText]="(action | titlecase) + ' ' + (resource | upperFirst)"
wrappingClass="text-right"></cd-form-button-panel>
</div>
</div>
</form>
</div>
<ng-template #cellScopeCheckboxTpl
let-column="column"
let-row="row"
let-value="value">
<div class="custom-control custom-checkbox">
<input class="custom-control-input"
id="scope_{{ row.scope }}"
type="checkbox"
[checked]="isRowChecked(row.scope)"
(change)="onClickCellCheckbox(row.scope, column.prop, $event)">
<label class="datatable-permissions-scope-cell-label custom-control-label"
for="scope_{{ row.scope }}">{{ value }}</label>
</div>
</ng-template>
<ng-template #cellPermissionCheckboxTpl
let-column="column"
let-row="row"
let-value="value">
<div class="custom-control custom-checkbox">
<input class="custom-control-input"
type="checkbox"
[checked]="value"
[id]="row.scope + '-' + column.prop"
(change)="onClickCellCheckbox(row.scope, column.prop, $event)">
<label class="custom-control-label"
[for]="row.scope + '-' + column.prop"></label>
</div>
</ng-template>
<ng-template #headerPermissionCheckboxTpl
let-column="column">
<div class="custom-control custom-checkbox">
<input class="custom-control-input"
id="header_{{ column.prop }}"
type="checkbox"
[checked]="isHeaderChecked(column.prop)"
(change)="onClickHeaderCheckbox(column.prop, $event)">
<label class="datatable-permissions-header-cell-label custom-control-label"
for="header_{{ column.prop }}">{{ column.name }}</label>
</div>
</ng-template>
|