@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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cauca-911/management",
3
- "version": "22.0.2",
3
+ "version": "22.0.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=22.1.0",
6
6
  "@angular/core": ">=22.1.0",
@@ -1,7 +1,9 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { Type, InjectionToken, Provider, EnvironmentProviders, OnInit } from '@angular/core';
3
3
  import { Routes } from '@angular/router';
4
4
  import { OnDeactivate } from '@cauca-911/material';
5
+ import { ODataFilter } from 'odata-data-source';
6
+ import { BaseGridColumnComponent } from '@cauca-911/datagrid';
5
7
  import { HttpClient } from '@angular/common/http';
6
8
  import { Observable } from 'rxjs';
7
9
 
@@ -22,17 +24,17 @@ interface RefreshablePermissionState {
22
24
  }
23
25
 
24
26
  declare class GroupsPageComponent {
25
- static ɵfac: i0.ɵɵFactoryDeclaration<GroupsPageComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<GroupsPageComponent, "cauca-groups-page", never, {}, {}, never, never, true, never>;
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupsPageComponent, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupsPageComponent, "cauca-groups-page", never, {}, {}, never, never, true, never>;
27
29
  }
28
30
 
29
31
  declare class GroupEditionPageComponent implements OnInit, OnDeactivate {
30
- readonly id: i0.InputSignal<string>;
31
- readonly isLoaded: i0.WritableSignal<boolean>;
32
- readonly isSaving: i0.WritableSignal<boolean>;
33
- readonly showSavingError: i0.WritableSignal<boolean>;
34
- readonly title: i0.Signal<string>;
35
- readonly currentLocation: i0.Signal<{
32
+ readonly id: _angular_core.InputSignal<string>;
33
+ readonly isLoaded: _angular_core.WritableSignal<boolean>;
34
+ readonly isSaving: _angular_core.WritableSignal<boolean>;
35
+ readonly showSavingError: _angular_core.WritableSignal<boolean>;
36
+ readonly title: _angular_core.Signal<string>;
37
+ readonly currentLocation: _angular_core.Signal<{
36
38
  link: string;
37
39
  title: string;
38
40
  }[]>;
@@ -55,8 +57,8 @@ declare class GroupEditionPageComponent implements OnInit, OnDeactivate {
55
57
  private resetSavingState;
56
58
  private askForCancelConfirmation;
57
59
  private showValidationError;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<GroupEditionPageComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<GroupEditionPageComponent, "cauca-group-edition-page", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
60
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupEditionPageComponent, never>;
61
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupEditionPageComponent, "cauca-group-edition-page", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
60
62
  }
61
63
 
62
64
  declare enum PermissionStatus {
@@ -88,23 +90,117 @@ interface UserPermissionsDialogData {
88
90
  }
89
91
  declare class UserPermissionsDialogComponent {
90
92
  readonly data: UserPermissionsDialogData;
91
- readonly permissionsResource: i0.ResourceRef<UserPermissionDetail[]>;
92
- readonly permissions: i0.Signal<UserPermissionDetail[]>;
93
+ readonly permissionsResource: _angular_core.ResourceRef<UserPermissionDetail[]>;
94
+ readonly permissions: _angular_core.Signal<UserPermissionDetail[]>;
93
95
  private readonly dialogRef;
94
96
  private readonly service;
95
97
  closeDialog(): void;
96
- static ɵfac: i0.ɵɵFactoryDeclaration<UserPermissionsDialogComponent, never>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<UserPermissionsDialogComponent, "cauca-user-permissions-dialog", never, {}, {}, never, never, true, never>;
98
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserPermissionsDialogComponent, never>;
99
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserPermissionsDialogComponent, "cauca-user-permissions-dialog", never, {}, {}, never, never, true, never>;
100
+ }
101
+
102
+ type UserGridColumnKind = 'text' | 'check' | 'scope';
103
+ /** A column a site adds to the shared users grid, on top of the three columns every site shows. */
104
+ interface UserGridColumn {
105
+ /** The row property the column reads, and the MatTable column name. */
106
+ prop: string;
107
+ /** Translation key. The grid translates it. */
108
+ label: string;
109
+ kind: UserGridColumnKind;
110
+ /** The normalized twin the search box filters on. Omit to leave the column out of the search. */
111
+ searchableProp?: string;
112
+ width?: string;
113
+ showToolTip?: boolean;
114
+ /** `scope` only: the key shown in place of the list when the row covers everything. */
115
+ allLabel?: string;
116
+ }
117
+
118
+ /** The shape every site's `UserList` feed shares. Site-specific columns arrive as extra properties. */
119
+ interface UserListRow {
120
+ id: string;
121
+ userName: string;
122
+ firstName: string;
123
+ lastName: string;
124
+ searchableUserName: string;
125
+ searchableFirstName: string;
126
+ searchableLastName: string;
127
+ [extraColumn: string]: unknown;
128
+ }
129
+
130
+ declare class UsersPageComponent {
131
+ /** Translation keys. Every site names its users page and its menu differently. */
132
+ readonly caption: _angular_core.InputSignal<string>;
133
+ readonly baseCrumb: _angular_core.InputSignal<string>;
134
+ readonly breadcrumb: _angular_core.InputSignal<string>;
135
+ readonly extraColumns: _angular_core.InputSignal<UserGridColumn[]>;
136
+ readonly showAddButton: _angular_core.InputSignal<boolean>;
137
+ readonly addButtonLabel: _angular_core.InputSignal<string>;
138
+ readonly canEdit: _angular_core.InputSignal<boolean>;
139
+ readonly canDelete: _angular_core.InputSignal<boolean>;
140
+ readonly editLinkField: _angular_core.InputSignal<string>;
141
+ readonly showPermissions: _angular_core.InputSignal<boolean>;
142
+ readonly persistState: _angular_core.InputSignal<boolean>;
143
+ readonly addClick: _angular_core.OutputEmitterRef<void>;
144
+ readonly deleteClick: _angular_core.OutputEmitterRef<UserListRow>;
145
+ private readonly grid;
146
+ refresh(): void;
147
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UsersPageComponent, never>;
148
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UsersPageComponent, "cauca-users-page", never, { "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "baseCrumb": { "alias": "baseCrumb"; "required": false; "isSignal": true; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; "isSignal": true; }; "extraColumns": { "alias": "extraColumns"; "required": false; "isSignal": true; }; "showAddButton": { "alias": "showAddButton"; "required": false; "isSignal": true; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "canDelete": { "alias": "canDelete"; "required": false; "isSignal": true; }; "editLinkField": { "alias": "editLinkField"; "required": false; "isSignal": true; }; "showPermissions": { "alias": "showPermissions"; "required": false; "isSignal": true; }; "persistState": { "alias": "persistState"; "required": false; "isSignal": true; }; }, { "addClick": "addClick"; "deleteClick": "deleteClick"; }, never, never, true, never>;
149
+ }
150
+
151
+ declare class UserListGridComponent implements OnInit {
152
+ /**
153
+ * Read when the grid registers its columns, in `ngAfterContentInit`. Replacing the list
154
+ * afterwards renders nothing: the new columns are never registered with the MatTable.
155
+ */
156
+ readonly extraColumns: _angular_core.InputSignal<UserGridColumn[]>;
157
+ readonly showAddButton: _angular_core.InputSignal<boolean>;
158
+ /** Translation key. */
159
+ readonly addButtonLabel: _angular_core.InputSignal<string>;
160
+ readonly canEdit: _angular_core.InputSignal<boolean>;
161
+ readonly canDelete: _angular_core.InputSignal<boolean>;
162
+ readonly editLinkField: _angular_core.InputSignal<string>;
163
+ readonly showPermissions: _angular_core.InputSignal<boolean>;
164
+ readonly persistState: _angular_core.InputSignal<boolean>;
165
+ readonly addClick: _angular_core.OutputEmitterRef<void>;
166
+ readonly deleteClick: _angular_core.OutputEmitterRef<UserListRow>;
167
+ protected readonly hasRowActions: _angular_core.Signal<boolean>;
168
+ protected readonly columns: _angular_core.Signal<string[]>;
169
+ private readonly grid;
170
+ private readonly sort;
171
+ private readonly dialog;
172
+ ngOnInit(): void;
173
+ refresh(): void;
174
+ protected readonly filterPredicate: (filter: string) => ODataFilter[];
175
+ protected openPermissions(row: UserListRow): Promise<void>;
176
+ protected onDelete(row: unknown): void;
177
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserListGridComponent, never>;
178
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserListGridComponent, "cauca-user-list-grid", never, { "extraColumns": { "alias": "extraColumns"; "required": false; "isSignal": true; }; "showAddButton": { "alias": "showAddButton"; "required": false; "isSignal": true; }; "addButtonLabel": { "alias": "addButtonLabel"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "canDelete": { "alias": "canDelete"; "required": false; "isSignal": true; }; "editLinkField": { "alias": "editLinkField"; "required": false; "isSignal": true; }; "showPermissions": { "alias": "showPermissions"; "required": false; "isSignal": true; }; "persistState": { "alias": "persistState"; "required": false; "isSignal": true; }; }, { "addClick": "addClick"; "deleteClick": "deleteClick"; }, never, never, true, never>;
179
+ }
180
+
181
+ /** The value a read view emits for a scope covering everything, in place of a list of names. */
182
+ declare const AllScopeToken = "ALL";
183
+ declare class ScopeListGridColumnComponent extends BaseGridColumnComponent {
184
+ /** Translation key shown instead of the list when the row's scope covers everything. */
185
+ readonly allLabel: _angular_core.InputSignal<string>;
186
+ protected readonly allToken = "ALL";
187
+ /**
188
+ * The `providers` alias above is what makes the grid's `ContentChildren(BaseGridColumnComponent)`
189
+ * match this subclass; without it the column registers nowhere and renders as an empty slot.
190
+ */
191
+ constructor();
192
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScopeListGridColumnComponent, never>;
193
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScopeListGridColumnComponent, "cauca-scope-list-grid-column", never, { "allLabel": { "alias": "allLabel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
98
194
  }
99
195
 
100
196
  declare class CaucaManagementService {
101
- static ɵfac: i0.ɵɵFactoryDeclaration<CaucaManagementService, never>;
102
- static ɵprov: i0.ɵɵInjectableDeclaration<CaucaManagementService>;
197
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaucaManagementService, never>;
198
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CaucaManagementService>;
103
199
  }
104
200
 
105
201
  declare class CaucaManagementComponent {
106
- static ɵfac: i0.ɵɵFactoryDeclaration<CaucaManagementComponent, never>;
107
- static ɵcmp: i0.ɵɵComponentDeclaration<CaucaManagementComponent, "cauca-management", never, {}, {}, never, never, true, never>;
202
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaucaManagementComponent, never>;
203
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CaucaManagementComponent, "cauca-management", never, {}, {}, never, never, true, never>;
108
204
  }
109
205
 
110
206
  /**
@@ -177,9 +273,9 @@ declare class PermissionModel {
177
273
  * @deprecated This component is obsolete and should not be used.
178
274
  */
179
275
  declare class CaucaManagementGroupComponent implements OnInit {
180
- readonly showPrintButton: i0.InputSignal<boolean>;
181
- readonly hoverStatePermission: i0.InputSignal<boolean>;
182
- readonly showAssignableByAllUsers: i0.InputSignal<boolean>;
276
+ readonly showPrintButton: _angular_core.InputSignal<boolean>;
277
+ readonly hoverStatePermission: _angular_core.InputSignal<boolean>;
278
+ readonly showAssignableByAllUsers: _angular_core.InputSignal<boolean>;
183
279
  groups: GroupModel[];
184
280
  users: UserModel[];
185
281
  permissions: PermissionModel[];
@@ -210,8 +306,8 @@ declare class CaucaManagementGroupComponent implements OnInit {
210
306
  private saveGroup;
211
307
  private removePermissionUndefined;
212
308
  private getGroups;
213
- static ɵfac: i0.ɵɵFactoryDeclaration<CaucaManagementGroupComponent, never>;
214
- static ɵcmp: i0.ɵɵComponentDeclaration<CaucaManagementGroupComponent, "cauca-management-group", never, { "showPrintButton": { "alias": "showPrintButton"; "required": false; "isSignal": true; }; "hoverStatePermission": { "alias": "hoverStatePermission"; "required": false; "isSignal": true; }; "showAssignableByAllUsers": { "alias": "showAssignableByAllUsers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
309
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaucaManagementGroupComponent, never>;
310
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CaucaManagementGroupComponent, "cauca-management-group", never, { "showPrintButton": { "alias": "showPrintButton"; "required": false; "isSignal": true; }; "hoverStatePermission": { "alias": "hoverStatePermission"; "required": false; "isSignal": true; }; "showAssignableByAllUsers": { "alias": "showAssignableByAllUsers"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
215
311
  }
216
312
 
217
313
  /**
@@ -229,8 +325,8 @@ declare class CaucaManagementUserComponent implements OnInit {
229
325
  userNameAlreadyUsedValidation: (e: any) => Promise<boolean>;
230
326
  private saveGroup;
231
327
  private getUsers;
232
- static ɵfac: i0.ɵɵFactoryDeclaration<CaucaManagementUserComponent, never>;
233
- static ɵcmp: i0.ɵɵComponentDeclaration<CaucaManagementUserComponent, "cauca-management-user", never, {}, {}, never, never, true, never>;
328
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaucaManagementUserComponent, never>;
329
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CaucaManagementUserComponent, "cauca-management-user", never, {}, {}, never, never, true, never>;
234
330
  }
235
331
 
236
332
  /**
@@ -239,9 +335,9 @@ declare class CaucaManagementUserComponent implements OnInit {
239
335
  * so existing consumers keep compiling.
240
336
  */
241
337
  declare class CaucaManagementModule {
242
- static ɵfac: i0.ɵɵFactoryDeclaration<CaucaManagementModule, never>;
243
- static ɵmod: i0.ɵɵNgModuleDeclaration<CaucaManagementModule, never, [typeof CaucaManagementComponent, typeof CaucaManagementGroupComponent, typeof CaucaManagementUserComponent], [typeof CaucaManagementComponent, typeof CaucaManagementUserComponent, typeof CaucaManagementGroupComponent]>;
244
- static ɵinj: i0.ɵɵInjectorDeclaration<CaucaManagementModule>;
338
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaucaManagementModule, never>;
339
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<CaucaManagementModule, never, [typeof CaucaManagementComponent, typeof CaucaManagementGroupComponent, typeof CaucaManagementUserComponent], [typeof CaucaManagementComponent, typeof CaucaManagementUserComponent, typeof CaucaManagementGroupComponent]>;
340
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<CaucaManagementModule>;
245
341
  }
246
342
 
247
343
  /**
@@ -261,8 +357,8 @@ declare class ManagementUserService {
261
357
  save<TUser>(user: TUser): Observable<any>;
262
358
  delete(idUser: string): Observable<any>;
263
359
  hasExistingUserName<TUser>(user: TUser): Observable<boolean>;
264
- static ɵfac: i0.ɵɵFactoryDeclaration<ManagementUserService, never>;
265
- static ɵprov: i0.ɵɵInjectableDeclaration<ManagementUserService>;
360
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ManagementUserService, never>;
361
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ManagementUserService>;
266
362
  }
267
363
 
268
364
  /**
@@ -277,9 +373,9 @@ declare class ManagementGroupService {
277
373
  save(group: GroupModel): Observable<any>;
278
374
  delete(idGroup: string): Observable<any>;
279
375
  hasExistingGroupName(group: GroupModel): Observable<boolean>;
280
- static ɵfac: i0.ɵɵFactoryDeclaration<ManagementGroupService, never>;
281
- static ɵprov: i0.ɵɵInjectableDeclaration<ManagementGroupService>;
376
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ManagementGroupService, never>;
377
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ManagementGroupService>;
282
378
  }
283
379
 
284
- 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 };
285
- export type { CaucaManagementConfig, RefreshablePermissionState, UserPermissionsDialogData };
380
+ 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 };
381
+ export type { CaucaManagementConfig, RefreshablePermissionState, UserGridColumn, UserGridColumnKind, UserListRow, UserPermissionsDialogData };