ichec-angular-core 0.3.10 → 0.3.12

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.10",
3
+ "version": "0.3.12",
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 {
@@ -1034,6 +1066,7 @@ declare class UserCreateComponent {
1034
1066
  declare class UserComponent {
1035
1067
  itemService: UserService;
1036
1068
  detailView: _angular_core.Signal<UserDetailComponent | undefined>;
1069
+ searchFields: ISearchFields;
1037
1070
  onSelected(id: number | null): void;
1038
1071
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserComponent, never>;
1039
1072
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<UserComponent, "lib-user", never, {}, {}, never, never, true, never>;
@@ -1062,6 +1095,7 @@ declare class GroupEditComponent extends EditView<IGroupDetail, IGroupList, IGro
1062
1095
  declare class GroupComponent {
1063
1096
  itemService: GroupService;
1064
1097
  detailView: _angular_core.Signal<GroupDetailComponent | undefined>;
1098
+ searchFields: ISearchFields;
1065
1099
  onSelected(id: number | null): void;
1066
1100
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GroupComponent, never>;
1067
1101
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GroupComponent, "lib-group", never, {}, {}, never, never, true, never>;
@@ -1106,13 +1140,14 @@ declare class OrganizationDetailComponent extends DetailView<IOrganizationDetail
1106
1140
  }
1107
1141
 
1108
1142
  declare class OrganizationComponent {
1143
+ embedded: _angular_core.InputSignal<boolean>;
1109
1144
  itemService: OrganizationService;
1110
1145
  columns: TableColumn[];
1111
- filters: IFilters | null;
1146
+ searchFields: _angular_core.InputSignal<ISearchFields>;
1112
1147
  detailView: _angular_core.Signal<OrganizationDetailComponent | undefined>;
1113
1148
  onSelected(id: number | null): void;
1114
1149
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrganizationComponent, never>;
1115
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "lib-organization", never, {}, {}, never, never, true, never>;
1150
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationComponent, "lib-organization", never, { "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "searchFields": { "alias": "searchFields"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1116
1151
  }
1117
1152
 
1118
1153
  declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IOrganizationList, IOrganizationCreate> implements OnInit {
@@ -1129,5 +1164,5 @@ declare class OrganizationEditComponent extends EditView<IOrganizationDetail, IO
1129
1164
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OrganizationEditComponent, "lib-organization-edit", never, {}, {}, never, never, true, never>;
1130
1165
  }
1131
1166
 
1132
- 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, UserCreateForm, UserDetailComponent, UserEditComponent, UserService, getFieldTypeFromKey, getFileFieldIds };
1133
- 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, IUserCreateForm, Identifiable, LeftNavCategory, LeftNavOption, NavGroup, NavGrouping, NavOption, OptionAction, OptionActionChoice, RestServiceConfig, Selectable, TableColumn, TypeChoice };
1167
+ 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 };
1168
+ 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 };