ichec-angular-core 0.2.6 → 0.3.0

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.
@@ -2,18 +2,18 @@ import { FormGroup, FormControl, FormArray, FormBuilder, AbstractControl } from
2
2
  import { Observable, BehaviorSubject } from 'rxjs';
3
3
  import { HttpClient, HttpParams, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
4
4
  import * as _angular_core from '@angular/core';
5
- import { InjectionToken, AfterViewInit, OnInit, TemplateRef } from '@angular/core';
5
+ import { InjectionToken, OnInit, TemplateRef, AfterViewInit } from '@angular/core';
6
6
  import { CookieService } from 'ngx-cookie-service';
7
- import * as ichec_angular_core from 'ichec-angular-core';
8
- import { MatSidenavContent } from '@angular/material/sidenav';
9
7
  import { Location } from '@angular/common';
10
8
  import { ActivatedRoute } from '@angular/router';
11
9
  import { MatDialog } from '@angular/material/dialog';
12
10
  import { MatTable } from '@angular/material/table';
11
+ import * as ichec_angular_core from 'ichec-angular-core';
13
12
  import { MatSort } from '@angular/material/sort';
14
- import { MatPaginator } from '@angular/material/paginator';
15
- import { DataSource, CollectionViewer, ListRange } from '@angular/cdk/collections';
16
13
  import { MatButtonToggleChange } from '@angular/material/button-toggle';
14
+ import { DataSource, CollectionViewer, ListRange } from '@angular/cdk/collections';
15
+ import { MatPaginator } from '@angular/material/paginator';
16
+ import { MatSidenavContent } from '@angular/material/sidenav';
17
17
 
18
18
  interface Identifiable {
19
19
  id: number;
@@ -181,6 +181,24 @@ interface IRestOptions {
181
181
  actions?: Record<string, Record<string, OptionAction>>;
182
182
  }
183
183
 
184
+ interface IFileRecord {
185
+ name: string;
186
+ display_name: string;
187
+ file_type: string;
188
+ file: File | null;
189
+ remote: string;
190
+ local: string | ArrayBuffer;
191
+ }
192
+ declare class FileRecord {
193
+ name: string;
194
+ display_name: string;
195
+ file_type: string;
196
+ file: File | null;
197
+ remote: string;
198
+ local: string | ArrayBuffer;
199
+ constructor(params?: Partial<IFileRecord>);
200
+ }
201
+
184
202
  interface TypeChoice {
185
203
  value: string;
186
204
  display_name: string;
@@ -242,6 +260,11 @@ interface IFormUpdate {
242
260
  id: number;
243
261
  groups: IFormGroupBase[];
244
262
  }
263
+ interface IFileField {
264
+ id: number;
265
+ file: IFileRecord;
266
+ }
267
+ declare function getFileFieldIds(form: IFormDetail): number[];
245
268
  interface IFormFieldValueBase {
246
269
  value: string;
247
270
  asset: string | null;
@@ -297,7 +320,7 @@ declare const REST_SERVICE_CONFIG: InjectionToken<RestServiceConfig>;
297
320
  declare class RestService<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
298
321
  manifest: IServerManifest;
299
322
  readonly _url: string;
300
- protected config: RestServiceConfig;
323
+ config: RestServiceConfig;
301
324
  protected _http: HttpClient;
302
325
  protected cookieService: CookieService;
303
326
  deleteItem(id: number): Observable<void>;
@@ -346,17 +369,18 @@ declare class UserService extends ItemService<IPortalMemberDetail, IPortalMember
346
369
  readonly _url: string;
347
370
  typename: string;
348
371
  private permissions;
349
- login(next?: string): Observable<IPortalMemberDetail | null>;
350
- private _getServiceManifest;
351
- private _getSelf;
352
- private _login;
353
- private _do_login_redirect;
372
+ login(next?: string): void;
354
373
  logout(next?: string): void;
374
+ getSelf(): Observable<IPortalMemberDetail | null>;
375
+ private _getSelf;
376
+ private _selfFetchFailed;
377
+ private _getServiceManifest;
378
+ private _do_login;
355
379
  hasAddPermission(feature: string): boolean;
356
380
  hasDeletePermission(feature: string): boolean;
357
381
  hasEditPermission(feature: string): boolean;
358
382
  hasViewPermission(feature: string): boolean;
359
- private onLoggedIn;
383
+ private onSelf;
360
384
  private parsePermission;
361
385
  private processPermissions;
362
386
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserService, never>;
@@ -378,33 +402,6 @@ declare class ItemWithUserService<D extends Identifiable, L extends Identifiable
378
402
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ItemWithUserService<any, any, any, any>>;
379
403
  }
380
404
 
381
- declare class AddressService extends ItemWithUserService<IAddressDetail, IAddressList, IAddressCreate> {
382
- readonly _url: string;
383
- typename: string;
384
- countryOptions: _angular_core.WritableSignal<ICountry[]>;
385
- refreshCountryOptions(): void;
386
- protected onOptions(options: IRestOptions): void;
387
- protected onPostActions(actions: Record<string, OptionAction>): void;
388
- protected onCountryChoices(choices: OptionActionChoice[]): void;
389
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressService, never>;
390
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AddressService>;
391
- }
392
-
393
- declare class GroupService extends ItemWithUserService<IGroupDetail, IGroupList, IGroupCreate> {
394
- readonly _url: string;
395
- typename: string;
396
- constructor();
397
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupService, never>;
398
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<GroupService>;
399
- }
400
-
401
- declare class OrganizationService extends ItemWithUserService<IOrganizationDetail, IOrganizationList, IOrganizationCreate> {
402
- readonly _url: string;
403
- typename: string;
404
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationService, never>;
405
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<OrganizationService>;
406
- }
407
-
408
405
  interface IFieldFile {
409
406
  id: number;
410
407
  asset: IFileRecord;
@@ -445,40 +442,38 @@ declare class LeftNavService {
445
442
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<LeftNavService>;
446
443
  }
447
444
 
448
- declare class MockItemService {
449
- canEdit(): boolean;
450
- canDelete(): boolean;
451
- canCreate(): boolean;
452
- typePlural(): string;
453
- }
454
-
455
- declare class TopBarComponent {
456
- readonly title: _angular_core.InputSignal<string | undefined>;
457
- readonly user: _angular_core.InputSignal<ichec_angular_core.IPortalMemberList>;
458
- private userService;
459
- onLogout(): void;
460
- get initials(): string;
461
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
462
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopBarComponent, "lib-top-bar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
445
+ declare class AddressService extends ItemWithUserService<IAddressDetail, IAddressList, IAddressCreate> {
446
+ readonly _url: string;
447
+ typename: string;
448
+ countryOptions: _angular_core.WritableSignal<ICountry[]>;
449
+ refreshCountryOptions(): void;
450
+ protected onOptions(options: IRestOptions): void;
451
+ protected onPostActions(actions: Record<string, OptionAction>): void;
452
+ protected onCountryChoices(choices: OptionActionChoice[]): void;
453
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AddressService, never>;
454
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AddressService>;
463
455
  }
464
456
 
465
- declare class LeftNavComponent {
466
- protected _leftNavService: LeftNavService;
467
- sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
468
- getOptions(): _angular_core.WritableSignal<Set<ichec_angular_core.NavOption>>;
469
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
470
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LeftNavComponent, "lib-left-nav", never, {}, {}, never, never, true, never>;
457
+ declare class GroupService extends ItemWithUserService<IGroupDetail, IGroupList, IGroupCreate> {
458
+ readonly _url: string;
459
+ typename: string;
460
+ constructor();
461
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupService, never>;
462
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<GroupService>;
471
463
  }
472
464
 
473
- declare class FeedbackComponent {
474
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackComponent, never>;
475
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackComponent, "lib-feedback", never, {}, {}, never, never, true, never>;
465
+ declare class OrganizationService extends ItemWithUserService<IOrganizationDetail, IOrganizationList, IOrganizationCreate> {
466
+ readonly _url: string;
467
+ typename: string;
468
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationService, never>;
469
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<OrganizationService>;
476
470
  }
477
471
 
478
- declare class AvatarComponent {
479
- text: _angular_core.InputSignal<string>;
480
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
481
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "lib-avatar", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
472
+ declare class MockItemService {
473
+ canEdit(): boolean;
474
+ canDelete(): boolean;
475
+ canCreate(): boolean;
476
+ typePlural(): string;
482
477
  }
483
478
 
484
479
  declare abstract class DetailView<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> {
@@ -490,33 +485,16 @@ declare abstract class DetailView<D extends Identifiable, L extends Identifiable
490
485
  readonly deleteDialog: MatDialog;
491
486
  constructor(itemService: ItemService<D, L, C, U>);
492
487
  onInit(): void;
488
+ onSelection(id: number | null): void;
493
489
  title(): string;
494
490
  onItemAvailable(item: D): void;
495
491
  onItemAndUserAvailable(_item: D, _user: IPortalMemberDetail): void;
496
- private getItem;
497
492
  onDeleteClicked(): void;
498
493
  onDelete(): void;
499
494
  goBack(): void;
500
495
  protected canEdit(): boolean;
501
496
  protected canDelete(): boolean;
502
- }
503
-
504
- interface IFileRecord {
505
- name: string;
506
- display_name: string;
507
- file_type: string;
508
- file: File | null;
509
- remote: string;
510
- local: string | ArrayBuffer;
511
- }
512
- declare class FileRecord {
513
- name: string;
514
- display_name: string;
515
- file_type: string;
516
- file: File | null;
517
- remote: string;
518
- local: string | ArrayBuffer;
519
- constructor(params?: Partial<IFileRecord>);
497
+ private _getItem;
520
498
  }
521
499
 
522
500
  declare abstract class EditView<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> {
@@ -556,6 +534,99 @@ declare abstract class EditView<D extends Identifiable, L extends Identifiable,
556
534
  protected onPostActions(_actions: Record<string, OptionAction>): void;
557
535
  }
558
536
 
537
+ interface TableColumn {
538
+ name: string;
539
+ title: string;
540
+ element_type: string;
541
+ }
542
+
543
+ interface Selectable<T extends Identifiable> {
544
+ title: string;
545
+ item: T;
546
+ }
547
+ declare class SelectTableComponent<T extends Identifiable> implements OnInit {
548
+ itemType: _angular_core.InputSignal<string>;
549
+ selected: _angular_core.InputSignal<T[]>;
550
+ options: _angular_core.InputSignal<Selectable<T>[]>;
551
+ columns: _angular_core.InputSignal<TableColumn[]>;
552
+ itemAdded: _angular_core.OutputEmitterRef<string>;
553
+ itemRemoved: _angular_core.OutputEmitterRef<number>;
554
+ searchChanged: _angular_core.OutputEmitterRef<string | null>;
555
+ itemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null | undefined>;
556
+ columnNames: _angular_core.Signal<string[]>;
557
+ searchControl: FormControl<string | null>;
558
+ table: _angular_core.Signal<MatTable<any> | undefined>;
559
+ ngOnInit(): void;
560
+ remove(id: number): void;
561
+ add(): void;
562
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTableComponent<any>, never>;
563
+ 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; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; }, { "itemAdded": "itemAdded"; "itemRemoved": "itemRemoved"; "searchChanged": "searchChanged"; }, never, never, true, never>;
564
+ }
565
+
566
+ declare abstract class SelectionManager<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
567
+ candidates: _angular_core.WritableSignal<Selectable<L>[]>;
568
+ selected: _angular_core.WritableSignal<L[]>;
569
+ columns: TableColumn[];
570
+ itemService: ItemService<D, L, C, U>;
571
+ constructor(itemService: ItemService<D, L, C, U>);
572
+ fetchCandidates(item: string, id: number): void;
573
+ protected updateCandidates(items: IPaginated<L>): void;
574
+ abstract toSelectable(item: L): Selectable<L>;
575
+ onRemoved(id: number): string;
576
+ onAdded(title: string): string;
577
+ abstract hasTitle(item: L, title: string): boolean;
578
+ onSearchChanged(searchTerm: string | null): void;
579
+ }
580
+ declare class MemberSelectionManager extends SelectionManager<IPortalMemberDetail> {
581
+ columns: TableColumn[];
582
+ constructor();
583
+ toSelectable(item: IPortalMemberDetail): Selectable<IPortalMemberDetail>;
584
+ hasTitle(item: IPortalMemberDetail, title: string): boolean;
585
+ }
586
+
587
+ declare class BackButtonComponent {
588
+ protected location: Location;
589
+ protected goBack(): void;
590
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackButtonComponent, never>;
591
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BackButtonComponent, "lib-back-button", never, {}, {}, never, never, true, never>;
592
+ }
593
+
594
+ declare class DetailHeaderComponent {
595
+ id: _angular_core.InputSignal<number>;
596
+ text: _angular_core.InputSignal<string>;
597
+ route: _angular_core.InputSignal<string>;
598
+ canEdit: _angular_core.InputSignal<boolean>;
599
+ canDelete: _angular_core.InputSignal<boolean>;
600
+ deleteClicked: _angular_core.OutputEmitterRef<void>;
601
+ fullRoute: _angular_core.Signal<string>;
602
+ deleteClick(): void;
603
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailHeaderComponent, never>;
604
+ 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>;
605
+ }
606
+
607
+ declare class SearchBarComponent implements AfterViewInit {
608
+ itemType: _angular_core.InputSignal<string>;
609
+ sortFields: _angular_core.InputSignal<string[]>;
610
+ sortAscending: _angular_core.WritableSignal<boolean>;
611
+ searchChanged: _angular_core.OutputEmitterRef<string>;
612
+ searchFilter: FormControl<any>;
613
+ ngAfterViewInit(): void;
614
+ clearSearch(): void;
615
+ searchEntered(): void;
616
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
617
+ 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>;
618
+ }
619
+
620
+ declare class FileUploadComponent {
621
+ control: _angular_core.InputSignal<FormControl<IFileRecord>>;
622
+ protected onFileUpload(event: Event): void;
623
+ protected onFileUploaded(file: File): void;
624
+ protected onPreviewLoaded(preview: string | ArrayBuffer): void;
625
+ protected onClearLocal(): void;
626
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
627
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "lib-file-upload", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
628
+ }
629
+
559
630
  declare class FormFieldDetailComponent {
560
631
  readonly field: _angular_core.InputSignal<IFormFieldDetail>;
561
632
  form: _angular_core.InputSignal<FormGroup<any>>;
@@ -594,16 +665,6 @@ declare class FormFieldEditComponent {
594
665
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldEditComponent, "lib-form-field-edit", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "editMode": { "alias": "editMode"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; "cancelled": "cancelled"; }, never, never, true, never>;
595
666
  }
596
667
 
597
- declare class DynamicFormComponent {
598
- private readonly formService;
599
- readonly inputForm: _angular_core.InputSignal<IFormDetail>;
600
- readonly form: _angular_core.Signal<FormGroup<any>>;
601
- payLoad: string;
602
- onSubmit(): void;
603
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
604
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormComponent, "lib-dynamic-form", never, { "inputForm": { "alias": "inputForm"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
605
- }
606
-
607
668
  interface IFormGroupForm {
608
669
  label: FormControl<string | null>;
609
670
  description: FormControl<string | null>;
@@ -620,6 +681,7 @@ declare class DynamicFormForm {
620
681
  form: FormGroup<IDynamicFormForm>;
621
682
  constructor();
622
683
  get groups(): FormArray<FormGroup<IFormGroupForm>>;
684
+ getFileFields(form: IFormDetail): IFileField[];
623
685
  orderUp(id: number): void;
624
686
  orderDown(id: number): void;
625
687
  reorder(id: number, newIndex: number): void;
@@ -636,25 +698,6 @@ declare class DynamicFormForm {
636
698
  updateItem(item: IFormDetail): IFormCreate | IFormUpdate;
637
699
  }
638
700
 
639
- declare class DynamicFormBuilderComponent {
640
- form: _angular_core.InputSignal<DynamicFormForm>;
641
- handleSubmit: _angular_core.InputSignal<boolean>;
642
- submitted: _angular_core.OutputEmitterRef<void>;
643
- dirty: _angular_core.WritableSignal<boolean>;
644
- fb: FormBuilder;
645
- groupForm: FormGroup<IFormGroupForm> | null;
646
- addGroup(): void;
647
- createGroup(): void;
648
- cancelGroup(): void;
649
- onSubmit(): void;
650
- deleteGroup(id: number): void;
651
- onOrderUp(id: number): void;
652
- onOrderDown(id: number): void;
653
- getLabel(control: AbstractControl): string;
654
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormBuilderComponent, never>;
655
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormBuilderComponent, "lib-dynamic-form-builder", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "handleSubmit": { "alias": "handleSubmit"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; }, never, never, true, never>;
656
- }
657
-
658
701
  interface IFormFieldValueForm {
659
702
  value: FormControl<string | null>;
660
703
  id: FormControl<number | null>;
@@ -683,6 +726,35 @@ declare class PopulatedFormForm {
683
726
  updateItem(item: IPopulatedFormDetail): IPopulatedFormDetail;
684
727
  }
685
728
 
729
+ declare class DynamicFormComponent {
730
+ private readonly formService;
731
+ readonly inputForm: _angular_core.InputSignal<IFormDetail>;
732
+ readonly form: _angular_core.Signal<FormGroup<any>>;
733
+ payLoad: string;
734
+ onSubmit(): void;
735
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
736
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormComponent, "lib-dynamic-form", never, { "inputForm": { "alias": "inputForm"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
737
+ }
738
+
739
+ declare class DynamicFormBuilderComponent {
740
+ form: _angular_core.InputSignal<DynamicFormForm>;
741
+ handleSubmit: _angular_core.InputSignal<boolean>;
742
+ submitted: _angular_core.OutputEmitterRef<void>;
743
+ dirty: _angular_core.WritableSignal<boolean>;
744
+ fb: FormBuilder;
745
+ groupForm: FormGroup<IFormGroupForm> | null;
746
+ addGroup(): void;
747
+ createGroup(): void;
748
+ cancelGroup(): void;
749
+ onSubmit(): void;
750
+ deleteGroup(id: number): void;
751
+ onOrderUp(id: number): void;
752
+ onOrderDown(id: number): void;
753
+ getLabel(control: AbstractControl): string;
754
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormBuilderComponent, never>;
755
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormBuilderComponent, "lib-dynamic-form-builder", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "handleSubmit": { "alias": "handleSubmit"; "required": false; "isSignal": true; }; }, { "submitted": "submitted"; }, never, never, true, never>;
756
+ }
757
+
686
758
  declare class PopulatedFormComponent {
687
759
  form: _angular_core.InputSignal<IPopulatedFormDetail>;
688
760
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopulatedFormComponent, never>;
@@ -717,75 +789,12 @@ declare class ListDataSource<D extends Identifiable, L extends Identifiable, C =
717
789
  disconnect(): void;
718
790
  }
719
791
 
720
- interface TableColumn {
721
- name: string;
722
- title: string;
723
- element_type: string;
724
- }
725
- declare class ListTableViewComponent implements AfterViewInit {
726
- itemType: _angular_core.InputSignal<string>;
727
- columns: _angular_core.InputSignal<TableColumn[]>;
728
- dataSource: _angular_core.InputSignal<ListDataSource<any, any, any, any> | undefined>;
729
- searchFilter: _angular_core.InputSignal<string>;
730
- pageSizeOptions: number[];
731
- initialPageSize: number;
732
- columnNames: _angular_core.Signal<string[]>;
733
- sort: _angular_core.Signal<MatSort | undefined>;
734
- paginator: _angular_core.Signal<MatPaginator | undefined>;
735
- ngAfterViewInit(): void;
736
- reset(): void;
737
- fetch(): void;
738
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
739
- 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>;
740
- }
741
-
742
- interface Selectable<T extends Identifiable> {
743
- title: string;
744
- item: T;
745
- }
746
- declare class SelectTableComponent<T extends Identifiable> implements OnInit {
747
- itemType: _angular_core.InputSignal<string>;
748
- selected: _angular_core.InputSignal<T[]>;
749
- options: _angular_core.InputSignal<Selectable<T>[]>;
750
- columns: _angular_core.InputSignal<TableColumn[]>;
751
- itemAdded: _angular_core.OutputEmitterRef<string>;
752
- itemRemoved: _angular_core.OutputEmitterRef<number>;
753
- searchChanged: _angular_core.OutputEmitterRef<string | null>;
754
- columnNames: _angular_core.Signal<string[]>;
755
- searchControl: FormControl<string | null>;
756
- table: _angular_core.Signal<MatTable<any> | undefined>;
757
- ngOnInit(): void;
758
- remove(id: number): void;
759
- add(): void;
760
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectTableComponent<any>, never>;
761
- 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>;
762
- }
763
-
764
- declare abstract class SelectionManager<D extends Identifiable, L extends Identifiable = D, C = D, U extends Identifiable = D> {
765
- candidates: _angular_core.WritableSignal<Selectable<L>[]>;
766
- selected: _angular_core.WritableSignal<L[]>;
767
- columns: TableColumn[];
768
- itemService: ItemService<D, L, C, U>;
769
- constructor(itemService: ItemService<D, L, C, U>);
770
- fetchCandidates(item: string, id: number): void;
771
- protected updateCandidates(items: IPaginated<L>): void;
772
- abstract toSelectable(item: L): Selectable<L>;
773
- onRemoved(id: number): string;
774
- onAdded(title: string): string;
775
- abstract hasTitle(item: L, title: string): boolean;
776
- onSearchChanged(searchTerm: string | null): void;
777
- }
778
- declare class MemberSelectionManager extends SelectionManager<IPortalMemberDetail> {
779
- columns: TableColumn[];
780
- constructor();
781
- toSelectable(item: IPortalMemberDetail): Selectable<IPortalMemberDetail>;
782
- hasTitle(item: IPortalMemberDetail, title: string): boolean;
783
- }
784
-
785
792
  declare class ListViewComponent<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> implements OnInit, AfterViewInit {
786
793
  viewType: _angular_core.InputSignal<string>;
787
794
  itemService: _angular_core.InputSignal<ItemService<D, L, C, U> | undefined>;
795
+ listItemTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
788
796
  itemDetailTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
797
+ itemHeight: _angular_core.InputSignal<number>;
789
798
  columns: _angular_core.InputSignal<TableColumn[]>;
790
799
  sortFields: _angular_core.InputSignal<string[]>;
791
800
  noSelfItemsMessage: _angular_core.InputSignal<string | undefined>;
@@ -794,6 +803,7 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
794
803
  defaultQueries: _angular_core.InputSignal<IQuery[]>;
795
804
  embeddedMode: _angular_core.InputSignal<boolean>;
796
805
  selectedViewType: _angular_core.WritableSignal<string>;
806
+ selected: _angular_core.OutputEmitterRef<number | null>;
797
807
  pageSize: number;
798
808
  pageSizeOptions: number[];
799
809
  protected route: ActivatedRoute;
@@ -803,6 +813,7 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
803
813
  searchTerm: string;
804
814
  ngOnInit(): void;
805
815
  ngAfterViewInit(): void;
816
+ showControls(): boolean;
806
817
  onSearchChange(value: string): void;
807
818
  canCreate(): boolean;
808
819
  itemType(): string;
@@ -811,60 +822,73 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
811
822
  resetDataSource(): void;
812
823
  reset(): void;
813
824
  viewChanged(event: MatButtonToggleChange): void;
825
+ onSelection(id: number): void;
814
826
  protected isSelfList(): boolean;
815
827
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListViewComponent<any, any, any, any>, never>;
816
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListViewComponent<any, any, any, 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; }; "defaultQueries": { "alias": "defaultQueries"; "required": false; "isSignal": true; }; "embeddedMode": { "alias": "embeddedMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
828
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListViewComponent<any, any, any, any>, "lib-list-view", never, { "viewType": { "alias": "viewType"; "required": false; "isSignal": true; }; "itemService": { "alias": "itemService"; "required": false; "isSignal": true; }; "listItemTemplate": { "alias": "listItemTemplate"; "required": false; "isSignal": true; }; "itemDetailTemplate": { "alias": "itemDetailTemplate"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "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; }; "defaultQueries": { "alias": "defaultQueries"; "required": false; "isSignal": true; }; "embeddedMode": { "alias": "embeddedMode"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
817
829
  }
818
830
 
819
- declare class BackButtonComponent {
820
- protected location: Location;
821
- protected goBack(): void;
822
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackButtonComponent, never>;
823
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BackButtonComponent, "lib-back-button", never, {}, {}, never, never, true, never>;
831
+ declare class ListTableViewComponent implements AfterViewInit {
832
+ itemType: _angular_core.InputSignal<string>;
833
+ columns: _angular_core.InputSignal<TableColumn[]>;
834
+ dataSource: _angular_core.InputSignal<ListDataSource<any, any, any, any> | undefined>;
835
+ searchFilter: _angular_core.InputSignal<string>;
836
+ pageSizeOptions: number[];
837
+ initialPageSize: number;
838
+ columnNames: _angular_core.Signal<string[]>;
839
+ sort: _angular_core.Signal<MatSort | undefined>;
840
+ paginator: _angular_core.Signal<MatPaginator | undefined>;
841
+ ngAfterViewInit(): void;
842
+ reset(): void;
843
+ fetch(): void;
844
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListTableViewComponent, never>;
845
+ 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>;
824
846
  }
825
847
 
826
- declare class DetailHeaderComponent {
827
- id: _angular_core.InputSignal<number>;
828
- text: _angular_core.InputSignal<string>;
829
- route: _angular_core.InputSignal<string>;
830
- canEdit: _angular_core.InputSignal<boolean>;
831
- canDelete: _angular_core.InputSignal<boolean>;
832
- deleteClicked: _angular_core.OutputEmitterRef<void>;
833
- fullRoute: _angular_core.Signal<string>;
834
- deleteClick(): void;
835
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DetailHeaderComponent, never>;
836
- 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>;
848
+ declare class TopBarComponent {
849
+ readonly title: _angular_core.InputSignal<string | undefined>;
850
+ readonly logo: _angular_core.InputSignal<string | undefined>;
851
+ readonly background: _angular_core.InputSignal<string | undefined>;
852
+ readonly user: _angular_core.WritableSignal<ichec_angular_core.IPortalMemberList | null>;
853
+ readonly loginRoute: _angular_core.InputSignal<string>;
854
+ private userService;
855
+ constructor();
856
+ onLogout(): void;
857
+ onLogin(): void;
858
+ get initials(): string;
859
+ get backgroundStyle(): string;
860
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TopBarComponent, never>;
861
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TopBarComponent, "lib-top-bar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "loginRoute": { "alias": "loginRoute"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
837
862
  }
838
863
 
839
- declare class SearchBarComponent implements AfterViewInit {
840
- itemType: _angular_core.InputSignal<string>;
841
- sortFields: _angular_core.InputSignal<string[]>;
842
- sortAscending: _angular_core.WritableSignal<boolean>;
843
- searchChanged: _angular_core.OutputEmitterRef<string>;
844
- searchFilter: FormControl<any>;
845
- ngAfterViewInit(): void;
846
- clearSearch(): void;
847
- searchEntered(): void;
848
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
849
- 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>;
864
+ declare class LeftNavComponent {
865
+ readonly background: _angular_core.InputSignal<string | undefined>;
866
+ protected _leftNavService: LeftNavService;
867
+ sideNavContent: _angular_core.Signal<MatSidenavContent | undefined>;
868
+ getOptions(): _angular_core.WritableSignal<Set<ichec_angular_core.NavOption>>;
869
+ get backgroundStyle(): string;
870
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LeftNavComponent, never>;
871
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LeftNavComponent, "lib-left-nav", never, { "background": { "alias": "background"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
850
872
  }
851
873
 
852
- declare class FileUploadComponent {
853
- control: _angular_core.InputSignal<FormControl<IFileRecord>>;
854
- protected onFileUpload(event: Event): void;
855
- protected onFileUploaded(file: File): void;
856
- protected onPreviewLoaded(preview: string | ArrayBuffer): void;
857
- protected onClearLocal(): void;
858
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploadComponent, never>;
859
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploadComponent, "lib-file-upload", never, { "control": { "alias": "control"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
874
+ declare class FeedbackComponent {
875
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackComponent, never>;
876
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackComponent, "lib-feedback", never, {}, {}, never, never, true, never>;
877
+ }
878
+
879
+ declare class AvatarComponent {
880
+ text: _angular_core.InputSignal<string>;
881
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
882
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "lib-avatar", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
860
883
  }
861
884
 
862
885
  declare class UserDetailComponent extends DetailView<IPortalMemberDetail, IPortalMemberList, IPortalMemberCreate> implements OnInit {
886
+ showBack: _angular_core.InputSignal<boolean>;
863
887
  constructor();
864
888
  ngOnInit(): void;
865
889
  protected canEdit(): boolean;
866
890
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserDetailComponent, never>;
867
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, {}, {}, never, never, true, never>;
891
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserDetailComponent, "lib-user-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
868
892
  }
869
893
 
870
894
  declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMemberList, IPortalMemberCreate> implements OnInit {
@@ -877,23 +901,25 @@ declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMem
877
901
  }
878
902
 
879
903
  declare class UserComponent {
880
- viewType: _angular_core.WritableSignal<string>;
881
904
  itemService: UserService;
882
- columns: ichec_angular_core.TableColumn[];
905
+ detailView: _angular_core.Signal<UserDetailComponent | undefined>;
906
+ onSelected(id: number | null): void;
883
907
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserComponent, never>;
884
908
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserComponent, "lib-user", never, {}, {}, never, never, true, never>;
885
909
  }
886
910
 
887
911
  declare class GroupDetailComponent extends DetailView<IGroupDetail, IGroupList, IGroupCreate> implements OnInit {
912
+ showBack: _angular_core.InputSignal<boolean>;
888
913
  constructor();
889
914
  ngOnInit(): void;
890
915
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupDetailComponent, never>;
891
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, {}, {}, never, never, true, never>;
916
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupDetailComponent, "lib-group-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
892
917
  }
893
918
 
894
919
  declare class GroupComponent {
895
920
  itemService: GroupService;
896
- columns: TableColumn[];
921
+ detailView: _angular_core.Signal<GroupDetailComponent | undefined>;
922
+ onSelected(id: number | null): void;
897
923
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupComponent, never>;
898
924
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
899
925
  }
@@ -928,20 +954,23 @@ declare class AddressForm {
928
954
  static updateItem(form: FormGroup<IAddressForm>, item: IAddressDetail): IAddressDetail;
929
955
  }
930
956
 
957
+ declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
958
+ showBack: _angular_core.InputSignal<boolean>;
959
+ constructor();
960
+ ngOnInit(): void;
961
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
962
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, { "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
963
+ }
964
+
931
965
  declare class OrganizationComponent {
932
966
  itemService: OrganizationService;
933
967
  columns: TableColumn[];
968
+ detailView: _angular_core.Signal<OrganizationDetailComponent | undefined>;
969
+ onSelected(id: number | null): void;
934
970
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
935
971
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "lib-organization", never, {}, {}, never, never, true, never>;
936
972
  }
937
973
 
938
- declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
939
- constructor();
940
- ngOnInit(): void;
941
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationDetailComponent, never>;
942
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationDetailComponent, "lib-organization-detail", never, {}, {}, never, never, true, never>;
943
- }
944
-
945
974
  declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
946
975
  addressService: AddressService;
947
976
  selectionManager: MemberSelectionManager;
@@ -955,5 +984,5 @@ declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IO
955
984
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationEditComponent, "lib-organization-edit", never, {}, {}, never, never, true, never>;
956
985
  }
957
986
 
958
- export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, AddressService, ApiError, AvatarComponent, BackButtonComponent, DetailHeaderComponent, DetailView, DynamicFormBuilderComponent, DynamicFormComponent, DynamicFormForm, EditView, ErrorCode, FORM_FIELD_CHOICES, FeedbackComponent, FieldType, FileRecord, FileUploadComponent, FormFieldDetailComponent, FormFieldEditComponent, FormFieldValueForm, FormService, Group, GroupComponent, GroupDetailComponent, GroupService, ItemQuery, ItemService, ItemWithUserService, LeftNavComponent, LeftNavService, ListTableViewComponent, ListViewComponent, MemberSelectionManager, MockItemService, Organization, OrganizationComponent, OrganizationDetailComponent, OrganizationEditComponent, OrganizationService, Paginated, Permission, PopulatedFormComponent, PopulatedFormForm, PortalMember, REST_SERVICE_CONFIG, ResolvedPermission, RestService, SearchBarComponent, SelectTableComponent, SelectionManager, TopBarComponent, UserComponent, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey };
959
- export type { IAddressBase, IAddressCreate, IAddressDetail, IAddressForm, IAddressList, ICountry, IDynamicFormForm, IFieldFile, IFileRecord, IForm, IFormCreate, IFormDetail, IFormFieldBase, IFormFieldCreate, IFormFieldDetail, IFormFieldValueBase, IFormFieldValueCreate, IFormFieldValueDetail, IFormFieldValueForm, IFormFieldValueUpdate, IFormGroupBase, IFormGroupCreate, IFormGroupDetail, IFormGroupUpdate, IFormUpdate, IGroupBase, IGroupCreate, IGroupDetail, IGroupList, IItemQuery, IMemberIdentifierBase, IMemberIdentifierCreate, IMemberIdentifierDetail, IOrganizationBase, IOrganizationCreate, IOrganizationDetail, IOrganizationList, IPaginated, IPermission, IPopulatedFormCreate, IPopulatedFormDetail, IPopulatedFormForm, IPopulatedFormUpdate, IPortalMemberBase, IPortalMemberCreate, IPortalMemberDetail, IPortalMemberList, IRestOptions, IServerManifest, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };
987
+ export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, AddressService, ApiError, AvatarComponent, BackButtonComponent, DetailHeaderComponent, DetailView, DynamicFormBuilderComponent, DynamicFormComponent, DynamicFormForm, EditView, ErrorCode, FORM_FIELD_CHOICES, FeedbackComponent, FieldType, FileRecord, FileUploadComponent, FormFieldDetailComponent, FormFieldEditComponent, FormFieldValueForm, FormService, Group, GroupComponent, GroupDetailComponent, GroupService, ItemQuery, ItemService, ItemWithUserService, LeftNavComponent, LeftNavService, ListTableViewComponent, ListViewComponent, MemberSelectionManager, MockItemService, Organization, OrganizationComponent, OrganizationDetailComponent, OrganizationEditComponent, OrganizationService, Paginated, Permission, PopulatedFormComponent, PopulatedFormForm, PortalMember, REST_SERVICE_CONFIG, ResolvedPermission, RestService, SearchBarComponent, SelectTableComponent, SelectionManager, TopBarComponent, UserComponent, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey, getFileFieldIds };
988
+ export type { IAddressBase, IAddressCreate, IAddressDetail, IAddressForm, IAddressList, ICountry, IDynamicFormForm, IFieldFile, IFileField, IFileRecord, IForm, IFormCreate, IFormDetail, IFormFieldBase, IFormFieldCreate, IFormFieldDetail, IFormFieldValueBase, IFormFieldValueCreate, IFormFieldValueDetail, IFormFieldValueForm, IFormFieldValueUpdate, IFormGroupBase, IFormGroupCreate, IFormGroupDetail, IFormGroupUpdate, IFormUpdate, IGroupBase, IGroupCreate, IGroupDetail, IGroupList, IItemQuery, IMemberIdentifierBase, IMemberIdentifierCreate, IMemberIdentifierDetail, IOrganizationBase, IOrganizationCreate, IOrganizationDetail, IOrganizationList, IPaginated, IPermission, IPopulatedFormCreate, IPopulatedFormDetail, IPopulatedFormForm, IPopulatedFormUpdate, IPortalMemberBase, IPortalMemberCreate, IPortalMemberDetail, IPortalMemberList, IRestOptions, IServerManifest, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };