kwikid-forms 0.3.21 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/bundles/kwikid-forms.umd.js +7199 -7736
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.component.js +403 -0
  4. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.definitions.js +6 -0
  5. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.helper.js +29 -0
  6. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.module.js +39 -0
  7. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.constants.js +189 -0
  8. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.service.js +43 -0
  9. package/esm2015/lib/builder/builder-form-list/builder-forms-list.component.js +99 -0
  10. package/esm2015/lib/builder/builder-form-list/builder-forms-list.module.js +40 -0
  11. package/esm2015/lib/builder/builder.component.js +111 -258
  12. package/esm2015/lib/builder/builder.helper.js +78 -0
  13. package/esm2015/lib/builder/builder.module.js +15 -75
  14. package/esm2015/lib/kwikid-forms.module.js +4 -4
  15. package/esm2015/lib/renderer/config-converter/config-converter.constants.js +74 -0
  16. package/esm2015/lib/renderer/config-converter/config-converter.helper.js +49 -0
  17. package/esm2015/lib/renderer/config-converter/config-converter.js +514 -0
  18. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +5 -1
  19. package/esm2015/lib/renderer/form-view/form-view.component.js +198 -60
  20. package/esm2015/lib/renderer/form-view/form-view.module.js +7 -6
  21. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +17 -2
  22. package/esm2015/lib/renderer/forms-list/forms-list.component.js +6 -6
  23. package/esm2015/lib/renderer/forms-list/forms-list.module.js +7 -5
  24. package/esm2015/lib/renderer/renderer.component.js +73 -27
  25. package/esm2015/lib/renderer/renderer.definitions.js +6 -0
  26. package/fesm2015/kwikid-forms.js +1820 -4292
  27. package/fesm2015/kwikid-forms.js.map +1 -1
  28. package/lib/builder/builder-form-editor/builder-form-editor.component.d.ts +108 -0
  29. package/lib/builder/builder-form-editor/builder-form-editor.definitions.d.ts +5 -0
  30. package/lib/builder/builder-form-editor/builder-form-editor.helper.d.ts +3 -0
  31. package/lib/builder/builder-form-editor/builder-form-editor.module.d.ts +11 -0
  32. package/lib/builder/builder-form-editor/builder.form-editor.constants.d.ts +696 -0
  33. package/lib/builder/builder-form-editor/builder.form-editor.service.d.ts +7 -0
  34. package/lib/builder/builder-form-list/builder-forms-list.component.d.ts +20 -0
  35. package/lib/builder/builder-form-list/builder-forms-list.module.d.ts +11 -0
  36. package/lib/builder/builder.component.d.ts +15 -34
  37. package/lib/builder/builder.helper.d.ts +1 -0
  38. package/lib/builder/builder.module.d.ts +7 -21
  39. package/lib/kwikid-forms.module.d.ts +1 -1
  40. package/lib/renderer/config-converter/config-converter.constants.d.ts +73 -0
  41. package/lib/renderer/config-converter/config-converter.d.ts +5 -0
  42. package/lib/renderer/config-converter/config-converter.helper.d.ts +7 -0
  43. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +11 -7
  44. package/lib/renderer/form-view/form-view.component.d.ts +20 -7
  45. package/lib/renderer/form-view/form-view.module.d.ts +7 -9
  46. package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +1 -0
  47. package/lib/renderer/forms-list/forms-list.module.d.ts +5 -6
  48. package/lib/renderer/renderer.definitions.d.ts +5 -0
  49. package/package.json +4 -17
  50. package/esm2015/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.js +0 -72
  51. package/esm2015/lib/builder/element-config-editor/editors/basic/date-config.editor.component.js +0 -72
  52. package/esm2015/lib/builder/element-config-editor/editors/basic/dropdown-with-search-config.editor.component.js +0 -302
  53. package/esm2015/lib/builder/element-config-editor/editors/basic/number-config.editor.component.js +0 -72
  54. package/esm2015/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.js +0 -130
  55. package/esm2015/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.js +0 -132
  56. package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +0 -396
  57. package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +0 -132
  58. package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +0 -698
  59. package/esm2015/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.js +0 -130
  60. package/esm2015/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.js +0 -135
  61. package/esm2015/lib/builder/element-config-editor/editors/document-element-config.editor.component.js +0 -610
  62. package/esm2015/lib/builder/element-config-editor/editors/other/html-config.editor.component.js +0 -120
  63. package/esm2015/lib/builder/element-config-editor/editors/other/title-config.editor.component.js +0 -121
  64. package/esm2015/lib/builder/element-config-editor/editors/other-element-config.editor.component.js +0 -214
  65. package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +0 -97
  66. package/esm2015/lib/builder/shared/elements.js +0 -81
  67. package/esm2015/lib/builder/shared/helpers.js +0 -6
  68. package/esm2015/lib/renderer/config-converter.helper.js +0 -552
  69. package/esm2015/lib/renderer/form-view/pipes/safe-html.pipe.js +0 -25
  70. package/esm2015/lib/renderer/form-view/pipes/safe-url.pipe.js +0 -25
  71. package/esm2015/lib/renderer/forms-list/pipes/safe-html.pipe.js +0 -25
  72. package/lib/builder/element-config-editor/editors/basic/checkbox-config.editor.component.d.ts +0 -16
  73. package/lib/builder/element-config-editor/editors/basic/date-config.editor.component.d.ts +0 -16
  74. package/lib/builder/element-config-editor/editors/basic/dropdown-with-search-config.editor.component.d.ts +0 -24
  75. package/lib/builder/element-config-editor/editors/basic/number-config.editor.component.d.ts +0 -16
  76. package/lib/builder/element-config-editor/editors/basic/otp-config.editor.component.d.ts +0 -16
  77. package/lib/builder/element-config-editor/editors/basic/phone-config.editor.component.d.ts +0 -16
  78. package/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.d.ts +0 -25
  79. package/lib/builder/element-config-editor/editors/basic/text-config.editor.component.d.ts +0 -16
  80. package/lib/builder/element-config-editor/editors/basic-element-config.editor.component.d.ts +0 -20
  81. package/lib/builder/element-config-editor/editors/document/aadhaar-number-config.editor.component.d.ts +0 -16
  82. package/lib/builder/element-config-editor/editors/document/pan-number-config.editor.component.d.ts +0 -16
  83. package/lib/builder/element-config-editor/editors/document-element-config.editor.component.d.ts +0 -20
  84. package/lib/builder/element-config-editor/editors/other/html-config.editor.component.d.ts +0 -16
  85. package/lib/builder/element-config-editor/editors/other/title-config.editor.component.d.ts +0 -16
  86. package/lib/builder/element-config-editor/editors/other-element-config.editor.component.d.ts +0 -20
  87. package/lib/builder/element-config-editor/element-config-editor.component.d.ts +0 -20
  88. package/lib/builder/shared/elements.d.ts +0 -34
  89. package/lib/builder/shared/helpers.d.ts +0 -1
  90. package/lib/renderer/config-converter.helper.d.ts +0 -9
  91. package/lib/renderer/form-view/pipes/safe-html.pipe.d.ts +0 -15
  92. package/lib/renderer/form-view/pipes/safe-url.pipe.d.ts +0 -15
  93. package/lib/renderer/forms-list/pipes/safe-html.pipe.d.ts +0 -15
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./builder-forms-list.component";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "kwikui";
6
+ import * as i5 from "@taiga-ui/core";
7
+ export declare class KwikIDBuilderFormsListModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDBuilderFormsListModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDBuilderFormsListModule, [typeof i1.KwikIDBuilderFormsListComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.KwikUIPipeModule, typeof i4.KwikUIModule, typeof i5.TuiSvgModule], [typeof i1.KwikIDBuilderFormsListComponent]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<KwikIDBuilderFormsListModule>;
11
+ }
@@ -1,41 +1,22 @@
1
- import { CdkDrag } from "@angular/cdk/drag-drop";
2
1
  import { OnInit } from "@angular/core";
