ichec-angular-core 0.3.9 → 0.3.11

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": "ichec-angular-core",
3
- "version": "0.3.9",
3
+ "version": "0.3.11",
4
4
  "exports": {
5
5
  "./styles/": "./styles",
6
6
  "./package.json": {
@@ -1,5 +1,5 @@
1
1
  import * as _angular_forms from '@angular/forms';
2
- import { FormGroup, FormControl, FormArray, FormBuilder, AbstractControl } from '@angular/forms';
2
+ import { FormGroup, FormControl, FormBuilder, FormArray, AbstractControl } from '@angular/forms';
3
3
  import * as ichec_angular_core from 'ichec-angular-core';
4
4
  import { BehaviorSubject, Observable } from 'rxjs';
5
5
  import { HttpClient, HttpParams, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
@@ -157,7 +157,6 @@ interface IItemQuery {
157
157
  page_size: number;
158
158
  sort_field: string;
159
159
  sort_order: string;
160
- filter_field: string;
161
160
  filter: string;
162
161
  }
163
162
  declare class ItemQuery {
@@ -166,7 +165,6 @@ declare class ItemQuery {
166
165
  page_size: number;
167
166
  sort_field: string;
168
167
  sort_order: string;
169
- filter_field: string;
170
168
  filter: string;
171
169
  constructor(params?: Partial<IItemQuery>);
172
170
  }
@@ -305,13 +303,21 @@ interface IPopulatedFormUpdate {
305
303
  id: number;
306
304
  values: IFormFieldValueUpdate[];
307
305
  }
306
+ interface IFilterChoice {
307
+ display_name: string;
308
+ value: string;
309
+ }
310
+ interface ISortField {
311
+ display_name: string;
312
+ value: string;
313
+ }
308
314
  interface IFilter {
309
315
  display_name: string;
310
316
  key: string;
311
317
  type: string;
312
318
  tooltip: string;
313
- choices: string[];
314
- default: string;
319
+ choices: IFilterChoice[];
320
+ default: string | null;
315
321
  include_if_null: boolean;
316
322
  }
317
323
  interface IFilterRow {
@@ -320,6 +326,28 @@ interface IFilterRow {
320
326
  interface IFilters {
321
327
  rows: IFilterRow[];
322
328
  }
329
+ interface IQuery {
330
+ key: string;
331
+ value: string;
332
+ }
333
+ interface ISearchFields {
334
+ filter: IFilters;
335
+ sortFields: ISortField[];
336
+ defaultQueries: IQuery[];
337
+ pageSize: number;
338
+ pageSizeOptions: number[];
339
+ }
340
+ declare class SearchFields {
341
+ filter: {
342
+ rows: never[];
343
+ };
344
+ sortFields: never[];
345
+ defaultQueries: never[];
346
+ pageSize: number;
347
+ pageSizeOptions: number[];
348
+ constructor(params?: Partial<ISearchFields>);
349
+ }
350
+ declare function getFilter(filters: IFilters, key: string): IFilter | null;
323
351
 
324
352
  interface LeftNavOption {
325
353
  name: string;
@@ -643,23 +671,36 @@ declare class DetailHeaderComponent {
643
671
  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>;
644
672
  }
645
673
 
646
- declare class SearchBarComponent implements OnInit, AfterViewInit {
674
+ interface ISearchForm {
675
+ sortAscending: FormControl<boolean | null>;
676
+ sortField: FormControl<string | null>;
677
+ search: FormControl<string | null>;
678
+ pageSize: FormControl<number | null>;
679
+ filters: FormGroup;
680
+ }
681
+ declare class SearchForm {
682
+ form: FormGroup<ISearchForm>;
683
+ searchFields: ISearchFields;
684
+ constructor(searchFields: ISearchFields, fb: FormBuilder);
685
+ get filterControls(): {
686
+ [key: string]: _angular_forms.AbstractControl<any, any, any>;
687
+ };
688
+ resetFilters(): void;
689
+ toQuery(): IItemQuery;
690
+ }
691
+
692
+ declare class SearchBarComponent {
647
693
  itemType: _angular_core.InputSignal<string>;
648
- sortFields: _angular_core.InputSignal<string[]>;
649
- sortAscending: _angular_core.WritableSignal<boolean>;
650
- filters: _angular_core.InputSignal<IFilters | null>;
651
- searchChanged: _angular_core.OutputEmitterRef<string>;
652
- searchFilter: FormControl<any>;
653
694
  showFilters: _angular_core.WritableSignal<boolean>;
654
- private fb;
655
- filterForm: FormGroup | null;
656
- ngOnInit(): void;
657
- ngAfterViewInit(): void;
695
+ form: _angular_core.InputSignal<SearchForm>;
696
+ get searchControl(): FormControl;
697
+ get sortControl(): FormControl;
698
+ clearFilters(): void;
658
699
  toggleFilterVisibility(): void;
659
700
  clearSearch(): void;
660
- searchEntered(): void;
701
+ toggleSortOrder(): void;
661
702
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchBarComponent, never>;
662
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBarComponent, "lib-search-bar", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "sortFields": { "alias": "sortFields"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; }, { "searchChanged": "searchChanged"; }, never, never, true, never>;
703
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchBarComponent, "lib-search-bar", never, { "itemType": { "alias": "itemType"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
663
704
  }
664
705
 
665
706
  declare class FileUploadComponent {
@@ -853,15 +894,10 @@ declare class PopulatedFormComponent {
853
894
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopulatedFormComponent, "lib-populated-form", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
854
895
  }
855
896
 
856
- interface IQuery {
857
- key: string;
858
- value: string;
859
- }
860
897
  declare class ListDataSource<D extends Identifiable, L extends Identifiable, C = D, U extends Identifiable = D> extends DataSource<L> {
861
898
  length: _angular_core.WritableSignal<number>;
862
899
  loading: _angular_core.WritableSignal<boolean>;
863
- searchTerm: _angular_core.WritableSignal<string>;
864
- pageSize: _angular_core.WritableSignal<number>;
900
+ activeQuery: _angular_core.WritableSignal<IItemQuery>;
865
901
  hasFetched: _angular_core.WritableSignal<boolean>;
866
902
  sourceIsEmpty: _angular_core.Signal<boolean>;
867
903
  private consumerType;
@@ -874,7 +910,7 @@ declare class ListDataSource<D extends Identifiable, L extends Identifiable, C =
874
910
  connect(collectionViewer: CollectionViewer): Observable<L[]>;
875
911
  hasTableConsumer(): boolean;
876
912
  onRange(range: ListRange): void;
877
- reset(searchTerm?: string, pageSize?: number): void;
913
+ reset(query: IItemQuery): void;
878
914
  fetchPage(idx: number): void;
879
915
  fetch(query: IItemQuery): void;
880
916
  onResponse(response: IPaginated<L>): void;
@@ -889,27 +925,23 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
889
925
  itemHeight: _angular_core.InputSignal<number>;
890
926
  itemWidth: _angular_core.InputSignal<number>;
891
927
  columns: _angular_core.InputSignal<TableColumn[]>;
892
- sortFields: _angular_core.InputSignal<string[]>;
893
928
  noSelfItemsMessage: _angular_core.InputSignal<string | undefined>;
894
929
  noItemsCanCreateMessage: _angular_core.InputSignal<string | undefined>;
895
930
  noItemsMessage: _angular_core.InputSignal<string | undefined>;
896
- defaultQueries: _angular_core.InputSignal<IQuery[]>;
897
- filters: _angular_core.InputSignal<IFilters | null>;
931
+ searchFields: _angular_core.InputSignal<ISearchFields>;
898
932
  embeddedMode: _angular_core.InputSignal<boolean>;
899
933
  selectedViewType: _angular_core.WritableSignal<string>;
900
934
  selected: _angular_core.OutputEmitterRef<number | null>;
901
- pageSize: number;
902
- pageSizeOptions: number[];
903
935
  protected route: ActivatedRoute;
904
936
  dataSource: ListDataSource<D, L, C, U> | undefined;
905
937
  sort: _angular_core.Signal<MatSort | undefined>;
906
938
  columnNames: _angular_core.Signal<string[]>;
907
- searchTerm: string;
939
+ fb: FormBuilder;
940
+ searchForm: _angular_core.WritableSignal<SearchForm>;
908
941
  get resolvedItemWidth(): string;
909
942
  ngOnInit(): void;
910
943
  ngAfterViewInit(): void;
911
944
  showControls(): boolean;
912
- onSearchChange(value: string): void;
913
945
  canCreate(): boolean;
914
946
  itemType(): string;
915
947
  title(): string;
@@ -920,7 +952,7 @@ declare class ListViewComponent<D extends Identifiable, L extends Identifiable,
920
952
  onSelection(id: number): void;
921
953
  protected isSelfList(): boolean;
922
954
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListViewComponent<any, any, any, any>, never>;
923
- 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; }; "itemWidth": { "alias": "itemWidth"; "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; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "embeddedMode": { "alias": "embeddedMode"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
955
+ 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; }; "itemWidth": { "alias": "itemWidth"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "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; }; "searchFields": { "alias": "searchFields"; "required": true; "isSignal": true; }; "embeddedMode": { "alias": "embeddedMode"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
924
956
  }
925
957
 
926
958
  declare class ListTableViewComponent implements AfterViewInit {
@@ -1000,6 +1032,11 @@ declare class UserEditComponent extends EditView<IPortalMemberDetail, IPortalMem
1000
1032
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserEditComponent, "lib-user-edit", never, {}, {}, never, never, true, never>;
1001
1033
  }
1002
1034
 
1035
+ interface IUserCreateForm {
1036
+ user_email: FormControl<string | null>;
1037
+ user_first_name: FormControl<string | null>;
1038
+ user_last_name: FormControl<string | null>;
1039
+ }
1003
1040
  declare class UserCreateForm {
1004
1041
  private type;
1005
1042
  private resource_id;
@@ -1029,6 +1066,7 @@ declare class UserCreateComponent {
1029
1066
  declare class UserComponent {
1030
1067
  itemService: UserService;
1031
1068
  detailView: _angular_core.Signal<UserDetailComponent | undefined>;
1069
+ searchFields: ISearchFields;
1032
1070
  onSelected(id: number | null): void;
1033
1071
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserComponent, never>;
1034
1072
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserComponent, "lib-user", never, {}, {}, never, never, true, never>;
@@ -1057,6 +1095,7 @@ declare class GroupEditComponent extends EditView<IGroupDetail, IGroupList, IGro
1057
1095
  declare class GroupComponent {
1058
1096
  itemService: GroupService;
1059
1097
  detailView: _angular_core.Signal<GroupDetailComponent | undefined>;
1098
+ searchFields: ISearchFields;
1060
1099
  onSelected(id: number | null): void;
1061
1100
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupComponent, never>;
1062
1101
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
@@ -1103,7 +1142,7 @@ declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail
1103
1142
  declare class OrganizationComponent {
1104
1143
  itemService: OrganizationService;
1105
1144
  columns: TableColumn[];
1106
- filters: IFilters | null;
1145
+ searchFields: ISearchFields;
1107
1146
  detailView: _angular_core.Signal<OrganizationDetailComponent | undefined>;
1108
1147
  onSelected(id: number | null): void;
1109
1148
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
@@ -1124,5 +1163,5 @@ declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IO
1124
1163
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationEditComponent, "lib-organization-edit", never, {}, {}, never, never, true, never>;
1125
1164
  }
1126
1165
 
1127
- export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, ApiError, AvatarComponent, BackButtonComponent, DetailHeaderComponent, DetailView, DynamicFormBuilderComponent, DynamicFormComponent, DynamicFormForm, EditView, ErrorCode, FORM_FIELD_CHOICES, FeedbackComponent, FieldType, FileRecord, FileUploadComponent, FormFieldDetailComponent, FormFieldEditComponent, FormFieldValueForm, FormService, Group, GroupComponent, GroupDetailComponent, GroupEditComponent, 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, UserCreateComponent, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey, getFileFieldIds };
1128
- export type { IAddressBase, IAddressCreate, IAddressDetail, IAddressForm, IAddressList, ICountry, IDynamicFormForm, IFieldFile, IFileField, IFileRecord, IFilter, IFilterRow, IFilters, IForm, IFormCreate, IFormDetail, IFormFieldBase, IFormFieldCreate, IFormFieldDetail, IFormFieldValueBase, IFormFieldValueCreate, IFormFieldValueDetail, IFormFieldValueForm, IFormFieldValueUpdate, IFormGroupBase, IFormGroupCreate, IFormGroupDetail, IFormGroupUpdate, IFormUpdate, IGroupBase, IGroupCreate, IGroupDetail, IGroupList, IItemQuery, IMemberIdentifierBase, IMemberIdentifierCreate, IMemberIdentifierDetail, IMemberInvitation, IOrganizationBase, IOrganizationCreate, IOrganizationDetail, IOrganizationList, IPaginated, IPermission, IPopulatedFormCreate, IPopulatedFormDetail, IPopulatedFormForm, IPopulatedFormUpdate, IPortalMemberBase, IPortalMemberCreate, IPortalMemberDetail, IPortalMemberList, IPreferences, IRestOptions, IServerManifest, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavGrouping, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };
1166
+ export { Address, AddressDetailComponent, AddressEditComponent, AddressForm, ApiError, AvatarComponent, BackButtonComponent, DetailHeaderComponent, DetailView, DynamicFormBuilderComponent, DynamicFormComponent, DynamicFormForm, EditView, ErrorCode, FORM_FIELD_CHOICES, FeedbackComponent, FieldType, FileRecord, FileUploadComponent, FormFieldDetailComponent, FormFieldEditComponent, FormFieldValueForm, FormService, Group, GroupComponent, GroupDetailComponent, GroupEditComponent, 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, SearchFields, SelectTableComponent, SelectionManager, TopBarComponent, UserComponent, UserCreateComponent, UserCreateForm, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey, getFileFieldIds, getFilter };
1167
+ export type { IAddressBase, IAddressCreate, IAddressDetail, IAddressForm, IAddressList, ICountry, IDynamicFormForm, IFieldFile, IFileField, IFileRecord, IFilter, IFilterChoice, IFilterRow, IFilters, IForm, IFormCreate, IFormDetail, IFormFieldBase, IFormFieldCreate, IFormFieldDetail, IFormFieldValueBase, IFormFieldValueCreate, IFormFieldValueDetail, IFormFieldValueForm, IFormFieldValueUpdate, IFormGroupBase, IFormGroupCreate, IFormGroupDetail, IFormGroupUpdate, IFormUpdate, IGroupBase, IGroupCreate, IGroupDetail, IGroupList, IItemQuery, IMemberIdentifierBase, IMemberIdentifierCreate, IMemberIdentifierDetail, IMemberInvitation, IOrganizationBase, IOrganizationCreate, IOrganizationDetail, IOrganizationList, IPaginated, IPermission, IPopulatedFormCreate, IPopulatedFormDetail, IPopulatedFormForm, IPopulatedFormUpdate, IPortalMemberBase, IPortalMemberCreate, IPortalMemberDetail, IPortalMemberList, IPreferences, IQuery, IRestOptions, ISearchFields, IServerManifest, ISortField, IUserCreateForm, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavGrouping, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };