fx-form-builder-wrapper 2.0.81 → 2.0.83

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.
Files changed (20) hide show
  1. package/esm2022/lib/components/date-picker/date-picker.component.mjs +3 -3
  2. package/esm2022/lib/components/dropdown-with-other/dropdown-with-other.component.mjs +5 -3
  3. package/esm2022/lib/components/dropdown-with-search/dropdown-with-search.component.mjs +129 -0
  4. package/esm2022/lib/components/fx-form-component/fx-form-component.component.mjs +5 -1
  5. package/esm2022/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +5 -3
  6. package/esm2022/lib/components/multiselect-dropdown-with-childs/multiselect-dropdown-with-childs.component.mjs +9 -3
  7. package/esm2022/lib/components/multiselect-with-form-fields/customize-dropdown.component.mjs +243 -0
  8. package/esm2022/lib/components/multiselect-with-form-fields/multiselect-dropdown.component.mjs +166 -0
  9. package/esm2022/lib/components/radio-group/radio-group.component.mjs +8 -3
  10. package/esm2022/lib/fx-builder-wrapper.component.mjs +9 -1
  11. package/fesm2022/fx-form-builder-wrapper.mjs +149 -10
  12. package/fesm2022/fx-form-builder-wrapper.mjs.map +1 -1
  13. package/lib/components/dropdown-with-other/dropdown-with-other.component.d.ts +1 -0
  14. package/lib/components/dropdown-with-search/dropdown-with-search.component.d.ts +29 -0
  15. package/lib/components/multiselect-dropdown/multiselect-dropdown.component.d.ts +1 -0
  16. package/lib/components/multiselect-dropdown-with-childs/multiselect-dropdown-with-childs.component.d.ts +3 -0
  17. package/lib/components/multiselect-with-form-fields/customize-dropdown.component.d.ts +59 -0
  18. package/lib/components/multiselect-with-form-fields/multiselect-dropdown.component.d.ts +51 -0
  19. package/lib/components/radio-group/radio-group.component.d.ts +2 -0
  20. package/package.json +1 -1
@@ -16,6 +16,7 @@ export declare class DropdownWithOtherComponent extends FxBaseComponent implemen
16
16
  dropdownMap: Map<string, any>;
17
17
  fxComponent: FxComponent;
18
18
  options: any[];
19
+ isRequired: boolean;
19
20
  dropDownForm: FormGroup;
20
21
  constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry);
21
22
  ngAfterViewInit(): void;
@@ -0,0 +1,29 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';
3
+ import { FormGroup } from '@angular/forms';
4
+ import { FxComponent, FxSetting, FxValidation, FxBaseComponent } from '@instantsys-labs/fx';
5
+ import { FxBuilderWrapperService } from '../../fx-builder-wrapper.service';
6
+ import { ApiServiceRegistry } from '@instantsys-labs/core';
7
+ import * as i0 from "@angular/core";
8
+ export declare class DropdownWithSearchComponent extends FxBaseComponent implements OnInit, AfterViewInit {
9
+ private cdr;
10
+ private http;
11
+ private fxBuilderWrapperService;
12
+ private fxApiService;
13
+ private fb;
14
+ private destroy$;
15
+ formObject: object;
16
+ searchDropdownMap: Map<string, any>;
17
+ fxComponent: FxComponent;
18
+ options: any[];
19
+ isRequired: boolean;
20
+ searchDropDownForm: FormGroup;
21
+ constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry);
22
+ ngAfterViewInit(): void;
23
+ ngOnInit(): void;
24
+ protected settings(): FxSetting[];
25
+ protected validations(): FxValidation[];
26
+ getOptions(serviceUrl: string, url: string): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownWithSearchComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownWithSearchComponent, "lib-dropdown-with-search", never, {}, {}, never, never, true, never>;
29
+ }
@@ -16,6 +16,7 @@ export declare class MultiselectDropdownComponent extends FxBaseComponent implem
16
16
  multiselectDropdownMap: Map<string, any>;
17
17
  fxComponent: FxComponent;
18
18
  options: any[];
19
+ isRequired: boolean;
19
20
  multiselectDropDownForm: FormGroup;
20
21
  constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry);
21
22
  ngAfterViewInit(): void;
@@ -16,6 +16,9 @@ export declare class MultiselectDropdownWithChildsComponent extends FxBaseCompon
16
16
  multiChildDropdownMap: Map<string, any>;
17
17
  fxComponent: FxComponent;
18
18
  options: any[];
19
+ isRequired: boolean;
20
+ isChild1Required: boolean;
21
+ isChild2Required: boolean;
19
22
  multiChildDropDownForm: FormGroup;
20
23
  constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry);
21
24
  ngAfterViewInit(): void;