3
- import { FormGroup } from "@angular/forms";
4
2
  import * as i0 from "@angular/core";
5
3
  export declare class KwikIDFormsBuilderComponent implements OnInit {
6
- formKey: string;
7
- formTitle: string;
8
- builderFormGroup: FormGroup;
9
- basicElements: Array<any>;
10
- documentElements: Array<any>;
11
- otherElements: Array<any>;
12
- templateElements: Array<any>;
13
- elementsMapping: any;
14
- formElementsDragList: Array<any>;
15
- formElementsDropList: Array<any>;
16
- elementEditorElementConfig: any;
17
- finalJSONConfig: any;
18
- JSON: JSON;
4
+ userConfig: any;
5
+ formsList: any[];
6
+ activeFormConfig: any;
7
+ loader: boolean;
19
8
  constructor();
20
9
  ngOnInit(): void;
21
- handleOnChange(event: {
22
- target: {
23
- value: any;
24
- };
25
- }, id: string | number, key: string | number, idx: any): void;
26
- handleGetKeyValue(e: any): void;
27
- drop(event: any, elementCategory: string): void;
28
- exit(event: any, elementCategory: string): void;
29
- enter(event: any, elementCategory: string): void;
30
- /** Predicate function that only allows isElement: true items to be dropped into a list. */
31
- isElementPredicate(item: CdkDrag<any>): any;
32
- removeElement(idx: number, id: string): void;
33
- editElement(idx: number, item: any): void;
34
- handleOnSaveUpdateElement(event: any): void;
35
- handleOnClickSaveForms(event: any): void;
36
- copyToClipboard(): void;
37
- downloadJSON(): void;
38
- closeJSONPopup(): void;
10
+ fetchFormConfig(url: string): Promise<any>;
11
+ /**
12
+ * Forms List Listeners
13
+ */
14
+ handleGetFormsList(e: any): void;
15
+ handleOnClickSetActiveForm(selectedFormKey: string): Promise<void>;
16
+ /**
17
+ * Form Editor Listeners
18
+ */
19
+ handleOnClickSaveActiveFormConfig(activeFormConfig: any): void;
39
20
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsBuilderComponent, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsBuilderComponent, "kwikid-forms-builder", never, {}, {}, never, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsBuilderComponent, "kwikid-forms-builder", never, { "userConfig": "userConfig"; }, {}, never, never>;
41
22
  }
