@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.
@@ -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$3 = () => ["name"];
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$3))("filterPredicate", ctx.filterPredicate)("displayedColumns", ctx.columns());
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$2 = ["resultPaginator"];
369
- const _forTrack0$3 = ($index, $item) => $item.id;
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$3);
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$2, 5);
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$1 = ["paginator"];
612
- const _forTrack0$2 = ($index, $item) => $item.id;
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$1, 5);
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$2, false, GroupUserEditionListComponent_ForEmpty_11_Template, 2, 1);
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$1 = ($index, $item) => $item.id;
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$1, false, GroupPermissionListComponent_ForEmpty_10_Template, 6, 3, "div", 5);
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