@cauca-911/management 22.0.2 → 22.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/i18n/cauca/en-management.json +8 -0
- package/assets/i18n/cauca/es-management.json +8 -0
- package/assets/i18n/cauca/fr-management.json +8 -0
- package/fesm2022/cauca-911-management.mjs +331 -19
- package/fesm2022/cauca-911-management.mjs.map +1 -1
- package/package.json +1 -1
- package/types/cauca-911-management.d.ts +131 -35
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
"groupNameColumnLabel": "Group name",
|
|
20
20
|
"assignableByAllUsersColumnLabel": "Assignable by all"
|
|
21
21
|
},
|
|
22
|
+
"userList": {
|
|
23
|
+
"viewPermissions": "View permissions",
|
|
24
|
+
"column": {
|
|
25
|
+
"userName": "User name",
|
|
26
|
+
"firstName": "First name",
|
|
27
|
+
"lastName": "Last name"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
22
30
|
"groupEdition": {
|
|
23
31
|
"newGroupTitle": "New group",
|
|
24
32
|
"editGroupTitle": "Edit group",
|
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
"groupNameColumnLabel": "Nombre del grupo",
|
|
20
20
|
"assignableByAllUsersColumnLabel": "Asignable por todos"
|
|
21
21
|
},
|
|
22
|
+
"userList": {
|
|
23
|
+
"viewPermissions": "Ver los permisos",
|
|
24
|
+
"column": {
|
|
25
|
+
"userName": "Nombre del usuario",
|
|
26
|
+
"firstName": "Nombre de pila",
|
|
27
|
+
"lastName": "Apellido"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
22
30
|
"groupEdition": {
|
|
23
31
|
"newGroupTitle": "Nuevo grupo",
|
|
24
32
|
"editGroupTitle": "Editar grupo",
|
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
"groupNameColumnLabel": "Nom du groupe",
|
|
20
20
|
"assignableByAllUsersColumnLabel": "Assignable par tous"
|
|
21
21
|
},
|
|
22
|
+
"userList": {
|
|
23
|
+
"viewPermissions": "Voir les permissions",
|
|
24
|
+
"column": {
|
|
25
|
+
"userName": "Nom d'utilisateur",
|
|
26
|
+
"firstName": "Prénom",
|
|
27
|
+
"lastName": "Nom"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
22
30
|
"groupEdition": {
|
|
23
31
|
"newGroupTitle": "Nouveau groupe",
|
|
24
32
|
"editGroupTitle": "Modifier le groupe",
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injector, inject, Injectable, computed, ChangeDetectionStrategy, Component, ViewChild, signal, viewChild, resource, effect, untracked, model, input, HostListener, NgModule } from '@angular/core';
|
|
3
|
-
import { pendingChangesGuard, DialogService, PageTitleComponent, LoadingSpinnerIndicatorComponent, LoadingErrorComponent, StrokedButtonComponent, RaisedButtonComponent, ListPaginatorComponent, IconButtonComponent, LoadingStateService, GroupContainerComponent, ConfirmationResult, SavingErrorBoxComponent } from '@cauca-911/material';
|
|
2
|
+
import { InjectionToken, Injector, inject, Injectable, computed, ChangeDetectionStrategy, Component, ViewChild, signal, viewChild, resource, effect, untracked, model, input, HostListener, forwardRef, ViewEncapsulation, output, NgModule } from '@angular/core';
|
|
3
|
+
import { pendingChangesGuard, DialogService, PageTitleComponent, LoadingSpinnerIndicatorComponent, LoadingErrorComponent, StrokedButtonComponent, RaisedButtonComponent, ListPaginatorComponent, IconButtonComponent, LoadingStateService, GroupContainerComponent, ConfirmationResult, SavingErrorBoxComponent, MenuItemComponent } from '@cauca-911/material';
|
|
4
4
|
import * as i1 from '@angular/material/card';
|
|
5
5
|
import { MatCardModule } from '@angular/material/card';
|
|
6
6
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
7
7
|
import { MatSort } from '@angular/material/sort';
|
|
8
8
|
import { Router } from '@angular/router';
|
|
9
9
|
import ODataFilterBuilder from 'odata-filter-builder';
|
|
10
|
-
import { OdataGridComponent, SortableDataGridColumnComponent, SortableDataGridCheckColumnComponent, DataGridCommandsColumnComponent } from '@cauca-911/datagrid';
|
|
10
|
+
import { OdataGridComponent, SortableDataGridColumnComponent, SortableDataGridCheckColumnComponent, DataGridCommandsColumnComponent, DataGridComponent, BaseGridColumnComponent, DataGridMenuColumnComponent } from '@cauca-911/datagrid';
|
|
11
11
|
import { HttpClient } from '@angular/common/http';
|
|
12
12
|
import { CaucaCoreService, toLowerCaseAndWithoutDiacritics } from '@cauca-911/core';
|
|
13
13
|
import { firstValueFrom, startWith, debounceTime } from 'rxjs';
|
|
@@ -29,11 +29,13 @@ import { v4 } from 'uuid';
|
|
|
29
29
|
import * as i4$1 from '@angular/material/list';
|
|
30
30
|
import { MatListModule } from '@angular/material/list';
|
|
31
31
|
import * as i6 from '@angular/material/tooltip';
|
|
32
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
32
|
+
import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
|
|
33
33
|
import * as i3 from '@angular/material/checkbox';
|
|
34
34
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
35
35
|
import * as i2$1 from '@angular/material/menu';
|
|
36
36
|
import { MatMenuModule } from '@angular/material/menu';
|
|
37
|
+
import { NgStyle } from '@angular/common';
|
|
38
|
+
import { MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatFooterCell, MatFooterCellDef } from '@angular/material/table';
|
|
37
39
|
import * as i1$3 from '@cauca-911/devextreme';
|
|
38
40
|
import { CaucaDevextremeModule } from '@cauca-911/devextreme';
|
|
39
41
|
import * as i4$2 from 'devextreme-angular/ui/check-box';
|
|
@@ -103,7 +105,7 @@ class GroupManagementService {
|
|
|
103
105
|
}]
|
|
104
106
|
}], null, null); })();
|
|
105
107
|
|
|
106
|
-
const _c0$
|
|
108
|
+
const _c0$5 = () => ["name"];
|
|
107
109
|
class GroupListGridComponent {
|
|
108
110
|
constructor() {
|
|
109
111
|
this.columns = computed(() => this.getColumns(), /* @ts-ignore */
|
|
@@ -161,7 +163,7 @@ class GroupListGridComponent {
|
|
|
161
163
|
i0.ɵɵlistener("deleteClick", function GroupListGridComponent_Template_cauca_data_grid_commands_column_deleteClick_6_listener($event) { return ctx.deleteGroup($event); });
|
|
162
164
|
i0.ɵɵelementEnd()();
|
|
163
165
|
} if (rf & 2) {
|
|
164
|
-
i0.ɵɵproperty("showTableOptions", true)("showAddButton", true)("addButtonLabel", i0.ɵɵpipeBind1(1, 10, "groups.addButtonLabel"))("baseSort", i0.ɵɵpureFunction0(16, _c0$
|
|
166
|
+
i0.ɵɵproperty("showTableOptions", true)("showAddButton", true)("addButtonLabel", i0.ɵɵpipeBind1(1, 10, "groups.addButtonLabel"))("baseSort", i0.ɵɵpureFunction0(16, _c0$5))("filterPredicate", ctx.filterPredicate)("displayedColumns", ctx.columns());
|
|
165
167
|
i0.ɵɵadvance(2);
|
|
166
168
|
i0.ɵɵproperty("label", i0.ɵɵpipeBind1(3, 12, "groups.groupNameColumnLabel"));
|
|
167
169
|
i0.ɵɵadvance(2);
|
|
@@ -365,8 +367,8 @@ class UserSearchService {
|
|
|
365
367
|
}]
|
|
366
368
|
}], null, null); })();
|
|
367
369
|
|
|
368
|
-
const _c0$
|
|
369
|
-
const _forTrack0$
|
|
370
|
+
const _c0$4 = ["resultPaginator"];
|
|
371
|
+
const _forTrack0$4 = ($index, $item) => $item.id;
|
|
370
372
|
function GroupUserSelectionDialogComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
371
373
|
i0.ɵɵelementStart(0, "div", 8);
|
|
372
374
|
i0.ɵɵtext(1);
|
|
@@ -418,7 +420,7 @@ function GroupUserSelectionDialogComponent_Conditional_17_Template(rf, ctx) { if
|
|
|
418
420
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
419
421
|
i0.ɵɵelementStart(0, "mat-selection-list", 18);
|
|
420
422
|
i0.ɵɵlistener("selectionChange", function GroupUserSelectionDialogComponent_Conditional_17_Template_mat_selection_list_selectionChange_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSelectionChange($event)); });
|
|
421
|
-
i0.ɵɵrepeaterCreate(1, GroupUserSelectionDialogComponent_Conditional_17_For_2_Template, 4, 6, "mat-list-option", 19, _forTrack0$
|
|
423
|
+
i0.ɵɵrepeaterCreate(1, GroupUserSelectionDialogComponent_Conditional_17_For_2_Template, 4, 6, "mat-list-option", 19, _forTrack0$4);
|
|
422
424
|
i0.ɵɵelementEnd();
|
|
423
425
|
i0.ɵɵconditionalCreate(3, GroupUserSelectionDialogComponent_Conditional_17_Conditional_3_Template, 2, 2, "cauca-list-paginator", 20);
|
|
424
426
|
} if (rf & 2) {
|
|
@@ -519,7 +521,7 @@ class GroupUserSelectionDialogComponent {
|
|
|
519
521
|
}
|
|
520
522
|
static { this.ɵfac = function GroupUserSelectionDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GroupUserSelectionDialogComponent)(); }; }
|
|
521
523
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GroupUserSelectionDialogComponent, selectors: [["cauca-group-user-selection-dialog"]], viewQuery: function GroupUserSelectionDialogComponent_Query(rf, ctx) { if (rf & 1) {
|
|
522
|
-
i0.ɵɵviewQuerySignal(ctx.paginator, _c0$
|
|
524
|
+
i0.ɵɵviewQuerySignal(ctx.paginator, _c0$4, 5);
|
|
523
525
|
} if (rf & 2) {
|
|
524
526
|
i0.ɵɵqueryAdvance();
|
|
525
527
|
} }, features: [i0.ɵɵProvidersFeature([UserSearchService, LoadingStateService])], decls: 28, vars: 15, consts: [["resultPaginator", ""], ["mat-dialog-title", ""], [1, "h6"], ["id", "closeButton", "icon", "close", 3, "buttonClick"], [1, "dialog-content"], ["subscriptSizing", "dynamic", 1, "search-field"], ["matInput", "", "type", "text", 3, "input", "value"], ["matSuffix", ""], [1, "search-hint", "body2"], [1, "results-region"], [3, "retryRequest"], [1, "no-results", "body2"], [1, "dialog-actions"], [1, "selected-users-panel"], [1, "selected-users-label", "caption"], [1, "selected-users-names", "body2", 3, "matTooltip"], ["color", "primary", "label", "cancel", 3, "buttonClick"], ["color", "primary", "label", "ok", 3, "buttonClick", "isDisabled"], [1, "results-list", 3, "selectionChange", "compareWith"], ["color", "primary", 1, "result-item", 3, "value", "selected", "result-item--even"], [3, "itemsCount", "pageSize"], ["color", "primary", 1, "result-item", 3, "value", "selected"], ["matListItemTitle", ""], ["matListItemSubtitle", ""], [3, "pageChange", "itemsCount", "pageSize"]], template: function GroupUserSelectionDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -608,8 +610,8 @@ class GroupUserSelectionDialogComponent {
|
|
|
608
610
|
}], () => [], { paginator: [{ type: i0.ViewChild, args: ['resultPaginator', { isSignal: true }] }] }); })();
|
|
609
611
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GroupUserSelectionDialogComponent, { className: "GroupUserSelectionDialogComponent", filePath: "lib/components/group-user-selection-dialog/group-user-selection-dialog.component.ts", lineNumber: 46 }); })();
|
|
610
612
|
|
|
611
|
-
const _c0$
|
|
612
|
-
const _forTrack0$
|
|
613
|
+
const _c0$3 = ["paginator"];
|
|
614
|
+
const _forTrack0$3 = ($index, $item) => $item.id;
|
|
613
615
|
function GroupUserEditionListComponent_For_10_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
614
616
|
i0.ɵɵelementStart(0, "div", 11);
|
|
615
617
|
i0.ɵɵtext(1);
|
|
@@ -744,7 +746,7 @@ class GroupUserEditionListComponent {
|
|
|
744
746
|
}
|
|
745
747
|
static { this.ɵfac = function GroupUserEditionListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GroupUserEditionListComponent)(); }; }
|
|
746
748
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GroupUserEditionListComponent, selectors: [["cauca-group-user-edition-list"]], viewQuery: function GroupUserEditionListComponent_Query(rf, ctx) { if (rf & 1) {
|
|
747
|
-
i0.ɵɵviewQuerySignal(ctx.paginator, _c0$
|
|
749
|
+
i0.ɵɵviewQuerySignal(ctx.paginator, _c0$3, 5);
|
|
748
750
|
} if (rf & 2) {
|
|
749
751
|
i0.ɵɵqueryAdvance();
|
|
750
752
|
} }, features: [i0.ɵɵProvidersFeature([DialogService])], decls: 14, vars: 6, consts: [["paginator", ""], [1, "user-edition-list"], ["subscriptSizing", "dynamic", 1, "filter-field"], ["matInput", "", "type", "text", 3, "input", "value"], ["matSuffix", ""], [1, "users-list"], [1, "user-item"], [3, "itemsCount", "pageSize"], ["color", "primary", "label", "groupEdition.addUsersButton", 1, "add-users-button", 3, "buttonClick"], ["matListItemIcon", ""], ["matListItemTitle", "", 1, "user-name"], ["matListItemLine", "", 1, "user-additional-information"], ["matListItemMeta", "", "icon", "delete", "color", "error", 1, "delete-button", 3, "buttonClick"], [1, "no-users", "body2"], [3, "pageChange", "itemsCount", "pageSize"]], template: function GroupUserEditionListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -759,7 +761,7 @@ class GroupUserEditionListComponent {
|
|
|
759
761
|
i0.ɵɵtext(7, "search");
|
|
760
762
|
i0.ɵɵelementEnd()();
|
|
761
763
|
i0.ɵɵelementStart(8, "mat-list", 5);
|
|
762
|
-
i0.ɵɵrepeaterCreate(9, GroupUserEditionListComponent_For_10_Template, 8, 5, "mat-list-item", 6, _forTrack0$
|
|
764
|
+
i0.ɵɵrepeaterCreate(9, GroupUserEditionListComponent_For_10_Template, 8, 5, "mat-list-item", 6, _forTrack0$3, false, GroupUserEditionListComponent_ForEmpty_11_Template, 2, 1);
|
|
763
765
|
i0.ɵɵelementEnd();
|
|
764
766
|
i0.ɵɵconditionalCreate(12, GroupUserEditionListComponent_Conditional_12_Template, 2, 2, "cauca-list-paginator", 7);
|
|
765
767
|
i0.ɵɵelementStart(13, "cauca-raised-button", 8);
|
|
@@ -832,7 +834,7 @@ class PermissionManagementService {
|
|
|
832
834
|
}]
|
|
833
835
|
}], null, null); })();
|
|
834
836
|
|
|
835
|
-
const _forTrack0$
|
|
837
|
+
const _forTrack0$2 = ($index, $item) => $item.id;
|
|
836
838
|
function GroupPermissionListComponent_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
837
839
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
838
840
|
i0.ɵɵelementStart(0, "mat-list-item", 4)(1, "mat-checkbox", 6);
|
|
@@ -917,7 +919,7 @@ class GroupPermissionListComponent {
|
|
|
917
919
|
i0.ɵɵtext(6, "search");
|
|
918
920
|
i0.ɵɵelementEnd()();
|
|
919
921
|
i0.ɵɵelementStart(7, "mat-selection-list", 3);
|
|
920
|
-
i0.ɵɵrepeaterCreate(8, GroupPermissionListComponent_For_9_Template, 3, 4, "mat-list-item", 4, _forTrack0$
|
|
922
|
+
i0.ɵɵrepeaterCreate(8, GroupPermissionListComponent_For_9_Template, 3, 4, "mat-list-item", 4, _forTrack0$2, false, GroupPermissionListComponent_ForEmpty_10_Template, 6, 3, "div", 5);
|
|
921
923
|
i0.ɵɵelementEnd();
|
|
922
924
|
} if (rf & 2) {
|
|
923
925
|
i0.ɵɵadvance(2);
|
|
@@ -1199,7 +1201,7 @@ var UserPermissionOriginKind;
|
|
|
1199
1201
|
UserPermissionOriginKind[UserPermissionOriginKind["UserOverride"] = 1] = "UserOverride";
|
|
1200
1202
|
})(UserPermissionOriginKind || (UserPermissionOriginKind = {}));
|
|
1201
1203
|
|
|
1202
|
-
const _forTrack0 = ($index, $item) => $item.idModulePermission;
|
|
1204
|
+
const _forTrack0$1 = ($index, $item) => $item.idModulePermission;
|
|
1203
1205
|
function UserPermissionListComponent_For_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
1204
1206
|
i0.ɵɵtext(0, " check ");
|
|
1205
1207
|
} }
|
|
@@ -1309,7 +1311,7 @@ class UserPermissionListComponent {
|
|
|
1309
1311
|
i0.ɵɵtext(6, "search");
|
|
1310
1312
|
i0.ɵɵelementEnd()();
|
|
1311
1313
|
i0.ɵɵelementStart(7, "mat-list", 4);
|
|
1312
|
-
i0.ɵɵrepeaterCreate(8, UserPermissionListComponent_For_9_Template, 16, 11, "mat-list-item", 5, _forTrack0, false, UserPermissionListComponent_ForEmpty_10_Template, 6, 3, "div", 6);
|
|
1314
|
+
i0.ɵɵrepeaterCreate(8, UserPermissionListComponent_For_9_Template, 16, 11, "mat-list-item", 5, _forTrack0$1, false, UserPermissionListComponent_ForEmpty_10_Template, 6, 3, "div", 6);
|
|
1313
1315
|
i0.ɵɵelementEnd();
|
|
1314
1316
|
} if (rf & 2) {
|
|
1315
1317
|
i0.ɵɵadvance(2);
|
|
@@ -1394,6 +1396,316 @@ class UserPermissionsDialogComponent {
|
|
|
1394
1396
|
}], null, null); })();
|
|
1395
1397
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserPermissionsDialogComponent, { className: "UserPermissionsDialogComponent", filePath: "lib/components/user-permissions-dialog/user-permissions-dialog.component.ts", lineNumber: 31 }); })();
|
|
1396
1398
|
|
|
1399
|
+
const _c0$2 = a0 => ({ "width": a0 });
|
|
1400
|
+
function ScopeListGridColumnComponent_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
1401
|
+
i0.ɵɵelementStart(0, "th", 4);
|
|
1402
|
+
i0.ɵɵtext(1);
|
|
1403
|
+
i0.ɵɵelementEnd();
|
|
1404
|
+
} if (rf & 2) {
|
|
1405
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1406
|
+
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(2, _c0$2, ctx_r0.width()));
|
|
1407
|
+
i0.ɵɵadvance();
|
|
1408
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.label() ?? ctx_r0.capitalize(ctx_r0.prop()), " ");
|
|
1409
|
+
} }
|
|
1410
|
+
function ScopeListGridColumnComponent_td_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
1411
|
+
i0.ɵɵelementStart(0, "span");
|
|
1412
|
+
i0.ɵɵtext(1);
|
|
1413
|
+
i0.ɵɵpipe(2, "translate");
|
|
1414
|
+
i0.ɵɵelementEnd();
|
|
1415
|
+
} if (rf & 2) {
|
|
1416
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
1417
|
+
i0.ɵɵadvance();
|
|
1418
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.allLabel()));
|
|
1419
|
+
} }
|
|
1420
|
+
function ScopeListGridColumnComponent_td_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
1421
|
+
i0.ɵɵelementStart(0, "span", 6);
|
|
1422
|
+
i0.ɵɵtext(1);
|
|
1423
|
+
i0.ɵɵelementEnd();
|
|
1424
|
+
} if (rf & 2) {
|
|
1425
|
+
const row_r2 = i0.ɵɵnextContext().$implicit;
|
|
1426
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1427
|
+
i0.ɵɵproperty("matTooltip", row_r2[ctx_r0.prop()]);
|
|
1428
|
+
i0.ɵɵadvance();
|
|
1429
|
+
i0.ɵɵtextInterpolate(row_r2[ctx_r0.prop()]);
|
|
1430
|
+
} }
|
|
1431
|
+
function ScopeListGridColumnComponent_td_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
1432
|
+
i0.ɵɵelementStart(0, "span");
|
|
1433
|
+
i0.ɵɵtext(1);
|
|
1434
|
+
i0.ɵɵelementEnd();
|
|
1435
|
+
} if (rf & 2) {
|
|
1436
|
+
const row_r2 = i0.ɵɵnextContext().$implicit;
|
|
1437
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1438
|
+
i0.ɵɵadvance();
|
|
1439
|
+
i0.ɵɵtextInterpolate(row_r2[ctx_r0.prop()]);
|
|
1440
|
+
} }
|
|
1441
|
+
function ScopeListGridColumnComponent_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
1442
|
+
i0.ɵɵelementStart(0, "td", 5);
|
|
1443
|
+
i0.ɵɵconditionalCreate(1, ScopeListGridColumnComponent_td_2_Conditional_1_Template, 3, 3, "span")(2, ScopeListGridColumnComponent_td_2_Conditional_2_Template, 2, 2, "span", 6)(3, ScopeListGridColumnComponent_td_2_Conditional_3_Template, 2, 1, "span");
|
|
1444
|
+
i0.ɵɵelementEnd();
|
|
1445
|
+
} if (rf & 2) {
|
|
1446
|
+
const row_r2 = ctx.$implicit;
|
|
1447
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
1448
|
+
i0.ɵɵadvance();
|
|
1449
|
+
i0.ɵɵconditional(row_r2[ctx_r0.prop()] === ctx_r0.allToken ? 1 : ctx_r0.showToolTip() ? 2 : 3);
|
|
1450
|
+
} }
|
|
1451
|
+
function ScopeListGridColumnComponent_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
1452
|
+
i0.ɵɵelement(0, "td", 7);
|
|
1453
|
+
} }
|
|
1454
|
+
/** The value a read view emits for a scope covering everything, in place of a list of names. */
|
|
1455
|
+
const AllScopeToken = 'ALL';
|
|
1456
|
+
function resolveTable() {
|
|
1457
|
+
const odata = inject(OdataGridComponent, { optional: true });
|
|
1458
|
+
const grid = inject(DataGridComponent, { optional: true });
|
|
1459
|
+
return (grid ?? odata)?.table;
|
|
1460
|
+
}
|
|
1461
|
+
class ScopeListGridColumnComponent extends BaseGridColumnComponent {
|
|
1462
|
+
/**
|
|
1463
|
+
* The `providers` alias above is what makes the grid's `ContentChildren(BaseGridColumnComponent)`
|
|
1464
|
+
* match this subclass; without it the column registers nowhere and renders as an empty slot.
|
|
1465
|
+
*/
|
|
1466
|
+
constructor() {
|
|
1467
|
+
super(resolveTable());
|
|
1468
|
+
/** Translation key shown instead of the list when the row's scope covers everything. */
|
|
1469
|
+
this.allLabel = input.required(/* @ts-ignore */
|
|
1470
|
+
...(ngDevMode ? [{ debugName: "allLabel" }] : /* istanbul ignore next */ []));
|
|
1471
|
+
this.allToken = AllScopeToken;
|
|
1472
|
+
}
|
|
1473
|
+
static { this.ɵfac = function ScopeListGridColumnComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ScopeListGridColumnComponent)(); }; }
|
|
1474
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ScopeListGridColumnComponent, selectors: [["cauca-scope-list-grid-column"]], inputs: { allLabel: [1, "allLabel"] }, features: [i0.ɵɵProvidersFeature([{ provide: BaseGridColumnComponent, useExisting: forwardRef(() => ScopeListGridColumnComponent) }]), i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 2, consts: [[3, "matColumnDef"], ["mat-header-cell", "", 3, "ngStyle", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], ["mat-footer-cell", "", 4, "matFooterCellDef"], ["mat-header-cell", "", 3, "ngStyle"], ["mat-cell", ""], [3, "matTooltip"], ["mat-footer-cell", ""]], template: function ScopeListGridColumnComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1475
|
+
i0.ɵɵelementContainerStart(0, 0);
|
|
1476
|
+
i0.ɵɵtemplate(1, ScopeListGridColumnComponent_th_1_Template, 2, 4, "th", 1)(2, ScopeListGridColumnComponent_td_2_Template, 4, 1, "td", 2)(3, ScopeListGridColumnComponent_td_3_Template, 1, 0, "td", 3);
|
|
1477
|
+
i0.ɵɵelementContainerEnd();
|
|
1478
|
+
} if (rf & 2) {
|
|
1479
|
+
i0.ɵɵproperty("matColumnDef", i0.ɵɵinterpolate(ctx.prop()));
|
|
1480
|
+
} }, dependencies: [MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatFooterCell, MatFooterCellDef,
|
|
1481
|
+
NgStyle, MatTooltip, TranslatePipe], encapsulation: 2 }); }
|
|
1482
|
+
}
|
|
1483
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ScopeListGridColumnComponent, [{
|
|
1484
|
+
type: Component,
|
|
1485
|
+
args: [{ selector: 'cauca-scope-list-grid-column', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: BaseGridColumnComponent, useExisting: forwardRef(() => ScopeListGridColumnComponent) }], imports: [
|
|
1486
|
+
MatColumnDef, MatHeaderCell, MatHeaderCellDef, MatCell, MatCellDef, MatFooterCell, MatFooterCellDef,
|
|
1487
|
+
NgStyle, MatTooltip, TranslatePipe,
|
|
1488
|
+
], template: "<ng-container matColumnDef=\"{{ prop() }}\">\n\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{'width': width()}\">\n {{ label() ?? capitalize(prop()) }}\n </th>\n\n <td mat-cell *matCellDef=\"let row\">\n @if (row[prop()] === allToken) {\n <span>{{ allLabel() | translate }}</span>\n } @else if (showToolTip()) {\n <span [matTooltip]=\"row[prop()]\">{{ row[prop()] }}</span>\n } @else {\n <span>{{ row[prop()] }}</span>\n }\n </td>\n\n <td mat-footer-cell *matFooterCellDef></td>\n\n</ng-container>\n" }]
|
|
1489
|
+
}], () => [], { allLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "allLabel", required: true }] }] }); })();
|
|
1490
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ScopeListGridColumnComponent, { className: "ScopeListGridColumnComponent", filePath: "lib/components/scope-list-grid-column/scope-list-grid-column.component.ts", lineNumber: 28 }); })();
|
|
1491
|
+
|
|
1492
|
+
const _c0$1 = () => ["userName"];
|
|
1493
|
+
const _forTrack0 = ($index, $item) => $item.prop;
|
|
1494
|
+
function UserListGridComponent_For_9_Case_0_Template(rf, ctx) { if (rf & 1) {
|
|
1495
|
+
i0.ɵɵelement(0, "cauca-scope-list-grid-column", 6);
|
|
1496
|
+
i0.ɵɵpipe(1, "translate");
|
|
1497
|
+
} if (rf & 2) {
|
|
1498
|
+
const column_r1 = i0.ɵɵnextContext().$implicit;
|
|
1499
|
+
i0.ɵɵproperty("id", column_r1.prop)("prop", column_r1.prop)("width", column_r1.width ?? "")("showToolTip", column_r1.showToolTip ?? true)("allLabel", column_r1.allLabel ?? "")("label", i0.ɵɵpipeBind1(1, 6, column_r1.label));
|
|
1500
|
+
} }
|
|
1501
|
+
function UserListGridComponent_For_9_Case_1_Template(rf, ctx) { if (rf & 1) {
|
|
1502
|
+
i0.ɵɵelement(0, "cauca-sortable-data-grid-check-column", 7);
|
|
1503
|
+
i0.ɵɵpipe(1, "translate");
|
|
1504
|
+
} if (rf & 2) {
|
|
1505
|
+
const column_r1 = i0.ɵɵnextContext().$implicit;
|
|
1506
|
+
i0.ɵɵproperty("id", column_r1.prop)("prop", column_r1.prop)("width", column_r1.width ?? "")("label", i0.ɵɵpipeBind1(1, 4, column_r1.label));
|
|
1507
|
+
} }
|
|
1508
|
+
function UserListGridComponent_For_9_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
1509
|
+
i0.ɵɵelement(0, "cauca-sortable-data-grid-column", 8);
|
|
1510
|
+
i0.ɵɵpipe(1, "translate");
|
|
1511
|
+
} if (rf & 2) {
|
|
1512
|
+
const column_r1 = i0.ɵɵnextContext().$implicit;
|
|
1513
|
+
i0.ɵɵproperty("id", column_r1.prop)("prop", column_r1.prop)("width", column_r1.width ?? "")("showToolTip", column_r1.showToolTip ?? true)("label", i0.ɵɵpipeBind1(1, 5, column_r1.label));
|
|
1514
|
+
} }
|
|
1515
|
+
function UserListGridComponent_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
1516
|
+
i0.ɵɵconditionalCreate(0, UserListGridComponent_For_9_Case_0_Template, 2, 8, "cauca-scope-list-grid-column", 6)(1, UserListGridComponent_For_9_Case_1_Template, 2, 6, "cauca-sortable-data-grid-check-column", 7)(2, UserListGridComponent_For_9_Case_2_Template, 2, 7, "cauca-sortable-data-grid-column", 8);
|
|
1517
|
+
} if (rf & 2) {
|
|
1518
|
+
let tmp_10_0;
|
|
1519
|
+
const column_r1 = ctx.$implicit;
|
|
1520
|
+
i0.ɵɵconditional((tmp_10_0 = column_r1.kind) === "scope" ? 0 : tmp_10_0 === "check" ? 1 : 2);
|
|
1521
|
+
} }
|
|
1522
|
+
function UserListGridComponent_Conditional_10_ng_template_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
1523
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
1524
|
+
i0.ɵɵelementStart(0, "cauca-menu-item", 11);
|
|
1525
|
+
i0.ɵɵlistener("buttonClick", function UserListGridComponent_Conditional_10_ng_template_1_Conditional_0_Template_cauca_menu_item_buttonClick_0_listener() { i0.ɵɵrestoreView(_r4); const row_r5 = i0.ɵɵnextContext().row; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.openPermissions(row_r5)); });
|
|
1526
|
+
i0.ɵɵelementEnd();
|
|
1527
|
+
} if (rf & 2) {
|
|
1528
|
+
i0.ɵɵproperty("translateLabel", true);
|
|
1529
|
+
} }
|
|
1530
|
+
function UserListGridComponent_Conditional_10_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
1531
|
+
i0.ɵɵconditionalCreate(0, UserListGridComponent_Conditional_10_ng_template_1_Conditional_0_Template, 1, 1, "cauca-menu-item", 10);
|
|
1532
|
+
} if (rf & 2) {
|
|
1533
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1534
|
+
i0.ɵɵconditional(ctx_r2.showPermissions() ? 0 : -1);
|
|
1535
|
+
} }
|
|
1536
|
+
function UserListGridComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
1537
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
1538
|
+
i0.ɵɵelementStart(0, "cauca-data-grid-menu-column", 9);
|
|
1539
|
+
i0.ɵɵlistener("deleteClick", function UserListGridComponent_Conditional_10_Template_cauca_data_grid_menu_column_deleteClick_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onDelete($event)); });
|
|
1540
|
+
i0.ɵɵtemplate(1, UserListGridComponent_Conditional_10_ng_template_1_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
1541
|
+
i0.ɵɵelementEnd();
|
|
1542
|
+
} if (rf & 2) {
|
|
1543
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
1544
|
+
i0.ɵɵproperty("canEdit", ctx_r2.canEdit())("canDelete", ctx_r2.canDelete())("editLinkField", ctx_r2.editLinkField());
|
|
1545
|
+
} }
|
|
1546
|
+
/** The intersection of every site's feed, from `UserListItem` in `Cause.SecurityManagement`. */
|
|
1547
|
+
const SharedColumns = ['userName', 'firstName', 'lastName'];
|
|
1548
|
+
const SharedSearchedColumns = ['searchableUserName', 'searchableFirstName', 'searchableLastName'];
|
|
1549
|
+
class UserListGridComponent {
|
|
1550
|
+
constructor() {
|
|
1551
|
+
/**
|
|
1552
|
+
* Read when the grid registers its columns, in `ngAfterContentInit`. Replacing the list
|
|
1553
|
+
* afterwards renders nothing: the new columns are never registered with the MatTable.
|
|
1554
|
+
*/
|
|
1555
|
+
this.extraColumns = input([], /* @ts-ignore */
|
|
1556
|
+
...(ngDevMode ? [{ debugName: "extraColumns" }] : /* istanbul ignore next */ []));
|
|
1557
|
+
this.showAddButton = input(false, /* @ts-ignore */
|
|
1558
|
+
...(ngDevMode ? [{ debugName: "showAddButton" }] : /* istanbul ignore next */ []));
|
|
1559
|
+
/** Translation key. */
|
|
1560
|
+
this.addButtonLabel = input('', /* @ts-ignore */
|
|
1561
|
+
...(ngDevMode ? [{ debugName: "addButtonLabel" }] : /* istanbul ignore next */ []));
|
|
1562
|
+
this.canEdit = input(false, /* @ts-ignore */
|
|
1563
|
+
...(ngDevMode ? [{ debugName: "canEdit" }] : /* istanbul ignore next */ []));
|
|
1564
|
+
this.canDelete = input(false, /* @ts-ignore */
|
|
1565
|
+
...(ngDevMode ? [{ debugName: "canDelete" }] : /* istanbul ignore next */ []));
|
|
1566
|
+
this.editLinkField = input('id', /* @ts-ignore */
|
|
1567
|
+
...(ngDevMode ? [{ debugName: "editLinkField" }] : /* istanbul ignore next */ []));
|
|
1568
|
+
this.showPermissions = input(false, /* @ts-ignore */
|
|
1569
|
+
...(ngDevMode ? [{ debugName: "showPermissions" }] : /* istanbul ignore next */ []));
|
|
1570
|
+
this.persistState = input(true, /* @ts-ignore */
|
|
1571
|
+
...(ngDevMode ? [{ debugName: "persistState" }] : /* istanbul ignore next */ []));
|
|
1572
|
+
this.addClick = output();
|
|
1573
|
+
this.deleteClick = output();
|
|
1574
|
+
this.hasRowActions = computed(() => this.showPermissions() || this.canEdit() || this.canDelete(), /* @ts-ignore */
|
|
1575
|
+
...(ngDevMode ? [{ debugName: "hasRowActions" }] : /* istanbul ignore next */ []));
|
|
1576
|
+
this.columns = computed(() => [
|
|
1577
|
+
...SharedColumns,
|
|
1578
|
+
...this.extraColumns().map(column => column.prop),
|
|
1579
|
+
...(this.hasRowActions() ? ['menu'] : []),
|
|
1580
|
+
], /* @ts-ignore */
|
|
1581
|
+
...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
1582
|
+
this.grid = viewChild.required(OdataGridComponent, /* @ts-ignore */
|
|
1583
|
+
...(ngDevMode ? [{ debugName: "grid" }] : /* istanbul ignore next */ []));
|
|
1584
|
+
this.sort = viewChild.required(MatSort, /* @ts-ignore */
|
|
1585
|
+
...(ngDevMode ? [{ debugName: "sort" }] : /* istanbul ignore next */ []));
|
|
1586
|
+
this.dialog = inject(DialogService);
|
|
1587
|
+
this.filterPredicate = (filter) => {
|
|
1588
|
+
const searched = [
|
|
1589
|
+
...SharedSearchedColumns,
|
|
1590
|
+
...this.extraColumns()
|
|
1591
|
+
.map(column => column.searchableProp)
|
|
1592
|
+
.filter((prop) => !!prop),
|
|
1593
|
+
];
|
|
1594
|
+
const computedFilter = filter
|
|
1595
|
+
? searched.reduce((builder, column) => builder.contains(column, filter), ODataFilterBuilder('or'))
|
|
1596
|
+
: ODataFilterBuilder();
|
|
1597
|
+
return [{ getFilter: () => [computedFilter.toString()] }];
|
|
1598
|
+
};
|
|
1599
|
+
}
|
|
1600
|
+
ngOnInit() {
|
|
1601
|
+
this.grid().setUpSort(this.sort());
|
|
1602
|
+
}
|
|
1603
|
+
refresh() {
|
|
1604
|
+
this.grid().refreshData();
|
|
1605
|
+
}
|
|
1606
|
+
async openPermissions(row) {
|
|
1607
|
+
await this.dialog.showCustomDialog(UserPermissionsDialogComponent, { userId: row.id, userDisplayName: `${row.firstName} ${row.lastName}` }, { width: '600px' });
|
|
1608
|
+
}
|
|
1609
|
+
onDelete(row) {
|
|
1610
|
+
this.deleteClick.emit(row);
|
|
1611
|
+
}
|
|
1612
|
+
static { this.ɵfac = function UserListGridComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserListGridComponent)(); }; }
|
|
1613
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserListGridComponent, selectors: [["cauca-user-list-grid"]], viewQuery: function UserListGridComponent_Query(rf, ctx) { if (rf & 1) {
|
|
1614
|
+
i0.ɵɵviewQuerySignal(ctx.grid, OdataGridComponent, 5)(ctx.sort, MatSort, 5);
|
|
1615
|
+
} if (rf & 2) {
|
|
1616
|
+
i0.ɵɵqueryAdvance(2);
|
|
1617
|
+
} }, inputs: { extraColumns: [1, "extraColumns"], showAddButton: [1, "showAddButton"], addButtonLabel: [1, "addButtonLabel"], canEdit: [1, "canEdit"], canDelete: [1, "canDelete"], editLinkField: [1, "editLinkField"], showPermissions: [1, "showPermissions"], persistState: [1, "persistState"] }, outputs: { addClick: "addClick", deleteClick: "deleteClick" }, decls: 11, vars: 24, consts: [["menuTemplate", ""], ["matSort", "", "matSortActive", "userName", "matSortDirection", "asc", "aria-describedby", "Users table", "resourceName", "UserList", 1, "users-datagrid", 3, "addButtonClick", "persistState", "showTableOptions", "showRefreshButton", "showAddButton", "addButtonLabel", "baseSort", "filterPredicate", "displayedColumns"], ["id", "userName", "prop", "userName", 3, "showToolTip", "label"], ["id", "firstName", "prop", "firstName", 3, "showToolTip", "label"], ["id", "lastName", "prop", "lastName", 3, "showToolTip", "label"], ["id", "buttons", "prop", "menu", 3, "canEdit", "canDelete", "editLinkField"], [3, "id", "prop", "width", "showToolTip", "allLabel", "label"], [3, "id", "prop", "width", "label"], [3, "id", "prop", "width", "showToolTip", "label"], ["id", "buttons", "prop", "menu", 3, "deleteClick", "canEdit", "canDelete", "editLinkField"], ["icon", "list", "label", "userList.viewPermissions", 3, "translateLabel"], ["icon", "list", "label", "userList.viewPermissions", 3, "buttonClick", "translateLabel"]], template: function UserListGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1618
|
+
i0.ɵɵelementStart(0, "cauca-odata-grid", 1);
|
|
1619
|
+
i0.ɵɵpipe(1, "translate");
|
|
1620
|
+
i0.ɵɵlistener("addButtonClick", function UserListGridComponent_Template_cauca_odata_grid_addButtonClick_0_listener() { return ctx.addClick.emit(); });
|
|
1621
|
+
i0.ɵɵelement(2, "cauca-sortable-data-grid-column", 2);
|
|
1622
|
+
i0.ɵɵpipe(3, "translate");
|
|
1623
|
+
i0.ɵɵelement(4, "cauca-sortable-data-grid-column", 3);
|
|
1624
|
+
i0.ɵɵpipe(5, "translate");
|
|
1625
|
+
i0.ɵɵelement(6, "cauca-sortable-data-grid-column", 4);
|
|
1626
|
+
i0.ɵɵpipe(7, "translate");
|
|
1627
|
+
i0.ɵɵrepeaterCreate(8, UserListGridComponent_For_9_Template, 3, 1, null, null, _forTrack0);
|
|
1628
|
+
i0.ɵɵconditionalCreate(10, UserListGridComponent_Conditional_10_Template, 3, 3, "cauca-data-grid-menu-column", 5);
|
|
1629
|
+
i0.ɵɵelementEnd();
|
|
1630
|
+
} if (rf & 2) {
|
|
1631
|
+
i0.ɵɵproperty("persistState", ctx.persistState())("showTableOptions", true)("showRefreshButton", true)("showAddButton", ctx.showAddButton())("addButtonLabel", i0.ɵɵpipeBind1(1, 15, ctx.addButtonLabel()))("baseSort", i0.ɵɵpureFunction0(23, _c0$1))("filterPredicate", ctx.filterPredicate)("displayedColumns", ctx.columns());
|
|
1632
|
+
i0.ɵɵadvance(2);
|
|
1633
|
+
i0.ɵɵproperty("showToolTip", true)("label", i0.ɵɵpipeBind1(3, 17, "userList.column.userName"));
|
|
1634
|
+
i0.ɵɵadvance(2);
|
|
1635
|
+
i0.ɵɵproperty("showToolTip", true)("label", i0.ɵɵpipeBind1(5, 19, "userList.column.firstName"));
|
|
1636
|
+
i0.ɵɵadvance(2);
|
|
1637
|
+
i0.ɵɵproperty("showToolTip", true)("label", i0.ɵɵpipeBind1(7, 21, "userList.column.lastName"));
|
|
1638
|
+
i0.ɵɵadvance(2);
|
|
1639
|
+
i0.ɵɵrepeater(ctx.extraColumns());
|
|
1640
|
+
i0.ɵɵadvance(2);
|
|
1641
|
+
i0.ɵɵconditional(ctx.hasRowActions() ? 10 : -1);
|
|
1642
|
+
} }, dependencies: [MatSort, OdataGridComponent, SortableDataGridColumnComponent, SortableDataGridCheckColumnComponent,
|
|
1643
|
+
ScopeListGridColumnComponent, DataGridMenuColumnComponent, MenuItemComponent, TranslatePipe], encapsulation: 2 }); }
|
|
1644
|
+
}
|
|
1645
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserListGridComponent, [{
|
|
1646
|
+
type: Component,
|
|
1647
|
+
args: [{ selector: 'cauca-user-list-grid', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
1648
|
+
MatSort, OdataGridComponent, SortableDataGridColumnComponent, SortableDataGridCheckColumnComponent,
|
|
1649
|
+
ScopeListGridColumnComponent, DataGridMenuColumnComponent, MenuItemComponent, TranslatePipe,
|
|
1650
|
+
], template: "<cauca-odata-grid\n matSort\n matSortActive=\"userName\"\n matSortDirection=\"asc\"\n class=\"users-datagrid\"\n aria-describedby=\"Users table\"\n resourceName=\"UserList\"\n [persistState]=\"persistState()\"\n [showTableOptions]=\"true\"\n [showRefreshButton]=\"true\"\n [showAddButton]=\"showAddButton()\"\n [addButtonLabel]=\"addButtonLabel() | translate\"\n (addButtonClick)=\"addClick.emit()\"\n [baseSort]=\"['userName']\"\n [filterPredicate]=\"filterPredicate\"\n [displayedColumns]=\"columns()\">\n\n <cauca-sortable-data-grid-column id=\"userName\" prop=\"userName\" [showToolTip]=\"true\"\n [label]=\"'userList.column.userName' | translate\"/>\n <cauca-sortable-data-grid-column id=\"firstName\" prop=\"firstName\" [showToolTip]=\"true\"\n [label]=\"'userList.column.firstName' | translate\"/>\n <cauca-sortable-data-grid-column id=\"lastName\" prop=\"lastName\" [showToolTip]=\"true\"\n [label]=\"'userList.column.lastName' | translate\"/>\n\n @for (column of extraColumns(); track column.prop) {\n @switch (column.kind) {\n @case ('scope') {\n <cauca-scope-list-grid-column [id]=\"column.prop\" [prop]=\"column.prop\"\n [width]=\"column.width ?? ''\"\n [showToolTip]=\"column.showToolTip ?? true\"\n [allLabel]=\"column.allLabel ?? ''\"\n [label]=\"column.label | translate\"/>\n }\n @case ('check') {\n <cauca-sortable-data-grid-check-column [id]=\"column.prop\" [prop]=\"column.prop\"\n [width]=\"column.width ?? ''\"\n [label]=\"column.label | translate\"/>\n }\n @default {\n <cauca-sortable-data-grid-column [id]=\"column.prop\" [prop]=\"column.prop\"\n [width]=\"column.width ?? ''\"\n [showToolTip]=\"column.showToolTip ?? true\"\n [label]=\"column.label | translate\"/>\n }\n }\n }\n\n @if (hasRowActions()) {\n <cauca-data-grid-menu-column id=\"buttons\" prop=\"menu\"\n [canEdit]=\"canEdit()\"\n [canDelete]=\"canDelete()\"\n [editLinkField]=\"editLinkField()\"\n (deleteClick)=\"onDelete($event)\">\n <ng-template #menuTemplate let-row=\"row\">\n @if (showPermissions()) {\n <cauca-menu-item icon=\"list\" label=\"userList.viewPermissions\" [translateLabel]=\"true\"\n (buttonClick)=\"openPermissions(row)\"/>\n }\n </ng-template>\n </cauca-data-grid-menu-column>\n }\n\n</cauca-odata-grid>\n" }]
|
|
1651
|
+
}], null, { extraColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "extraColumns", required: false }] }], showAddButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAddButton", required: false }] }], addButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "addButtonLabel", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], canDelete: [{ type: i0.Input, args: [{ isSignal: true, alias: "canDelete", required: false }] }], editLinkField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editLinkField", required: false }] }], showPermissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPermissions", required: false }] }], persistState: [{ type: i0.Input, args: [{ isSignal: true, alias: "persistState", required: false }] }], addClick: [{ type: i0.Output, args: ["addClick"] }], deleteClick: [{ type: i0.Output, args: ["deleteClick"] }], grid: [{ type: i0.ViewChild, args: [i0.forwardRef(() => OdataGridComponent), { isSignal: true }] }], sort: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSort), { isSignal: true }] }] }); })();
|
|
1652
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserListGridComponent, { className: "UserListGridComponent", filePath: "lib/components/user-list-grid/user-list-grid.component.ts", lineNumber: 27 }); })();
|
|
1653
|
+
|
|
1654
|
+
class UsersPageComponent {
|
|
1655
|
+
constructor() {
|
|
1656
|
+
/** Translation keys. Every site names its users page and its menu differently. */
|
|
1657
|
+
this.caption = input('management.users', /* @ts-ignore */
|
|
1658
|
+
...(ngDevMode ? [{ debugName: "caption" }] : /* istanbul ignore next */ []));
|
|
1659
|
+
this.baseCrumb = input('menu.management', /* @ts-ignore */
|
|
1660
|
+
...(ngDevMode ? [{ debugName: "baseCrumb" }] : /* istanbul ignore next */ []));
|
|
1661
|
+
this.breadcrumb = input('management.users', /* @ts-ignore */
|
|
1662
|
+
...(ngDevMode ? [{ debugName: "breadcrumb" }] : /* istanbul ignore next */ []));
|
|
1663
|
+
this.extraColumns = input([], /* @ts-ignore */
|
|
1664
|
+
...(ngDevMode ? [{ debugName: "extraColumns" }] : /* istanbul ignore next */ []));
|
|
1665
|
+
this.showAddButton = input(false, /* @ts-ignore */
|
|
1666
|
+
...(ngDevMode ? [{ debugName: "showAddButton" }] : /* istanbul ignore next */ []));
|
|
1667
|
+
this.addButtonLabel = input('', /* @ts-ignore */
|
|
1668
|
+
...(ngDevMode ? [{ debugName: "addButtonLabel" }] : /* istanbul ignore next */ []));
|
|
1669
|
+
this.canEdit = input(false, /* @ts-ignore */
|
|
1670
|
+
...(ngDevMode ? [{ debugName: "canEdit" }] : /* istanbul ignore next */ []));
|
|
1671
|
+
this.canDelete = input(false, /* @ts-ignore */
|
|
1672
|
+
...(ngDevMode ? [{ debugName: "canDelete" }] : /* istanbul ignore next */ []));
|
|
1673
|
+
this.editLinkField = input('id', /* @ts-ignore */
|
|
1674
|
+
...(ngDevMode ? [{ debugName: "editLinkField" }] : /* istanbul ignore next */ []));
|
|
1675
|
+
this.showPermissions = input(false, /* @ts-ignore */
|
|
1676
|
+
...(ngDevMode ? [{ debugName: "showPermissions" }] : /* istanbul ignore next */ []));
|
|
1677
|
+
this.persistState = input(true, /* @ts-ignore */
|
|
1678
|
+
...(ngDevMode ? [{ debugName: "persistState" }] : /* istanbul ignore next */ []));
|
|
1679
|
+
this.addClick = output();
|
|
1680
|
+
this.deleteClick = output();
|
|
1681
|
+
this.grid = viewChild.required(UserListGridComponent, /* @ts-ignore */
|
|
1682
|
+
...(ngDevMode ? [{ debugName: "grid" }] : /* istanbul ignore next */ []));
|
|
1683
|
+
}
|
|
1684
|
+
refresh() {
|
|
1685
|
+
this.grid().refresh();
|
|
1686
|
+
}
|
|
1687
|
+
static { this.ɵfac = function UsersPageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UsersPageComponent)(); }; }
|
|
1688
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UsersPageComponent, selectors: [["cauca-users-page"]], viewQuery: function UsersPageComponent_Query(rf, ctx) { if (rf & 1) {
|
|
1689
|
+
i0.ɵɵviewQuerySignal(ctx.grid, UserListGridComponent, 5);
|
|
1690
|
+
} if (rf & 2) {
|
|
1691
|
+
i0.ɵɵqueryAdvance();
|
|
1692
|
+
} }, inputs: { caption: [1, "caption"], baseCrumb: [1, "baseCrumb"], breadcrumb: [1, "breadcrumb"], extraColumns: [1, "extraColumns"], showAddButton: [1, "showAddButton"], addButtonLabel: [1, "addButtonLabel"], canEdit: [1, "canEdit"], canDelete: [1, "canDelete"], editLinkField: [1, "editLinkField"], showPermissions: [1, "showPermissions"], persistState: [1, "persistState"] }, outputs: { addClick: "addClick", deleteClick: "deleteClick" }, decls: 4, vars: 12, consts: [[3, "showBreadcrumb", "caption", "baseCrumb", "breadcrumb"], [1, "page-content"], [1, "page-content-grid"], [3, "addClick", "deleteClick", "extraColumns", "showAddButton", "addButtonLabel", "canEdit", "canDelete", "editLinkField", "showPermissions", "persistState"]], template: function UsersPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1693
|
+
i0.ɵɵelement(0, "cauca-page-title", 0);
|
|
1694
|
+
i0.ɵɵelementStart(1, "mat-card", 1)(2, "mat-card-content", 2)(3, "cauca-user-list-grid", 3);
|
|
1695
|
+
i0.ɵɵlistener("addClick", function UsersPageComponent_Template_cauca_user_list_grid_addClick_3_listener() { return ctx.addClick.emit(); })("deleteClick", function UsersPageComponent_Template_cauca_user_list_grid_deleteClick_3_listener($event) { return ctx.deleteClick.emit($event); });
|
|
1696
|
+
i0.ɵɵelementEnd()()();
|
|
1697
|
+
} if (rf & 2) {
|
|
1698
|
+
i0.ɵɵproperty("showBreadcrumb", true)("caption", ctx.caption())("baseCrumb", ctx.baseCrumb())("breadcrumb", ctx.breadcrumb());
|
|
1699
|
+
i0.ɵɵadvance(3);
|
|
1700
|
+
i0.ɵɵproperty("extraColumns", ctx.extraColumns())("showAddButton", ctx.showAddButton())("addButtonLabel", ctx.addButtonLabel())("canEdit", ctx.canEdit())("canDelete", ctx.canDelete())("editLinkField", ctx.editLinkField())("showPermissions", ctx.showPermissions())("persistState", ctx.persistState());
|
|
1701
|
+
} }, dependencies: [MatCardModule, i1.MatCard, i1.MatCardContent, PageTitleComponent, UserListGridComponent], encapsulation: 2 }); }
|
|
1702
|
+
}
|
|
1703
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UsersPageComponent, [{
|
|
1704
|
+
type: Component,
|
|
1705
|
+
args: [{ selector: 'cauca-users-page', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCardModule, PageTitleComponent, UserListGridComponent], template: "<cauca-page-title\n [showBreadcrumb]=\"true\"\n [caption]=\"caption()\"\n [baseCrumb]=\"baseCrumb()\"\n [breadcrumb]=\"breadcrumb()\"/>\n\n<mat-card class=\"page-content\">\n\n <mat-card-content class=\"page-content-grid\">\n <cauca-user-list-grid\n [extraColumns]=\"extraColumns()\"\n [showAddButton]=\"showAddButton()\"\n [addButtonLabel]=\"addButtonLabel()\"\n [canEdit]=\"canEdit()\"\n [canDelete]=\"canDelete()\"\n [editLinkField]=\"editLinkField()\"\n [showPermissions]=\"showPermissions()\"\n [persistState]=\"persistState()\"\n (addClick)=\"addClick.emit()\"\n (deleteClick)=\"deleteClick.emit($event)\"/>\n </mat-card-content>\n\n</mat-card>\n" }]
|
|
1706
|
+
}], null, { caption: [{ type: i0.Input, args: [{ isSignal: true, alias: "caption", required: false }] }], baseCrumb: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseCrumb", required: false }] }], breadcrumb: [{ type: i0.Input, args: [{ isSignal: true, alias: "breadcrumb", required: false }] }], extraColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "extraColumns", required: false }] }], showAddButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAddButton", required: false }] }], addButtonLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "addButtonLabel", required: false }] }], canEdit: [{ type: i0.Input, args: [{ isSignal: true, alias: "canEdit", required: false }] }], canDelete: [{ type: i0.Input, args: [{ isSignal: true, alias: "canDelete", required: false }] }], editLinkField: [{ type: i0.Input, args: [{ isSignal: true, alias: "editLinkField", required: false }] }], showPermissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPermissions", required: false }] }], persistState: [{ type: i0.Input, args: [{ isSignal: true, alias: "persistState", required: false }] }], addClick: [{ type: i0.Output, args: ["addClick"] }], deleteClick: [{ type: i0.Output, args: ["deleteClick"] }], grid: [{ type: i0.ViewChild, args: [i0.forwardRef(() => UserListGridComponent), { isSignal: true }] }] }); })();
|
|
1707
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UsersPageComponent, { className: "UsersPageComponent", filePath: "lib/pages/users-page/users-page.component.ts", lineNumber: 14 }); })();
|
|
1708
|
+
|
|
1397
1709
|
class CaucaManagementService {
|
|
1398
1710
|
static { this.ɵfac = function CaucaManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaucaManagementService)(); }; }
|
|
1399
1711
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CaucaManagementService, factory: CaucaManagementService.ɵfac, providedIn: 'root' }); }
|
|
@@ -2011,5 +2323,5 @@ class GroupPermissionModel {
|
|
|
2011
2323
|
* Generated bundle index. Do not edit.
|
|
2012
2324
|
*/
|
|
2013
2325
|
|
|
2014
|
-
export { CaucaManagementComponent, CaucaManagementGroupComponent, CaucaManagementModule, CaucaManagementService, CaucaManagementUserComponent, GroupEditionPageComponent, GroupModel, GroupPermissionModel, GroupsPageComponent, MANAGEMENT_ROUTE_SEGMENT, MANAGEMENT_URL_PREFIX, ManagementGroupService, ManagementUserService, REFRESHABLE_PERMISSION_STATE_TOKEN, UserGroupModel, UserModel, UserPermissionModel, UserPermissionsDialogComponent, managementGroupRoutes, provideCaucaManagement };
|
|
2326
|
+
export { AllScopeToken, CaucaManagementComponent, CaucaManagementGroupComponent, CaucaManagementModule, CaucaManagementService, CaucaManagementUserComponent, GroupEditionPageComponent, GroupModel, GroupPermissionModel, GroupsPageComponent, MANAGEMENT_ROUTE_SEGMENT, MANAGEMENT_URL_PREFIX, ManagementGroupService, ManagementUserService, REFRESHABLE_PERMISSION_STATE_TOKEN, ScopeListGridColumnComponent, UserGroupModel, UserListGridComponent, UserModel, UserPermissionModel, UserPermissionsDialogComponent, UsersPageComponent, managementGroupRoutes, provideCaucaManagement };
|
|
2015
2327
|
//# sourceMappingURL=cauca-911-management.mjs.map
|