ichec-angular-core 0.0.13 → 0.1.1
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/fesm2022/ichec-angular-core.mjs +836 -211
- package/fesm2022/ichec-angular-core.mjs.map +1 -1
- package/index.d.ts +388 -118
- package/package.json +1 -1
- package/styles/styles.scss +1 -0
package/index.d.ts
CHANGED
|
@@ -1,18 +1,47 @@
|
|
|
1
1
|
import * as rxjs from 'rxjs';
|
|
2
2
|
import { Observable, BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
|
|
4
|
-
import * as
|
|
5
|
-
import { InjectionToken, OnInit, WritableSignal } from '@angular/core';
|
|
4
|
+
import * as _angular_core from '@angular/core';
|
|
5
|
+
import { InjectionToken, OnInit, WritableSignal, AfterViewInit, TemplateRef } from '@angular/core';
|
|
6
6
|
import * as ichec_angular_core from 'ichec-angular-core';
|
|
7
|
+
import { MatSidenavContent } from '@angular/material/sidenav';
|
|
7
8
|
import { ActivatedRoute } from '@angular/router';
|
|
8
9
|
import { Location } from '@angular/common';
|
|
9
10
|
import * as _angular_forms from '@angular/forms';
|
|
11
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
10
12
|
import { MatTable } from '@angular/material/table';
|
|
13
|
+
import { MatSort } from '@angular/material/sort';
|
|
14
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
15
|
+
import { DataSource, CollectionViewer, ListRange } from '@angular/cdk/collections';
|
|
16
|
+
import { MatButtonToggleChange } from '@angular/material/button-toggle';
|
|
11
17
|
|
|
12
18
|
interface Identifiable {
|
|
13
19
|
id: number;
|
|
14
20
|
url: string;
|
|
15
21
|
}
|
|
22
|
+
interface IPaginated<T extends Identifiable> {
|
|
23
|
+
count: number;
|
|
24
|
+
next: string | null;
|
|
25
|
+
previous: string | null;
|
|
26
|
+
results: T[];
|
|
27
|
+
}
|
|
28
|
+
declare class Paginated<T extends Identifiable> implements IPaginated<T> {
|
|
29
|
+
count: number;
|
|
30
|
+
next: null;
|
|
31
|
+
previous: null;
|
|
32
|
+
results: T[];
|
|
33
|
+
}
|
|
34
|
+
interface IPermission extends Identifiable {
|
|
35
|
+
codename: string;
|
|
36
|
+
}
|
|
37
|
+
declare class Permission implements IPermission {
|
|
38
|
+
id: number;
|
|
39
|
+
url: string;
|
|
40
|
+
codename: string;
|
|
41
|
+
static typename: string;
|
|
42
|
+
static plural: string;
|
|
43
|
+
constructor(params?: Partial<IPermission>);
|
|
44
|
+
}
|
|
16
45
|
interface IPortalMember extends Identifiable {
|
|
17
46
|
username: string;
|
|
18
47
|
email: string;
|
|
@@ -21,8 +50,11 @@ interface IPortalMember extends Identifiable {
|
|
|
21
50
|
phone: string;
|
|
22
51
|
organization: string;
|
|
23
52
|
profile_url: string;
|
|
53
|
+
all_permissions: string[];
|
|
24
54
|
}
|
|
25
55
|
declare class PortalMember implements IPortalMember {
|
|
56
|
+
static typename: string;
|
|
57
|
+
static plural: string;
|
|
26
58
|
id: number;
|
|
27
59
|
url: string;
|
|
28
60
|
username: string;
|
|
@@ -32,15 +64,53 @@ declare class PortalMember implements IPortalMember {
|
|
|
32
64
|
phone: string;
|
|
33
65
|
organization: string;
|
|
34
66
|
profile_url: string;
|
|
67
|
+
all_permissions: never[];
|
|
35
68
|
constructor(params?: Partial<IPortalMember>);
|
|
36
69
|
}
|
|
37
70
|
interface IGroup extends Identifiable {
|
|
38
71
|
name: string;
|
|
39
72
|
}
|
|
40
73
|
declare class Group implements IGroup {
|
|
74
|
+
static typename: string;
|
|
75
|
+
static plural: string;
|
|
41
76
|
name: string;
|
|
42
77
|
url: string;
|
|
43
78
|
id: number;
|
|
79
|
+
constructor(params?: Partial<IGroup>);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
interface ICountry {
|
|
83
|
+
name: string;
|
|
84
|
+
code: string;
|
|
85
|
+
flag: string;
|
|
86
|
+
}
|
|
87
|
+
interface IAddress extends Identifiable {
|
|
88
|
+
line1: string;
|
|
89
|
+
line2: string;
|
|
90
|
+
line3: string;
|
|
91
|
+
city: string;
|
|
92
|
+
region: string;
|
|
93
|
+
postcode: string;
|
|
94
|
+
country: string;
|
|
95
|
+
country_name: string;
|
|
96
|
+
country_flag: string;
|
|
97
|
+
}
|
|
98
|
+
declare class Address implements IAddress {
|
|
99
|
+
static typename: string;
|
|
100
|
+
static plural: string;
|
|
101
|
+
id: number;
|
|
102
|
+
url: string;
|
|
103
|
+
line1: string;
|
|
104
|
+
line2: string;
|
|
105
|
+
line3: string;
|
|
106
|
+
city: string;
|
|
107
|
+
region: string;
|
|
108
|
+
postcode: string;
|
|
109
|
+
country: string;
|
|
110
|
+
country_name: string;
|
|
111
|
+
country_flag: string;
|
|
112
|
+
members: string[];
|
|
113
|
+
constructor(params?: Partial<IAddress>);
|
|
44
114
|
}
|
|
45
115
|
interface IOrganization extends Identifiable {
|
|
46
116
|
name: string;
|
|
@@ -48,10 +118,11 @@ interface IOrganization extends Identifiable {
|
|
|
48
118
|
description: string;
|
|
49
119
|
address: string;
|
|
50
120
|
website: string;
|
|
51
|
-
country: string;
|
|
52
121
|
members: string[];
|
|
53
122
|
}
|
|
54
123
|
declare class Organization implements IOrganization {
|
|
124
|
+
static typename: string;
|
|
125
|
+
static plural: string;
|
|
55
126
|
id: number;
|
|
56
127
|
url: string;
|
|
57
128
|
name: string;
|
|
@@ -59,11 +130,29 @@ declare class Organization implements IOrganization {
|
|
|
59
130
|
description: string;
|
|
60
131
|
address: string;
|
|
61
132
|
website: string;
|
|
62
|
-
country: string;
|
|
63
133
|
members: string[];
|
|
64
134
|
constructor(params?: Partial<IOrganization>);
|
|
65
135
|
}
|
|
66
136
|
|
|
137
|
+
interface IItemQuery {
|
|
138
|
+
queries: Map<string, string>;
|
|
139
|
+
page: number;
|
|
140
|
+
page_size: number;
|
|
141
|
+
sort_field: string;
|
|
142
|
+
sort_order: string;
|
|
143
|
+
filter_field: string;
|
|
144
|
+
filter: string;
|
|
145
|
+
}
|
|
146
|
+
declare class ItemQuery {
|
|
147
|
+
queries: Map<string, string>;
|
|
148
|
+
page: number;
|
|
149
|
+
page_size: number;
|
|
150
|
+
sort_field: string;
|
|
151
|
+
sort_order: string;
|
|
152
|
+
filter_field: string;
|
|
153
|
+
filter: string;
|
|
154
|
+
constructor(params?: Partial<IItemQuery>);
|
|
155
|
+
}
|
|
67
156
|
declare enum ErrorCode {
|
|
68
157
|
UnknownError = 1
|
|
69
158
|
}
|
|
@@ -102,15 +191,15 @@ interface LeftNavCategory {
|
|
|
102
191
|
|
|
103
192
|
declare const ENDPOINT_URL: InjectionToken<string>;
|
|
104
193
|
declare class RestService<T extends Identifiable> {
|
|
105
|
-
|
|
194
|
+
readonly _url: string;
|
|
106
195
|
protected _endpoint_url: string;
|
|
107
196
|
protected _http: HttpClient;
|
|
108
|
-
constructor(_url: string, _endpoint_url: string, _http: HttpClient);
|
|
109
197
|
deleteItem(id: number): Observable<void>;
|
|
110
|
-
getForUser(user: IPortalMember): Observable<T
|
|
111
|
-
get(query?:
|
|
198
|
+
getForUser(user: IPortalMember, query?: IItemQuery): Observable<IPaginated<T>>;
|
|
199
|
+
get(query?: IItemQuery): Observable<IPaginated<T>>;
|
|
112
200
|
getItem(id: number): Observable<T>;
|
|
113
201
|
getUrl(url: string): Observable<T>;
|
|
202
|
+
getPaginatedUrl(url: string): Observable<IPaginated<T>>;
|
|
114
203
|
getOptions(): Observable<IRestOptions>;
|
|
115
204
|
putItem(item: T, content_type?: string): Observable<T>;
|
|
116
205
|
patchItemMedia(id: number, form: FormData): Observable<T>;
|
|
@@ -123,32 +212,76 @@ declare class RestService<T extends Identifiable> {
|
|
|
123
212
|
handleError(error: HttpErrorResponse): Observable<never>;
|
|
124
213
|
}
|
|
125
214
|
|
|
126
|
-
declare class
|
|
127
|
-
|
|
215
|
+
declare class ItemService<T extends Identifiable> extends RestService<T> {
|
|
216
|
+
itemType: string;
|
|
217
|
+
canEdit(): boolean;
|
|
218
|
+
canCreate(): boolean;
|
|
219
|
+
canDelete(): boolean;
|
|
220
|
+
canView(): boolean;
|
|
221
|
+
instantiateType(_: T): T;
|
|
222
|
+
getItem(id: number): Observable<T>;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
declare class ResolvedPermission {
|
|
226
|
+
canEdit: boolean;
|
|
227
|
+
canAdd: boolean;
|
|
228
|
+
canView: boolean;
|
|
229
|
+
canDelete: boolean;
|
|
230
|
+
}
|
|
231
|
+
declare class UserService extends ItemService<IPortalMember> {
|
|
232
|
+
/**
|
|
233
|
+
Service to handle IPortalMember via REST and also handle logins.
|
|
128
234
|
*/
|
|
129
235
|
loggedInUser: BehaviorSubject<IPortalMember | null>;
|
|
130
|
-
|
|
236
|
+
readonly _url: string;
|
|
237
|
+
itemType: string;
|
|
238
|
+
private permissions;
|
|
239
|
+
instantiateType(item: IPortalMember): IPortalMember;
|
|
131
240
|
login(username: string, password: string): Observable<void>;
|
|
241
|
+
hasAddPermission(feature: string): boolean;
|
|
242
|
+
hasDeletePermission(feature: string): boolean;
|
|
243
|
+
hasEditPermission(feature: string): boolean;
|
|
244
|
+
hasViewPermission(feature: string): boolean;
|
|
132
245
|
logout(): void;
|
|
133
246
|
private onLoginToken;
|
|
134
247
|
private onLoggedIn;
|
|
135
|
-
|
|
136
|
-
|
|
248
|
+
private parsePermission;
|
|
249
|
+
private processPermissions;
|
|
250
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserService, never>;
|
|
251
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<UserService>;
|
|
137
252
|
}
|
|
138
253
|
|
|
139
|
-
declare class
|
|
254
|
+
declare class AddressService extends ItemService<IAddress> {
|
|
255
|
+
readonly _url: string;
|
|
256
|
+
itemType: string;
|
|
257
|
+
instantiateType(item: IAddress): IAddress;
|
|
258
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressService, never>;
|
|
259
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AddressService>;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
declare class GroupService extends ItemService<IGroup> {
|
|
140
263
|
userService: UserService;
|
|
141
264
|
userItems: BehaviorSubject<IGroup[]>;
|
|
265
|
+
readonly _url: string;
|
|
266
|
+
itemType: string;
|
|
142
267
|
constructor();
|
|
143
268
|
private refreshUserItems;
|
|
144
|
-
|
|
145
|
-
static
|
|
269
|
+
instantiateType(item: IGroup): IGroup;
|
|
270
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupService, never>;
|
|
271
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<GroupService>;
|
|
146
272
|
}
|
|
147
273
|
|
|
148
|
-
declare class OrganizationService extends
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
274
|
+
declare class OrganizationService extends ItemService<IOrganization> {
|
|
275
|
+
readonly _url: string;
|
|
276
|
+
itemType: string;
|
|
277
|
+
private userService;
|
|
278
|
+
instantiateType(item: IOrganization): IOrganization;
|
|
279
|
+
canCreate(): boolean;
|
|
280
|
+
canView(): boolean;
|
|
281
|
+
canEdit(): boolean;
|
|
282
|
+
canDelete(): boolean;
|
|
283
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationService, never>;
|
|
284
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<OrganizationService>;
|
|
152
285
|
}
|
|
153
286
|
|
|
154
287
|
interface NavOption {
|
|
@@ -169,26 +302,27 @@ declare class LeftNavService {
|
|
|
169
302
|
addNavGroup(group: NavGroup): void;
|
|
170
303
|
setDefaultOptions(options: NavOption[]): void;
|
|
171
304
|
setGroups(groups: NavGroup[]): void;
|
|
172
|
-
static ɵfac:
|
|
173
|
-
static ɵprov:
|
|
305
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavService, never>;
|
|
306
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<LeftNavService>;
|
|
174
307
|
}
|
|
175
308
|
|
|
176
309
|
declare class TopBarComponent implements OnInit {
|
|
177
|
-
readonly title:
|
|
310
|
+
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
178
311
|
protected user: WritableSignal<IPortalMember | null>;
|
|
179
312
|
private userService;
|
|
180
313
|
private leftNavService;
|
|
181
314
|
ngOnInit(): void;
|
|
182
315
|
onLogout(): void;
|
|
183
|
-
static ɵfac:
|
|
184
|
-
static ɵcmp:
|
|
316
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
|
|
317
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopBarComponent, "lib-top-bar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
185
318
|
}
|
|
186
319
|
|
|
187
320
|
declare class LeftNavComponent {
|
|
188
321
|
private _leftNavService;
|
|
322
|
+
sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
|
|
189
323
|
getOptions(): Set<ichec_angular_core.NavOption>;
|
|
190
|
-
static ɵfac:
|
|
191
|
-
static ɵcmp:
|
|
324
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
|
|
325
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LeftNavComponent, "lib-left-nav", never, {}, {}, never, never, true, never>;
|
|
192
326
|
}
|
|
193
327
|
|
|
194
328
|
interface LoginUser {
|
|
@@ -200,39 +334,42 @@ declare const LOGIN_USER: InjectionToken<LoginUser>;
|
|
|
200
334
|
declare class LandingComponent implements OnInit {
|
|
201
335
|
loginUser: LoginUser;
|
|
202
336
|
loginError: WritableSignal<string>;
|
|
203
|
-
message:
|
|
337
|
+
message: _angular_core.InputSignal<string | undefined>;
|
|
204
338
|
private userService;
|
|
205
339
|
private router;
|
|
206
340
|
ngOnInit(): void;
|
|
207
341
|
login(): rxjs.Subscription;
|
|
208
342
|
onLoginError(error: HttpErrorResponse): void;
|
|
209
343
|
onLoggedIn(): void;
|
|
210
|
-
static ɵfac:
|
|
211
|
-
static ɵcmp:
|
|
344
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LandingComponent, never>;
|
|
345
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LandingComponent, "lib-landing", never, { "message": { "alias": "message"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
212
346
|
}
|
|
213
347
|
|
|
214
348
|
declare abstract class DetailView<T extends Identifiable> {
|
|
215
349
|
protected item: WritableSignal<T | null>;
|
|
216
350
|
protected route: ActivatedRoute;
|
|
217
351
|
protected userService: UserService;
|
|
218
|
-
protected
|
|
219
|
-
constructor(
|
|
352
|
+
protected itemService: ItemService<T>;
|
|
353
|
+
constructor(itemService: ItemService<T>);
|
|
220
354
|
onInit(): void;
|
|
221
|
-
onItemAvailable(): void;
|
|
222
|
-
onItemAndUserAvailable(
|
|
355
|
+
onItemAvailable(item: T): void;
|
|
356
|
+
onItemAndUserAvailable(_item: T, _user: IPortalMember): void;
|
|
223
357
|
private getItem;
|
|
358
|
+
onDelete(): void;
|
|
359
|
+
protected canEdit(): boolean;
|
|
360
|
+
protected canDelete(): boolean;
|
|
224
361
|
}
|
|
225
362
|
|
|
226
363
|
declare abstract class EditView<T extends Identifiable> {
|
|
227
364
|
readonly typename: string;
|
|
228
365
|
createMode: WritableSignal<boolean>;
|
|
229
|
-
heading:
|
|
366
|
+
heading: _angular_core.Signal<string>;
|
|
230
367
|
protected item: WritableSignal<T | null>;
|
|
231
368
|
protected _route: ActivatedRoute;
|
|
232
369
|
protected _location: Location;
|
|
233
370
|
protected _userService: UserService;
|
|
234
371
|
protected _restService: RestService<T>;
|
|
235
|
-
constructor(
|
|
372
|
+
constructor(_restService: RestService<T>);
|
|
236
373
|
onInit(): void;
|
|
237
374
|
onItemAvailable(): void;
|
|
238
375
|
onItemAndUserAvailable(_: IPortalMember): void;
|
|
@@ -254,36 +391,142 @@ declare abstract class EditView<T extends Identifiable> {
|
|
|
254
391
|
protected onPostActions(_actions: Record<string, OptionAction>): void;
|
|
255
392
|
}
|
|
256
393
|
|
|
257
|
-
declare class ListView
|
|
258
|
-
user?: IPortalMember;
|
|
259
|
-
protected items: WritableSignal<T[]>;
|
|
260
|
-
displayedColumns: string[];
|
|
394
|
+
declare class ListView {
|
|
261
395
|
protected _route: ActivatedRoute;
|
|
262
|
-
protected
|
|
263
|
-
protected
|
|
264
|
-
|
|
265
|
-
constructor(_restService: RestService<T>);
|
|
266
|
-
onInit(): void;
|
|
267
|
-
getItems(): void;
|
|
268
|
-
private onUserChange;
|
|
396
|
+
protected userService: UserService;
|
|
397
|
+
protected user: _angular_core.WritableSignal<IPortalMember | null>;
|
|
398
|
+
getUser(): void;
|
|
269
399
|
protected isSelfList(): boolean;
|
|
270
|
-
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
declare class ListDataSource<T extends Identifiable> extends DataSource<T> {
|
|
403
|
+
length: _angular_core.WritableSignal<number>;
|
|
404
|
+
loading: _angular_core.WritableSignal<boolean>;
|
|
405
|
+
searchTerm: _angular_core.WritableSignal<string>;
|
|
406
|
+
pageSize: _angular_core.WritableSignal<number>;
|
|
407
|
+
private consumerType;
|
|
408
|
+
private items;
|
|
409
|
+
itemService: ItemService<T>;
|
|
410
|
+
private subscription;
|
|
411
|
+
private fetchedPages;
|
|
412
|
+
constructor(itemService: ItemService<T>, consumerType?: string);
|
|
413
|
+
connect(collectionViewer: CollectionViewer): Observable<T[]>;
|
|
414
|
+
hasTableConsumer(): boolean;
|
|
415
|
+
onRange(range: ListRange): void;
|
|
416
|
+
reset(searchTerm?: string, pageSize?: number): void;
|
|
417
|
+
fetchPage(idx: number): void;
|
|
418
|
+
fetch(query: IItemQuery): void;
|
|
419
|
+
onResponse(response: IPaginated<T>): void;
|
|
420
|
+
disconnect(): void;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
interface TableColumn {
|
|
424
|
+
name: string;
|
|
425
|
+
title: string;
|
|
426
|
+
element_type: string;
|
|
427
|
+
}
|
|
428
|
+
declare class ListTableViewComponent implements OnInit, AfterViewInit {
|
|
429
|
+
itemType: _angular_core.InputSignal<string>;
|
|
430
|
+
columns: _angular_core.InputSignal<TableColumn[]>;
|
|
431
|
+
dataSource: _angular_core.InputSignal<ListDataSource<any> | undefined>;
|
|
432
|
+
searchFilter: _angular_core.InputSignal<string>;
|
|
433
|
+
pageSizeOptions: number[];
|
|
434
|
+
initialPageSize: number;
|
|
435
|
+
columnNames: _angular_core.Signal<string[]>;
|
|
436
|
+
sort: _angular_core.Signal<MatSort | undefined>;
|
|
437
|
+
paginator: _angular_core.Signal<MatPaginator | undefined>;
|
|
438
|
+
ngOnInit(): void;
|
|
439
|
+
ngAfterViewInit(): void;
|
|
440
|
+
reset(): void;
|
|
441
|
+
fetch(): void;
|
|
442
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
|
|
443
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListTableViewComponent, "lib-list-table-view", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "searchFilter": { "alias": "searchFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
interface Selectable<T extends Identifiable> {
|
|
447
|
+
title: string;
|
|
448
|
+
item: T;
|
|
449
|
+
}
|
|
450
|
+
declare class SelectTableComponent<T extends Identifiable> implements OnInit {
|
|
451
|
+
itemType: _angular_core.InputSignal<string>;
|
|
452
|
+
selected: _angular_core.InputSignal<T[]>;
|
|
453
|
+
options: _angular_core.InputSignal<Selectable<T>[]>;
|
|
454
|
+
columns: _angular_core.InputSignal<TableColumn[]>;
|
|
455
|
+
itemAdded: _angular_core.OutputEmitterRef<string>;
|
|
456
|
+
itemRemoved: _angular_core.OutputEmitterRef<number>;
|
|
457
|
+
searchChanged: _angular_core.OutputEmitterRef<string | null>;
|
|
458
|
+
columnNames: _angular_core.Signal<string[]>;
|
|
459
|
+
searchControl: FormControl<string | null>;
|
|
460
|
+
table: _angular_core.Signal<MatTable<any> | undefined>;
|
|
461
|
+
ngOnInit(): void;
|
|
462
|
+
remove(id: number): void;
|
|
463
|
+
add(): void;
|
|
464
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTableComponent<any>, never>;
|
|
465
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectTableComponent<any>, "lib-select-table", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; }, { "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; "searchChanged": "searchChanged"; }, never, never, true, never>;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
declare class ListViewComponent<T extends Identifiable> implements OnInit, AfterViewInit {
|
|
469
|
+
viewType: _angular_core.InputSignal<string>;
|
|
470
|
+
itemService: _angular_core.InputSignal<ItemService<T> | undefined>;
|
|
471
|
+
itemDetailTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
472
|
+
columns: _angular_core.InputSignal<TableColumn[]>;
|
|
473
|
+
sortFields: _angular_core.InputSignal<string[]>;
|
|
474
|
+
noSelfItemsMessage: _angular_core.InputSignal<string | undefined>;
|
|
475
|
+
noItemsCanCreateMessage: _angular_core.InputSignal<string | undefined>;
|
|
476
|
+
noItemsMessage: _angular_core.InputSignal<string | undefined>;
|
|
477
|
+
selectedViewType: _angular_core.WritableSignal<string>;
|
|
478
|
+
pageSize: number;
|
|
479
|
+
pageSizeOptions: number[];
|
|
480
|
+
protected route: ActivatedRoute;
|
|
481
|
+
dataSource: ListDataSource<T> | undefined;
|
|
482
|
+
sort: _angular_core.Signal<MatSort | undefined>;
|
|
483
|
+
columnNames: _angular_core.Signal<string[]>;
|
|
484
|
+
searchTerm: string;
|
|
485
|
+
ngOnInit(): void;
|
|
486
|
+
ngAfterViewInit(): void;
|
|
487
|
+
onSearchChange(value: string): void;
|
|
488
|
+
canCreate(): boolean;
|
|
489
|
+
itemType(): string;
|
|
490
|
+
isTableView(): boolean;
|
|
491
|
+
resetDataSource(): void;
|
|
492
|
+
reset(): void;
|
|
493
|
+
viewChanged(event: MatButtonToggleChange): void;
|
|
494
|
+
protected isSelfList(): boolean;
|
|
495
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListViewComponent<any>, never>;
|
|
496
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListViewComponent<any>, "lib-list-view", never, { "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "itemService": { "alias": "itemService"; "required": false; "isSignal": true; }; "itemDetailTemplate": { "alias": "itemDetailTemplate"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; "noSelfItemsMessage": { "alias": "noSelfItemsMessage"; "required": false; "isSignal": true; }; "noItemsCanCreateMessage": { "alias": "noItemsCanCreateMessage"; "required": false; "isSignal": true; }; "noItemsMessage": { "alias": "noItemsMessage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
271
497
|
}
|
|
272
498
|
|
|
273
499
|
declare class BackButtonComponent {
|
|
274
500
|
protected location: Location;
|
|
275
501
|
protected goBack(): void;
|
|
276
|
-
static ɵfac:
|
|
277
|
-
static ɵcmp:
|
|
502
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackButtonComponent, never>;
|
|
503
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BackButtonComponent, "lib-back-button", never, {}, {}, never, never, true, never>;
|
|
278
504
|
}
|
|
279
505
|
|
|
280
506
|
declare class DetailHeaderComponent {
|
|
281
|
-
id:
|
|
282
|
-
text:
|
|
283
|
-
route:
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
507
|
+
id: _angular_core.InputSignal<number>;
|
|
508
|
+
text: _angular_core.InputSignal<string>;
|
|
509
|
+
route: _angular_core.InputSignal<string>;
|
|
510
|
+
canEdit: _angular_core.InputSignal<boolean>;
|
|
511
|
+
canDelete: _angular_core.InputSignal<boolean>;
|
|
512
|
+
deleteClicked: _angular_core.OutputEmitterRef<void>;
|
|
513
|
+
fullRoute: _angular_core.Signal<string>;
|
|
514
|
+
deleteClick(): void;
|
|
515
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailHeaderComponent, never>;
|
|
516
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DetailHeaderComponent, "lib-detail-header", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "route": { "alias": "route"; "required": false; "isSignal": true; }; "canEdit": { "alias": "canEdit"; "required": false; "isSignal": true; }; "canDelete": { "alias": "canDelete"; "required": false; "isSignal": true; }; }, { "deleteClicked": "deleteClicked"; }, never, never, true, never>;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
declare class SearchBarComponent implements AfterViewInit {
|
|
520
|
+
itemType: _angular_core.InputSignal<string>;
|
|
521
|
+
sortFields: _angular_core.InputSignal<string[]>;
|
|
522
|
+
sortAscending: _angular_core.WritableSignal<boolean>;
|
|
523
|
+
searchChanged: _angular_core.OutputEmitterRef<string>;
|
|
524
|
+
searchFilter: FormControl<any>;
|
|
525
|
+
ngAfterViewInit(): void;
|
|
526
|
+
clearSearch(): void;
|
|
527
|
+
searchEntered(): void;
|
|
528
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
|
|
529
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBarComponent, "lib-search-bar", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; }, { "searchChanged": "searchChanged"; }, never, never, true, never>;
|
|
287
530
|
}
|
|
288
531
|
|
|
289
532
|
interface IFileRecord {
|
|
@@ -313,22 +556,22 @@ interface IFileUpload {
|
|
|
313
556
|
file: File;
|
|
314
557
|
}
|
|
315
558
|
declare class FileUploadComponent {
|
|
316
|
-
files:
|
|
317
|
-
previewLoaded:
|
|
318
|
-
fileUploaded:
|
|
559
|
+
files: _angular_core.InputSignal<IFileRecord[]>;
|
|
560
|
+
previewLoaded: _angular_core.OutputEmitterRef<IPreview>;
|
|
561
|
+
fileUploaded: _angular_core.OutputEmitterRef<IFileUpload>;
|
|
319
562
|
protected onPreviewRead(name: string, content: string | ArrayBuffer): void;
|
|
320
563
|
protected onFileUpload(name: string, event: Event): void;
|
|
321
564
|
protected readFile(name: string, file: File): void;
|
|
322
|
-
static ɵfac:
|
|
323
|
-
static ɵcmp:
|
|
565
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
|
|
566
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "lib-file-upload", never, { "files": { "alias": "files"; "required": false; "isSignal": true; }; }, { "previewLoaded": "previewLoaded"; "fileUploaded": "fileUploaded"; }, never, never, true, never>;
|
|
324
567
|
}
|
|
325
568
|
|
|
326
569
|
declare class UserDetailComponent extends DetailView<IPortalMember> implements OnInit {
|
|
327
570
|
protected typename: string;
|
|
328
571
|
constructor();
|
|
329
572
|
ngOnInit(): void;
|
|
330
|
-
static ɵfac:
|
|
331
|
-
static ɵcmp:
|
|
573
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserDetailComponent, never>;
|
|
574
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, {}, {}, never, never, true, never>;
|
|
332
575
|
}
|
|
333
576
|
|
|
334
577
|
declare class UserEditComponent extends EditView<IPortalMember> implements OnInit {
|
|
@@ -351,90 +594,117 @@ declare class UserEditComponent extends EditView<IPortalMember> implements OnIni
|
|
|
351
594
|
onPreviewLoaded(preview: IPreview): void;
|
|
352
595
|
onFileUploaded(upload: IFileUpload): void;
|
|
353
596
|
protected saveFiles(item: IPortalMember): void;
|
|
354
|
-
static ɵfac:
|
|
355
|
-
static ɵcmp:
|
|
597
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserEditComponent, never>;
|
|
598
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserEditComponent, "lib-user-edit", never, {}, {}, never, never, true, never>;
|
|
356
599
|
}
|
|
357
600
|
|
|
358
|
-
declare class UserComponent
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
static
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
declare class UserSelectComponent {
|
|
366
|
-
toAdd: WritableSignal<number>;
|
|
367
|
-
selected: i0.InputSignal<IPortalMember[]>;
|
|
368
|
-
options: i0.InputSignal<IPortalMember[]>;
|
|
369
|
-
itemAdded: i0.OutputEmitterRef<number>;
|
|
370
|
-
itemRemoved: i0.OutputEmitterRef<number>;
|
|
371
|
-
table: i0.Signal<MatTable<any> | undefined>;
|
|
372
|
-
tableColumns: string[];
|
|
373
|
-
remove(id: number): void;
|
|
374
|
-
add(): void;
|
|
375
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<UserSelectComponent, never>;
|
|
376
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UserSelectComponent, "lib-user-select", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, { "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; }, never, never, true, never>;
|
|
601
|
+
declare class UserComponent {
|
|
602
|
+
viewType: _angular_core.WritableSignal<string>;
|
|
603
|
+
itemService: UserService;
|
|
604
|
+
columns: TableColumn[];
|
|
605
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserComponent, never>;
|
|
606
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserComponent, "lib-user", never, {}, {}, never, never, true, never>;
|
|
377
607
|
}
|
|
378
608
|
|
|
379
609
|
declare class GroupDetailComponent extends DetailView<IGroup> implements OnInit {
|
|
380
610
|
protected typename: string;
|
|
381
611
|
constructor();
|
|
382
612
|
ngOnInit(): void;
|
|
383
|
-
static ɵfac:
|
|
384
|
-
static ɵcmp:
|
|
613
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupDetailComponent, never>;
|
|
614
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, {}, {}, never, never, true, never>;
|
|
385
615
|
}
|
|
386
616
|
|
|
387
|
-
declare class GroupComponent
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
static
|
|
392
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
|
|
617
|
+
declare class GroupComponent {
|
|
618
|
+
itemService: GroupService;
|
|
619
|
+
columns: TableColumn[];
|
|
620
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupComponent, never>;
|
|
621
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
|
|
393
622
|
}
|
|
394
623
|
|
|
395
|
-
declare class
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
static
|
|
400
|
-
|
|
624
|
+
declare class AddressEditComponent {
|
|
625
|
+
countryOptions: _angular_core.InputSignal<ICountry[]>;
|
|
626
|
+
form: _angular_core.InputSignal<FormGroup<any> | undefined>;
|
|
627
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressEditComponent, never>;
|
|
628
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AddressEditComponent, "lib-address-edit", never, { "countryOptions": { "alias": "countryOptions"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
declare class AddressDetailComponent {
|
|
632
|
+
address: _angular_core.InputSignal<IAddress | undefined>;
|
|
633
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressDetailComponent, never>;
|
|
634
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AddressDetailComponent, "lib-address-detail", never, { "address": { "alias": "address"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
declare class AddressForm {
|
|
638
|
+
private formBuilder;
|
|
639
|
+
form: _angular_forms.FormGroup<{
|
|
640
|
+
line1: _angular_forms.FormControl<string | null>;
|
|
641
|
+
line2: _angular_forms.FormControl<string | null>;
|
|
642
|
+
line3: _angular_forms.FormControl<string | null>;
|
|
643
|
+
city: _angular_forms.FormControl<string | null>;
|
|
644
|
+
region: _angular_forms.FormControl<string | null>;
|
|
645
|
+
postcode: _angular_forms.FormControl<string | null>;
|
|
646
|
+
country: _angular_forms.FormControl<string | null>;
|
|
647
|
+
}>;
|
|
648
|
+
setValue(item: IAddress): void;
|
|
649
|
+
updateItem(item: IAddress): IAddress;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
declare class OrganizationComponent {
|
|
653
|
+
itemService: OrganizationService;
|
|
654
|
+
columns: TableColumn[];
|
|
655
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
|
|
656
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "lib-organization", never, {}, {}, never, never, true, never>;
|
|
401
657
|
}
|
|
402
658
|
|
|
403
659
|
declare class OrganizationDetailComponent extends DetailView<IOrganization> implements OnInit {
|
|
404
660
|
typename: string;
|
|
661
|
+
address: _angular_core.WritableSignal<IAddress | null>;
|
|
662
|
+
private addressService;
|
|
405
663
|
constructor();
|
|
406
664
|
ngOnInit(): void;
|
|
407
|
-
|
|
408
|
-
static
|
|
665
|
+
onItemAndUserAvailable(item: IOrganization, _user: IPortalMember): void;
|
|
666
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
|
|
667
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, {}, {}, never, never, true, never>;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
declare class OrganizationForm {
|
|
671
|
+
private formBuilder;
|
|
672
|
+
form: FormGroup;
|
|
673
|
+
address: AddressForm;
|
|
674
|
+
constructor();
|
|
675
|
+
updateFromItem(item: IOrganization): void;
|
|
676
|
+
updateItem(item: IOrganization): IOrganization;
|
|
409
677
|
}
|
|
410
678
|
|
|
411
679
|
declare class OrganizationEditComponent extends EditView<IOrganization> implements OnInit {
|
|
412
|
-
countryOptions: WritableSignal<string[]>;
|
|
413
|
-
candidateMembers: WritableSignal<IPortalMember[]>;
|
|
414
|
-
selectedMembers: WritableSignal<IPortalMember[]>;
|
|
415
680
|
readonly typename: string;
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
country: _angular_forms.FormControl<string | null>;
|
|
424
|
-
}>;
|
|
681
|
+
countryOptions: _angular_core.WritableSignal<ICountry[]>;
|
|
682
|
+
candidateMembers: _angular_core.WritableSignal<Selectable<IPortalMember>[]>;
|
|
683
|
+
selectedMembers: _angular_core.WritableSignal<IPortalMember[]>;
|
|
684
|
+
columns: TableColumn[];
|
|
685
|
+
form: OrganizationForm;
|
|
686
|
+
address: IAddress;
|
|
687
|
+
addressService: AddressService;
|
|
425
688
|
constructor();
|
|
426
689
|
ngOnInit(): void;
|
|
427
690
|
onItemAndUserAvailable(_: IPortalMember): void;
|
|
691
|
+
protected updateCandidates(users: IPaginated<IPortalMember>): void;
|
|
428
692
|
submit(): void;
|
|
429
|
-
|
|
693
|
+
protected fetchAddress(url: string): void;
|
|
694
|
+
protected updateAddress(): void;
|
|
695
|
+
protected createAddress(): Observable<IAddress>;
|
|
696
|
+
protected onAddressUpdated(address: IAddress): void;
|
|
697
|
+
protected onAddressCreated(address: IAddress): void;
|
|
698
|
+
protected syncFromForm(): void;
|
|
430
699
|
protected getTemplateItem(): IOrganization;
|
|
431
700
|
protected onPostActions(actions: Record<string, OptionAction>): void;
|
|
432
701
|
protected onCountryChoices(choices: OptionActionChoice[]): void;
|
|
433
702
|
onMemberRemoved(id: number): void;
|
|
434
|
-
onMemberAdded(
|
|
435
|
-
|
|
436
|
-
static
|
|
703
|
+
onMemberAdded(title: string): void;
|
|
704
|
+
onSearchChanged(searchTerm: string | null): void;
|
|
705
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationEditComponent, never>;
|
|
706
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationEditComponent, "lib-organization-edit", never, {}, {}, never, never, true, never>;
|
|
437
707
|
}
|
|
438
708
|
|
|
439
|
-
export { ApiError, BackButtonComponent, DetailHeaderComponent, DetailView, ENDPOINT_URL, EditView, ErrorCode, FileRecord, FileUploadComponent, Group, GroupComponent, GroupDetailComponent, GroupService, LOGIN_USER, LandingComponent, LeftNavComponent, LeftNavService, ListView, Organization, OrganizationComponent, OrganizationDetailComponent, OrganizationEditComponent, OrganizationService, PortalMember, RestService, TopBarComponent, UserComponent, UserDetailComponent, UserEditComponent,
|
|
440
|
-
export type { IFileRecord, IFileUpload, IGroup, IOrganization, IPortalMember, IPreview, IRestOptions, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavOption, OptionAction, OptionActionChoice };
|
|
709
|
+
export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, AddressService, ApiError, BackButtonComponent, DetailHeaderComponent, DetailView, ENDPOINT_URL, EditView, ErrorCode, FileRecord, FileUploadComponent, Group, GroupComponent, GroupDetailComponent, GroupService, ItemQuery, ItemService, LOGIN_USER, LandingComponent, LeftNavComponent, LeftNavService, ListTableViewComponent, ListView, ListViewComponent, Organization, OrganizationComponent, OrganizationDetailComponent, OrganizationEditComponent, OrganizationService, Paginated, Permission, PortalMember, ResolvedPermission, RestService, SearchBarComponent, SelectTableComponent, TopBarComponent, UserComponent, UserDetailComponent, UserEditComponent, UserService };
|
|
710
|
+
export type { IAddress, ICountry, IFileRecord, IFileUpload, IGroup, IItemQuery, IOrganization, IPaginated, IPermission, IPortalMember, IPreview, IRestOptions, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavOption, OptionAction, OptionActionChoice, Selectable, TableColumn };
|