@@ -0,0 +1,59 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
3
+ import { FormBuilder, FormGroup } from '@angular/forms';
4
+ import { ApiServiceRegistry } from '@instantsys-labs/core';
5
+ import { FxBaseComponent, FxSetting, FxValidation } from '@instantsys-labs/fx';
6
+ import { FxBuilderWrapperService } from '../../fx-builder-wrapper.service';
7
+ import * as i0 from "@angular/core";
8
+ interface SubOption {
9
+ label: string;
10
+ value: string;
11
+ }
12
+ interface CustomDropdownOption {
13
+ label: string;
14
+ value: string;
15
+ info?: string;
16
+ selected: boolean;
17
+ subOptions?: SubOption[];
18
+ subSelection?: string | null;
19
+ disabled?: boolean;
20
+ touched?: boolean;
21
+ }
22
+ interface CustomDropdownConfig {
23
+ displayMode?: 'compact' | 'ellipsis';
24
+ placeholderLabel?: string;
25
+ }
26
+ export declare class CustomizeDropdownComponent extends FxBaseComponent implements OnInit, AfterViewInit {
27
+ private cdr;
28
+ private http;
29
+ private fxBuilderWrapperService;
30
+ private fxApiService;
31
+ private fb;
32
+ private eRef;
33
+ private destroy$;
34
+ form: FormGroup;
35
+ formObject: object;
36
+ dropdownOpen: boolean;
37
+ formSubmitted: boolean;
38
+ findingsOptions: CustomDropdownOption[];
39
+ config: CustomDropdownConfig;
40
+ constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry, fb: FormBuilder, eRef: ElementRef);
41
+ ngAfterViewInit(): void;
42
+ updateFindingsArray(): void;
43
+ ngOnInit(): void;
44
+ getOptions(serviceUrl: string, url: string): void;
45
+ protected settings(): FxSetting[];
46
+ protected validations(): FxValidation[];
47
+ /** Dropdown Behavior **/
48
+ toggleDropdown(): void;
49
+ toggleOption(option: CustomDropdownOption, event: Event): void;
50
+ /** Form & Label Helpers **/
51
+ get hasSelectedFindings(): boolean;
52
+ get selectedFindingsLabel(): string;
53
+ /** Update Findings + Validation **/
54
+ updateFindings(): void;
55
+ patchExistingValues(data: any[]): void;
56
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomizeDropdownComponent, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomizeDropdownComponent, "lib-customize-dropdown", never, {}, {}, never, never, true, never>;
58
+ }
59
+ export {};
@@ -0,0 +1,51 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
3
+ import { FormBuilder, FormGroup } from '@angular/forms';
4
+ import { ApiServiceRegistry } from '@instantsys-labs/core';
5
+ import { FxBaseComponent, FxSetting, FxValidation } from '@instantsys-labs/fx';
6
+ import { FxBuilderWrapperService } from '../../fx-builder-wrapper.service';
7
+ import * as i0 from "@angular/core";
8
+ interface MultiSelectOption {
9
+ label: string;
10
+ value: string;
11
+ selected: boolean;
12
+ }
13
+ export declare class MultiselectDropdownComponentForm extends FxBaseComponent implements OnInit {
14
+ private cdr;
15
+ private http;
16
+ private fxBuilderWrapperService;
17
+ private fxApiService;
18
+ private fb;
19
+ private eRef;
20
+ form: FormGroup;
21
+ dropdownOpen: boolean;
22
+ searchTerm: string;
23
+ placeholder: string;
24
+ private destroy$;
25
+ formObject: object;
26
+ options: MultiSelectOption[];
27
+ constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry, fb: FormBuilder, eRef: ElementRef);
28
+ /** Close dropdown when clicking outside */
29
+ onClickOutside(event: MouseEvent): void;
30
+ ngOnInit(): void;
31
+ getOptions(serviceUrl: string, url: string): void;
32
+ toggleDropdown(): void;
33
+ /** Filter options based on search term */
34
+ get filteredOptions(): MultiSelectOption[];
35
+ toggleOption(option: MultiSelectOption, event: Event): void;
36
+ /** Update reactive form with selected items */
37
+ updateSelectedValues(): void;
38
+ /** Placeholder / Display logic */
39
+ get selectedLabel(): string;
40
+ onSubmit(): void;
41
+ get getDropdownSearch(): string;
42
+ /**
43
+ * Apply or remove the array-required validator depending on the FX setting.
44
+ */
45
+ applyValidation(): void;
46
+ protected settings(): FxSetting[];
47
+ protected validations(): FxValidation[];
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<MultiselectDropdownComponentForm, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<MultiselectDropdownComponentForm, "multiselect-dropdown-form", never, {}, {}, never, never, true, never>;
50
+ }
51
+ export {};
@@ -24,6 +24,8 @@ export declare class RadioGroupComponent extends FxBaseComponent implements OnIn
24
24
  fxComponent: FxComponent;
25
25
  radoioMap: Map<string, any>;
26
26
  compareValue: any;
27
+ isRequired: boolean;
28
+ isChildRequired: boolean;
27
29
  constructor(cdr: ChangeDetectorRef, http: HttpClient, fxBuilderWrapperService: FxBuilderWrapperService, fxApiService: ApiServiceRegistry);
28
30
  ngAfterViewInit(): void;
29
31
  ngOnInit(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fx-form-builder-wrapper",
3
- "version": "2.0.81",
3
+ "version": "2.0.83",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0",