@@ -0,0 +1 @@
1
+ export declare function convertFormListConfig(formsList: any[]): any[];
@@ -1,27 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./builder.component";
3
- import * as i2 from "./element-config-editor/element-config-editor.component";
4
- import * as i3 from "./element-config-editor/editors/basic-element-config.editor.component";
5
- import * as i4 from "./element-config-editor/editors/basic/text-config.editor.component";
6
- import * as i5 from "./element-config-editor/editors/basic/radio-config.editor.component";
7
- import * as i6 from "./element-config-editor/editors/basic/dropdown-with-search-config.editor.component";
8
- import * as i7 from "./element-config-editor/editors/basic/number-config.editor.component";
9
- import * as i8 from "./element-config-editor/editors/basic/checkbox-config.editor.component";
10
- import * as i9 from "./element-config-editor/editors/basic/date-config.editor.component";
11
- import * as i10 from "./element-config-editor/editors/basic/otp-config.editor.component";
12
- import * as i11 from "./element-config-editor/editors/basic/phone-config.editor.component";
13
- import * as i12 from "./element-config-editor/editors/document-element-config.editor.component";
14
- import * as i13 from "./element-config-editor/editors/document/aadhaar-number-config.editor.component";
15
- import * as i14 from "./element-config-editor/editors/document/pan-number-config.editor.component";
16
- import * as i15 from "./element-config-editor/editors/other-element-config.editor.component";
17
- import * as i16 from "./element-config-editor/editors/other/html-config.editor.component";
18
- import * as i17 from "./element-config-editor/editors/other/title-config.editor.component";
19
- import * as i18 from "@angular/common";
20
- import * as i19 from "@angular/forms";
21
- import * as i20 from "@angular/cdk/drag-drop";
22
- import * as i21 from "kwikui";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "@angular/cdk/drag-drop";
6
+ import * as i5 from "./builder-form-list/builder-forms-list.module";
7
+ import * as i6 from "./builder-form-editor/builder-form-editor.module";
8
+ import * as i7 from "kwikui";
23
9
  export declare class KwikIDFormBuilderModule {
24
10
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormBuilderModule, never>;
25
- static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormBuilderModule, [typeof i1.KwikIDFormsBuilderComponent, typeof i2.ElementConfigEditor, typeof i3.BasicElementConfigEditor, typeof i4.BasicTextConfigEditor, typeof i5.BasicRadioConfigEditor, typeof i6.BasicDropdownWithSearchConfigEditor, typeof i7.BasicNumberConfigEditor, typeof i8.BasicCheckboxConfigEditor, typeof i9.BasicDateConfigEditor, typeof i10.BasicOtpConfigEditor, typeof i11.BasicPhoneConfigEditor, typeof i12.DocumentElementConfigEditor, typeof i13.DocumentAadhaarNumberConfigEditor, typeof i14.DocumentPanNumberConfigEditor, typeof i15.OtherElementConfigEditor, typeof i16.OtherHTMLConfigEditor, typeof i17.OtherTitleConfigEditor], [typeof i18.CommonModule, typeof i19.FormsModule, typeof i19.ReactiveFormsModule, typeof i20.DragDropModule, typeof i21.KwikUIButtonIconModule, typeof i21.KwikUIButtonModule, typeof i21.KwikUIInputModule, typeof i21.KwikUIInputNumberModule, typeof i21.KwikUISelectComboboxModule, typeof i21.KwikUITableModule, typeof i21.KwikUITextareaModule], [typeof i1.KwikIDFormsBuilderComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormBuilderModule, [typeof i1.KwikIDFormsBuilderComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.DragDropModule, typeof i5.KwikIDBuilderFormsListModule, typeof i6.KwikIDBuilderFormEditorModule, typeof i7.KwikUIModule], [typeof i1.KwikIDFormsBuilderComponent]>;
26
12
  static ɵinj: i0.ɵɵInjectorDeclaration<KwikIDFormBuilderModule>;
27
13
  }
@@ -5,6 +5,6 @@ import * as i3 from "./builder/builder.module";
5
5
  import * as i4 from "./renderer/renderer.module";
6
6
  export declare class KwikIDFormsModule {
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormsModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.KwikIDFormBuilderModule, typeof i4.KwikIDFormRendererModule], [typeof i3.KwikIDFormBuilderModule, typeof i4.KwikIDFormRendererModule]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormsModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.KwikIDFormBuilderModule, typeof i4.KwikIDFormRendererModule], [typeof i4.KwikIDFormRendererModule, typeof i3.KwikIDFormBuilderModule]>;
9
9
  static ɵinj: i0.ɵɵInjectorDeclaration<KwikIDFormsModule>;
10
10
  }
@@ -0,0 +1,73 @@
1
+ export declare const FIELD_PROPERTIES: {
2
+ text: {
3
+ case: string;
4
+ };
5
+ number: {
6
+ decimal: string;
7
+ min: number;
8
+ max: number;
9
+ placeholder: string;
10
+ prefix: string;
11
+ postfix: string;
12
+ precision: number;
13
+ };
14
+ phone: {
15
+ countryCode: string;
16
+ phoneMaskAfterCountryCode: string;
17
+ removeCountryCodeFromValue: boolean;
18
+ placeholder: string;
19
+ };
20
+ image: {
21
+ altText: string;
22
+ html: {};
23
+ before: string;
24
+ after: string;
25
+ imageType: string;
26
+ loadingType: string;
27
+ styles: string;
28
+ class: string;
29
+ };
30
+ date: {
31
+ minCalculatedFromToday: {
32
+ year: number;
33
+ month: number;
34
+ day: number;
35
+ };
36
+ maxCalculatedFromToday: {
37
+ year: number;
38
+ month: number;
39
+ day: number;
40
+ };
41
+ placeholder: string;
42
+ };
43
+ radio: {
44
+ size: string;
45
+ orientation: string;
46
+ };
47
+ slider: {
48
+ min: number;
49
+ max: number;
50
+ steps: number;
51
+ quantum: number;
52
+ size: string;
53
+ };
54
+ api: {
55
+ shape: any;
56
+ size: string;
57
+ };
58
+ otp: {
59
+ size: string;
60
+ mode: string;
61
+ otpLength: number;
62
+ placeholder: string;
63
+ };
64
+ file: {
65
+ multiple: boolean;
66
+ accept: string;
67
+ label: string;
68
+ uploadFileToServer: boolean;
69
+ link: string;
70
+ size: string;
71
+ maxFileSize: number;
72
+ };
73
+ };
@@ -0,0 +1,5 @@
1
+ export declare class Converter {
2
+ updateFormConfigMiscellaneous(formConfig: any, args: any): any;
3
+ updateFormConfigProperties(formConfig: any): any;
4
+ convertFormConfig(formConfig: any): any;
5
+ }
@@ -0,0 +1,7 @@
1
+ export declare const getFormFields: (formConfig: any) => any[];
2
+ export declare const setMissingFieldKeyValue: (field: any, key: string, value: any) => any;
3
+ export declare const setFieldKeyValue: (field: any, key: string, value: any) => any;
4
+ export declare const setFieldKeyHidden: (field: any) => any;
5
+ export declare const setFieldAsFormElement: (field: any, value: boolean) => any;
6
+ export declare const getMinDate: (field: any) => any;
7
+ export declare const getMaxDate: (field: any) => any;
@@ -11,17 +11,21 @@ export declare enum EFieldType {
11
11
  CHECKBOX = "checkbox",
12
12
  NUMBER = "number",
13
13
  DATE = "date",
14
+ IMAGE = "image",
14
15
  PREVIEW_IMAGE = "preview-image",
15
16
  PHONE = "phone",
16
17
  RADIO = "radio",
18
+ SELECT = "select",
17
19
  DROPDOWN_WITH_SEARCH = "dropdown-with-search",
18
20
  API_CALL = "api-call",
21
+ API = "api",
19
22
  OTP = "otp",
20
23
  AADHAAR_NUMBER = "aadhaar-number",
21
- SLIDER = "slider"
24
+ SLIDER = "slider",
25
+ FILE = "file"
22
26
  }
23
- export declare type TFieldType = EFieldType.HTML | EFieldType.TITLE | EFieldType.TEXT | EFieldType.TEXTAREA | EFieldType.CHECKBOX | EFieldType.NUMBER | EFieldType.DATE | EFieldType.PREVIEW_IMAGE | EFieldType.PHONE | EFieldType.RADIO | EFieldType.DROPDOWN_WITH_SEARCH | EFieldType.API_CALL | EFieldType.OTP | EFieldType.AADHAAR_NUMBER | EFieldType.SLIDER;
24
- export declare type TFieldDropdownWithSearchOption = {
27
+ export declare type TFieldType = EFieldType.HTML | EFieldType.TITLE | EFieldType.TEXT | EFieldType.TEXTAREA | EFieldType.CHECKBOX | EFieldType.NUMBER | EFieldType.DATE | EFieldType.PREVIEW_IMAGE | EFieldType.PHONE | EFieldType.RADIO | EFieldType.DROPDOWN_WITH_SEARCH | EFieldType.API_CALL | EFieldType.OTP | EFieldType.AADHAAR_NUMBER | EFieldType.SLIDER | EFieldType.FILE;
28
+ export declare type TFieldSelectOption = {
25
29
  title: string;
26
30
  value: string;
27
31
  };
@@ -112,7 +116,7 @@ export declare type TFieldRadioProperties = TFieldProperties & {
112
116
  orientation: string;
113
117
  readOnly: string;
114
118
  };
115
- export declare type TFieldDropdownWithSearchProperties = TFieldProperties & {
119
+ export declare type TFieldSelectProperties = TFieldProperties & {
116
120
  placeholder: string;
117
121
  readOnly: boolean;
118
122
  };
@@ -172,9 +176,9 @@ export declare type TFieldRadio = TField & {
172
176
  options: Array<TFieldRadioOption>;
173
177
  properties: TFieldRadioProperties;
174
178
  };
175
- export declare type TFieldDropdownWithSearch = TField & {
176
- options: Array<TFieldDropdownWithSearchOption>;
177
- properties: TFieldDropdownWithSearchProperties;
179
+ export declare type TFieldSelect = TField & {
180
+ options: Array<TFieldSelectOption>;
181
+ properties: TFieldSelectProperties;
178
182
  };
179
183
  export declare type TFieldApiCall = TField & {
180
184
  api: TApi;
@@ -4,6 +4,7 @@ import { TuiPreviewDialogService } from "@taiga-ui/addon-preview";
4
4
  import { TuiAlertService, TuiDialogContext, TuiDialogService } from "@taiga-ui/core";
5
5
  import { TuiPushService } from "@taiga-ui/kit";
6
6
  import { TAction } from "kwikid-toolkit";
7
+ import { TApi } from "./definitions/form-view.apis.definition";
7
8
  import { TFormViewGoBackMode, TMessage } from "./definitions/form-view.commons.definition";
8
9
  import { TFieldApiCall, TFieldTitle } from "./definitions/form-view.fields.definition";
9
10
  import { KwikIDFormViewService } from "./form-view.service";
@@ -22,6 +23,7 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
22
23
  isMobileView: boolean;
23
24
  allFormsData: any;
24
25
  userConfig: any;
26
+ apiCallResponse: any;
25
27
  popupFormCallback: any;
26
28
  onClickGoBack: EventEmitter<any>;
27
29
  onClickViewForms: EventEmitter<any>;
@@ -47,6 +49,7 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
47
49
  disabled: boolean;
48
50
  showLoader: boolean;
49
51
  };
52
+ files: any;
50
53
  stopTaskExecution: boolean;
51
54
  waitingForChanges: boolean;
52
55
  popupFormConfig: any;
@@ -68,16 +71,27 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
68
71
  handleConnectedElementFieldActions(connectedFieldConfig: any, connectedField: any): Promise<any>;
69
72
  handleConnectedElementFields(currentField: any, connectedFieldConfig: any, eventType: string, nested: string): Promise<any>;
70
73
  handleConnectedElements(e: any, eventType: string): Promise<void>;
74
+ handleRemovedFile(e: any): void;
75
+ handleGetKeyValueFile(e: any): Promise<void>;
76
+ /**
77
+ * This method is used to update the files array with the new file and it's state and response from the api of uploading the file.
78
+ */
79
+ updateFiles(file: any, state: string, key: string): void;
80
+ /**
81
+ * This is a api upload mocking method. Set's to loading at first at point when API is called and then changes the status to random status after 2 seconds of delay showing a mocked response from API.
82
+ */
83
+ uploadFile(key: string, file: any): Promise<void>;
71
84
  handleGetKeyValue(e: any): void;
72
85
  handleOnClickResetFormFields(e: any, field: TFieldTitle): Promise<void>;
73
86
  handleFieldApiCall(field: TFieldApiCall, api: any): Promise<{
74
87
  field: TFieldApiCall;
75
88
  api: any;
76
89
  }>;
77
- handleTaskApiCall(api: any): Promise<{
90
+ handleApiCall(api: any): Promise<{
78
91
  api: any;
79
92
  }>;
80
- handleApiCall(api: any, object: any): Promise<any>;
93
+ executeApiCall(api: any, object: any): Promise<any>;
94
+ validateHeadersAndBody(api: any): Promise<boolean>;
81
95
  showApiLoader(): void;
82
96
  hideApiLoader(): void;
83
97
  handleOnClickApiCall(e: any): Promise<void>;
@@ -109,6 +123,8 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
109
123
  setValue(action: TAction, object: any): Promise<void>;
110
124
  setFieldDefaultValue(action: TAction, object: any): Promise<void>;
111
125
  setDropdownOptions(action: TAction, object: any): Promise<void>;
126
+ apiCall(action: TAction, object: any): Promise<TApi>;
127
+ fieldApiCall(action: TAction, object: any): Promise<void>;
112
128
  fieldMultipleApiCalls(action: TAction, object: any): Promise<void>;
113
129
  fieldMultipleApiCallsEnd(action: TAction, object: any): Promise<void>;
114
130
  taskApiCall(action: TAction, object: any): Promise<void>;
@@ -118,6 +134,7 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
118
134
  dialogShow(options: any): void;
119
135
  dialogHide(): void;
120
136
  patchFieldControlValue(key: string, value: any): void;
137
+ setFieldControlValue(key: string, value: any): void;
121
138
  patchFormGroup(formData: any): void;
122
139
  isFieldValid(fieldKey: string): boolean;
123
140
  isFieldEnabled(fieldKey: string): boolean;
@@ -127,10 +144,6 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
127
144
  showPopupForm(popupFormKey: string, popupType?: "DIALOG" | "POPUP"): void;
128
145
  takeActionOnFieldGroup(action: TAction, object: any): Promise<void>;
129
146
  takeAction(action: TAction, object: any): Promise<void>;
130
- /**
131
- * Miscellaneous Methods for Debugging
132
- */
133
- logVariables(message: string, ...obj: any): void;
134
147
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormViewComponent, never>;
135
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormViewComponent, "kwikid-form-view", never, { "formConfig": "formConfig"; "formData": "formData"; "isMobileView": "isMobileView"; "allFormsData": "allFormsData"; "userConfig": "userConfig"; "popupFormCallback": "popupFormCallback"; }, { "onClickGoBack": "onClickGoBack"; "onClickViewForms": "onClickViewForms"; "onClickSaveForm": "onClickSaveForm"; "onClickApiCall": "onClickApiCall"; "onActionShowPopupForm": "onActionShowPopupForm"; }, never, never>;
148
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormViewComponent, "kwikid-form-view", never, { "formConfig": "formConfig"; "formData": "formData"; "isMobileView": "isMobileView"; "allFormsData": "allFormsData"; "userConfig": "userConfig"; "apiCallResponse": "apiCallResponse"; "popupFormCallback": "popupFormCallback"; }, { "onClickGoBack": "onClickGoBack"; "onClickViewForms": "onClickViewForms"; "onClickSaveForm": "onClickSaveForm"; "onClickApiCall": "onClickApiCall"; "onActionShowPopupForm": "onActionShowPopupForm"; }, never, never>;
136
149
  }
@@ -1,15 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./form-view.component";
3
- import * as i2 from "./pipes/safe-html.pipe";
4
- import * as i3 from "./pipes/safe-url.pipe";
5
- import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "@taiga-ui/core";
8
- import * as i7 from "@taiga-ui/kit";
9
- import * as i8 from "@taiga-ui/addon-preview";
10
- import * as i9 from "kwikui";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "@taiga-ui/core";
6
+ import * as i5 from "@taiga-ui/kit";
7
+ import * as i6 from "@taiga-ui/addon-preview";
8
+ import * as i7 from "kwikui";
11
9
  export declare class KwikIDFormViewModule {
12
10
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormViewModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormViewModule, [typeof i1.KwikIDFormViewComponent, typeof i2.SafeHtmlPipe, typeof i3.SafeUrlPipe], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.TuiLabelModule, typeof i7.TuiPushModule, typeof i6.TuiSvgModule, typeof i8.TuiPreviewModule, typeof i6.TuiButtonModule, typeof i8.TuiPreviewActionModule, typeof i6.TuiDialogModule, typeof i9.KwikUIModule], [typeof i1.KwikIDFormViewComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormViewModule, [typeof i1.KwikIDFormViewComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.TuiLabelModule, typeof i5.TuiPushModule, typeof i4.TuiSvgModule, typeof i6.TuiPreviewModule, typeof i4.TuiButtonModule, typeof i6.TuiPreviewActionModule, typeof i4.TuiDialogModule, typeof i7.KwikUIPipeModule, typeof i7.KwikUIModule], [typeof i1.KwikIDFormViewComponent]>;
14
12
  static ɵinj: i0.ɵɵInjectorDeclaration<KwikIDFormViewModule>;
15
13
  }
@@ -7,6 +7,7 @@ export declare const appendFormFieldMessage: (field: any, message: {
7
7
  type: string;
8
8
  message: string;
9
9
  }) => any;
10
+ export declare const filterDuplicatesFiles: (array: any[]) => any[];
10
11
  export declare const removeFormFieldMessage: (field: any, message: {
11
12
  type: string;
12
13
  message: string;
@@ -1,12 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./forms-list.component";
3
- import * as i2 from "./pipes/safe-html.pipe";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@angular/forms";
6
- import * as i5 from "kwikui";
7
- import * as i6 from "@taiga-ui/core";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "kwikui";
6
+ import * as i5 from "@taiga-ui/core";
8
7
  export declare class KwikIDFormsListModule {
9
8
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsListModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormsListModule, [typeof i1.KwikIDFormsListComponent, typeof i2.SafeHtmlPipe], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.KwikUIModule, typeof i6.TuiSvgModule], [typeof i1.KwikIDFormsListComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormsListModule, [typeof i1.KwikIDFormsListComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.KwikUIPipeModule, typeof i4.KwikUIModule, typeof i5.TuiSvgModule], [typeof i1.KwikIDFormsListComponent]>;
11
10
  static ɵinj: i0.ɵɵInjectorDeclaration<KwikIDFormsListModule>;
12
11
  }
@@ -0,0 +1,5 @@
1
+ export declare enum EFormType {
2
+ FORM = "FORM",
3
+ HTML = "HTML"
4
+ }
5
+ export declare type TActionKey = EFormType.FORM | EFormType.HTML;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kwikid-forms",
3
- "version": "0.3.21",
3
+ "version": "0.5.1",
4
4
  "description": "Kwik.ID's JSON based Forms Builder and Renderer.",
5
5
  "author": {
6
6
  "name": "Baiju Dodhia"
@@ -16,25 +16,12 @@
16
16
  ],
17
17
  "peerDependencies": {
18
18
  "@angular/common": ">=6.0.0",
19
- "@angular/core": ">=6.0.0",
20
- "@taiga-ui/addon-charts": "^3.6.0",
21
- "@taiga-ui/addon-commerce": "^3.6.0",
22
- "@taiga-ui/addon-doc": "^3.6.0",
23
- "@taiga-ui/addon-editor": "^3.6.0",
24
- "@taiga-ui/addon-mobile": "^3.6.0",
25
- "@taiga-ui/addon-preview": "^3.6.0",
26
- "@taiga-ui/addon-table": "^3.6.0",
27
- "@taiga-ui/addon-tablebars": "^3.6.0",
28
- "@taiga-ui/cdk": "^3.6.0",
29
- "@taiga-ui/core": "^3.6.0",
30
- "@taiga-ui/icons": "^3.6.0",
31
- "@taiga-ui/kit": "^3.6.0",
32
- "@taiga-ui/styles": "^3.6.0"
19
+ "@angular/core": ">=6.0.0"
33
20
  },
34
21
  "dependencies": {
35
22
  "jsonpath": "^1.1.1",
36
- "kwikid-toolkit": "^0.1.1",
37
- "kwikui": "^0.2.28",
23
+ "kwikid-toolkit": "^0.1.3",
24
+ "kwikui": "^0.2.38",
38
25
  "lodash": "^4.17.21",
39
26
  "tslib": "^2.2.0"
40
27
  },
@@ -1,72 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output } from "@angular/core";
3
- import { FormGroup } from "@angular/forms";
4
- import { logMethod } from "kwikid-toolkit";
5
- import * as i0 from "@angular/core";
6
- export class BasicCheckboxConfigEditor {
7
- constructor() {
8
- this.saveBasicClickCounter = 0;
9
- this.elementConfig = {};
10
- this.updateElement = new EventEmitter();
11
- this.basicCheckboxFormGroup = undefined;
12
- }
13
- ngOnInit() {
14
- this.createBasicCheckboxFormGroup();
15
- }
16
- ngOnChanges(changes) {
17
- var _a;
18
- const verifyChange = (key) => {
19
- return changes.hasOwnProperty(key) && !changes[key].firstChange;
20
- };
21
- if (verifyChange("elementConfig")) {
22
- this.elementConfig = changes.elementConfig.currentValue;
23
- (_a = this.basicCheckboxFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
24
- }
25
- if (verifyChange("saveBasicClickCounter")) {
26
- if (changes.saveBasicClickCounter.previousValue !==
27
- changes.saveBasicClickCounter.currentValue) {
28
- this.saveBasicClickCounter = changes.saveBasicClickCounter.currentValue;
29
- this.handleOnSave();
30
- }
31
- }
32
- }
33
- createBasicCheckboxFormGroup() {
34
- this.basicCheckboxFormGroup = new FormGroup({});
35
- this.basicCheckboxFormGroup.updateValueAndValidity();
36
- }
37
- handleOnSave() {
38
- let basicElementConfig = this.basicCheckboxFormGroup.getRawValue();
39
- this.updateElement.emit({
40
- basicElementConfig: basicElementConfig
41
- });
42
- }
43
- }
44
- /** @nocollapse */ BasicCheckboxConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BasicCheckboxConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- /** @nocollapse */ BasicCheckboxConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BasicCheckboxConfigEditor, selector: "basic-checkbox-config-editor", inputs: { saveBasicClickCounter: "saveBasicClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, styles: [""] });
46
- __decorate([
47
- logMethod
48
- ], BasicCheckboxConfigEditor.prototype, "ngOnInit", null);
49
- __decorate([
50
- logMethod
51
- ], BasicCheckboxConfigEditor.prototype, "ngOnChanges", null);
52
- __decorate([
53
- logMethod
54
- ], BasicCheckboxConfigEditor.prototype, "createBasicCheckboxFormGroup", null);
55
- __decorate([
56
- logMethod
57
- ], BasicCheckboxConfigEditor.prototype, "handleOnSave", null);
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BasicCheckboxConfigEditor, decorators: [{
59
- type: Component,
60
- args: [{
61
- selector: "basic-checkbox-config-editor",
62
- template: ``,
63
- styles: [``]
64
- }]
65
- }], ctorParameters: function () { return []; }, propDecorators: { saveBasicClickCounter: [{
66
- type: Input
67
- }], elementConfig: [{
68
- type: Input
69
- }], updateElement: [{
70
- type: Output
71
- }], ngOnInit: [], ngOnChanges: [], createBasicCheckboxFormGroup: [], handleOnSave: [] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtY29uZmlnLmVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2VsZW1lbnQtY29uZmlnLWVkaXRvci9lZGl0b3JzL2Jhc2ljL2NoZWNrYm94LWNvbmZpZy5lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzNDLE1BQU0sT0FBTyx5QkFBeUI7SUFZcEM7UUFWQSwwQkFBcUIsR0FBVyxDQUFDLENBQUM7UUFHbEMsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFHeEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLDJCQUFzQixHQUFjLFNBQVMsQ0FBQztJQUUvQixDQUFDO0lBR2hCLFFBQVE7UUFDTixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBR0QsV0FBVyxDQUFDLE9BQXNCOztRQUNoQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ25DLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEUsQ0FBQyxDQUFDO1FBRUYsSUFBSSxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztZQUN4RCxNQUFBLElBQUksQ0FBQyxzQkFBc0IsMENBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksWUFBWSxDQUFDLHVCQUF1QixDQUFDLEVBQUU7WUFDekMsSUFDRSxPQUFPLENBQUMscUJBQXFCLENBQUMsYUFBYTtnQkFDM0MsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFDMUM7Z0JBQ0EsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUM7Z0JBRXhFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQztJQUdELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixrQkFBa0IsRUFBRSxrQkFBa0I7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MElBdERVLHlCQUF5Qjs4SEFBekIseUJBQXlCLGtPQUgxQixFQUFFO0FBa0JaO0lBREMsU0FBUzt5REFHVDtBQUdEO0lBREMsU0FBUzs0REFvQlQ7QUFHRDtJQURDLFNBQVM7NkVBSVQ7QUFHRDtJQURDLFNBQVM7NkRBT1Q7NEZBdERVLHlCQUF5QjtrQkFMckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ2I7MEVBR0MscUJBQXFCO3NCQURwQixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBUVAsUUFBUSxNQUtSLFdBQVcsTUFzQlgsNEJBQTRCLE1BTTVCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBsb2dNZXRob2QgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImJhc2ljLWNoZWNrYm94LWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgQmFzaWNDaGVja2JveENvbmZpZ0VkaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHNhdmVCYXNpY0NsaWNrQ291bnRlcjogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBlbGVtZW50Q29uZmlnOiBhbnkgPSB7fTtcblxuICBAT3V0cHV0KClcbiAgdXBkYXRlRWxlbWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGJhc2ljQ2hlY2tib3hGb3JtR3JvdXA6IEZvcm1Hcm91cCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgQGxvZ01ldGhvZFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZUJhc2ljQ2hlY2tib3hGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuYmFzaWNDaGVja2JveEZvcm1Hcm91cD8ucmVzZXQodGhpcy5lbGVtZW50Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKHZlcmlmeUNoYW5nZShcInNhdmVCYXNpY0NsaWNrQ291bnRlclwiKSkge1xuICAgICAgaWYgKFxuICAgICAgICBjaGFuZ2VzLnNhdmVCYXNpY0NsaWNrQ291bnRlci5wcmV2aW91c1ZhbHVlICE9PVxuICAgICAgICBjaGFuZ2VzLnNhdmVCYXNpY0NsaWNrQ291bnRlci5jdXJyZW50VmFsdWVcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNhdmVCYXNpY0NsaWNrQ291bnRlciA9IGNoYW5nZXMuc2F2ZUJhc2ljQ2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgICB0aGlzLmhhbmRsZU9uU2F2ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgY3JlYXRlQmFzaWNDaGVja2JveEZvcm1Hcm91cCgpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2ljQ2hlY2tib3hGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICB0aGlzLmJhc2ljQ2hlY2tib3hGb3JtR3JvdXAudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBoYW5kbGVPblNhdmUoKSB7XG4gICAgbGV0IGJhc2ljRWxlbWVudENvbmZpZyA9IHRoaXMuYmFzaWNDaGVja2JveEZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuXG4gICAgdGhpcy51cGRhdGVFbGVtZW50LmVtaXQoe1xuICAgICAgYmFzaWNFbGVtZW50Q29uZmlnOiBiYXNpY0VsZW1lbnRDb25maWdcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,72 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, EventEmitter, Input, Output } from "@angular/core";
3
- import { FormGroup } from "@angular/forms";
4
- import { logMethod } from "kwikid-toolkit";
5
- import * as i0 from "@angular/core";
6
- export class BasicDateConfigEditor {
7
- constructor() {
8
- this.saveBasicClickCounter = 0;
9
- this.elementConfig = {};
10
- this.updateElement = new EventEmitter();
11
- this.basicDateFormGroup = undefined;
12
- }
13
- ngOnInit() {
14
- this.createBasicDateFormGroup();
15
- }
16
- ngOnChanges(changes) {
17
- var _a;
18
- const verifyChange = (key) => {
19
- return changes.hasOwnProperty(key) && !changes[key].firstChange;
20
- };
21
- if (verifyChange("elementConfig")) {
22
- this.elementConfig = changes.elementConfig.currentValue;
23
- (_a = this.basicDateFormGroup) === null || _a === void 0 ? void 0 : _a.reset(this.elementConfig);
24
- }
25
- if (verifyChange("saveBasicClickCounter")) {
26
- if (changes.saveBasicClickCounter.previousValue !==
27
- changes.saveBasicClickCounter.currentValue) {
28
- this.saveBasicClickCounter = changes.saveBasicClickCounter.currentValue;
29
- this.handleOnSave();
30
- }
31
- }
32
- }
33
- createBasicDateFormGroup() {
34
- this.basicDateFormGroup = new FormGroup({});
35
- this.basicDateFormGroup.updateValueAndValidity();
36
- }
37
- handleOnSave() {
38
- let basicElementConfig = this.basicDateFormGroup.getRawValue();
39
- this.updateElement.emit({
40
- basicElementConfig: basicElementConfig
41
- });
42
- }
43
- }
44
- /** @nocollapse */ BasicDateConfigEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BasicDateConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- /** @nocollapse */ BasicDateConfigEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BasicDateConfigEditor, selector: "basic-date-config-editor", inputs: { saveBasicClickCounter: "saveBasicClickCounter", elementConfig: "elementConfig" }, outputs: { updateElement: "updateElement" }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, styles: [""] });
46
- __decorate([
47
- logMethod
48
- ], BasicDateConfigEditor.prototype, "ngOnInit", null);
49
- __decorate([
50
- logMethod
51
- ], BasicDateConfigEditor.prototype, "ngOnChanges", null);
52
- __decorate([
53
- logMethod
54
- ], BasicDateConfigEditor.prototype, "createBasicDateFormGroup", null);
55
- __decorate([
56
- logMethod
57
- ], BasicDateConfigEditor.prototype, "handleOnSave", null);
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BasicDateConfigEditor, decorators: [{
59
- type: Component,
60
- args: [{
61
- selector: "basic-date-config-editor",
62
- template: ``,
63
- styles: [``]
64
- }]
65
- }], ctorParameters: function () { return []; }, propDecorators: { saveBasicClickCounter: [{
66
- type: Input
67
- }], elementConfig: [{
68
- type: Input
69
- }], updateElement: [{
70
- type: Output
71
- }], ngOnInit: [], ngOnChanges: [], createBasicDateFormGroup: [], handleOnSave: [] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb25maWcuZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL2J1aWxkZXIvZWxlbWVudC1jb25maWctZWRpdG9yL2VkaXRvcnMvYmFzaWMvZGF0ZS1jb25maWcuZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU8zQyxNQUFNLE9BQU8scUJBQXFCO0lBWWhDO1FBVkEsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBR2xDLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBR3hCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4Qyx1QkFBa0IsR0FBYyxTQUFTLENBQUM7SUFFM0IsQ0FBQztJQUdoQixRQUFRO1FBQ04sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUdELFdBQVcsQ0FBQyxPQUFzQjs7UUFDaEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUVGLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDeEQsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFO1lBQ3pDLElBQ0UsT0FBTyxDQUFDLHFCQUFxQixDQUFDLGFBQWE7Z0JBQzNDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQzFDO2dCQUNBLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDO2dCQUV4RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUM7SUFHRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFHRCxZQUFZO1FBQ1YsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFL0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsa0JBQWtCLEVBQUUsa0JBQWtCO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7O3NJQXREVSxxQkFBcUI7MEhBQXJCLHFCQUFxQiw4TkFIdEIsRUFBRTtBQWtCWjtJQURDLFNBQVM7cURBR1Q7QUFHRDtJQURDLFNBQVM7d0RBb0JUO0FBR0Q7SUFEQyxTQUFTO3FFQUlUO0FBR0Q7SUFEQyxTQUFTO3lEQU9UOzRGQXREVSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzBFQUdDLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNO2dCQVFQLFFBQVEsTUFLUixXQUFXLE1Bc0JYLHdCQUF3QixNQU14QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJiYXNpYy1kYXRlLWNvbmZpZy1lZGl0b3JcIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgQmFzaWNEYXRlQ29uZmlnRWRpdG9yIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgc2F2ZUJhc2ljQ2xpY2tDb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIGVsZW1lbnRDb25maWc6IGFueSA9IHt9O1xuXG4gIEBPdXRwdXQoKVxuICB1cGRhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgYmFzaWNEYXRlRm9ybUdyb3VwOiBGb3JtR3JvdXAgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVCYXNpY0RhdGVGb3JtR3JvdXAoKTtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHZlcmlmeUNoYW5nZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlO1xuICAgIH07XG5cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwiZWxlbWVudENvbmZpZ1wiKSkge1xuICAgICAgdGhpcy5lbGVtZW50Q29uZmlnID0gY2hhbmdlcy5lbGVtZW50Q29uZmlnLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuYmFzaWNEYXRlRm9ybUdyb3VwPy5yZXNldCh0aGlzLmVsZW1lbnRDb25maWcpO1xuICAgIH1cbiAgICBpZiAodmVyaWZ5Q2hhbmdlKFwic2F2ZUJhc2ljQ2xpY2tDb3VudGVyXCIpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXMuc2F2ZUJhc2ljQ2xpY2tDb3VudGVyLnByZXZpb3VzVmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXMuc2F2ZUJhc2ljQ2xpY2tDb3VudGVyLmN1cnJlbnRWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2F2ZUJhc2ljQ2xpY2tDb3VudGVyID0gY2hhbmdlcy5zYXZlQmFzaWNDbGlja0NvdW50ZXIuY3VycmVudFZhbHVlO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlT25TYXZlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBjcmVhdGVCYXNpY0RhdGVGb3JtR3JvdXAoKTogdm9pZCB7XG4gICAgdGhpcy5iYXNpY0RhdGVGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICB0aGlzLmJhc2ljRGF0ZUZvcm1Hcm91cC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGhhbmRsZU9uU2F2ZSgpIHtcbiAgICBsZXQgYmFzaWNFbGVtZW50Q29uZmlnID0gdGhpcy5iYXNpY0RhdGVGb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcblxuICAgIHRoaXMudXBkYXRlRWxlbWVudC5lbWl0KHtcbiAgICAgIGJhc2ljRWxlbWVudENvbmZpZzogYmFzaWNFbGVtZW50Q29uZmlnXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==