kwikid-forms 0.1.19 → 0.1.21

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 (32) hide show
  1. package/bundles/kwikid-forms.umd.js +3672 -2968
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder.component.js +236 -104
  4. package/esm2015/lib/builder/builder.module.js +42 -5
  5. package/esm2015/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.js +302 -0
  6. package/esm2015/lib/builder/element-config-editor/editors/basic/text-config.editor.component.js +135 -0
  7. package/esm2015/lib/builder/element-config-editor/editors/basic-element-config.editor.component.js +542 -0
  8. package/esm2015/lib/builder/element-config-editor/element-config-editor.component.js +89 -0
  9. package/esm2015/lib/builder/shared/elements.js +44 -0
  10. package/esm2015/lib/builder/shared/helpers.js +6 -0
  11. package/esm2015/lib/renderer/config-converter.helper.js +661 -0
  12. package/esm2015/lib/renderer/form-view/definitions/form-view.apis.definition.js +1 -1
  13. package/esm2015/lib/renderer/form-view/form-view.component.js +73 -91
  14. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +22 -12
  15. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +4 -1
  16. package/esm2015/lib/renderer/renderer.component.js +74 -24
  17. package/fesm2015/kwikid-forms.js +3379 -2071
  18. package/fesm2015/kwikid-forms.js.map +1 -1
  19. package/lib/builder/builder.component.d.ts +21 -53
  20. package/lib/builder/builder.module.d.ts +9 -4
  21. package/lib/builder/element-config-editor/editors/basic/radio-config.editor.component.d.ts +25 -0
  22. package/lib/builder/element-config-editor/editors/basic/text-config.editor.component.d.ts +16 -0
  23. package/lib/builder/element-config-editor/editors/basic-element-config.editor.component.d.ts +20 -0
  24. package/lib/builder/element-config-editor/element-config-editor.component.d.ts +20 -0
  25. package/lib/builder/shared/elements.d.ts +32 -0
  26. package/lib/builder/shared/helpers.d.ts +1 -0
  27. package/lib/renderer/{renderer.config-converter.helper.d.ts → config-converter.helper.d.ts} +2 -0
  28. package/lib/renderer/form-view/definitions/form-view.apis.definition.d.ts +2 -1
  29. package/lib/renderer/form-view/form-view.component.d.ts +8 -5
  30. package/lib/renderer/renderer.component.d.ts +2 -2
  31. package/package.json +3 -3
  32. package/esm2015/lib/renderer/renderer.config-converter.helper.js +0 -641
@@ -1,68 +1,36 @@
1
+ import { CdkDrag } from "@angular/cdk/drag-drop";
1
2
  import { OnInit } from "@angular/core";
2
3
  import { FormGroup } from "@angular/forms";
3
4
  import * as i0 from "@angular/core";
4
- declare type IMenu = {
5
- title: string;
6
- id?: string;
7
- key?: string;
8
- temp?: string;
9
- component?: any;
10
- props?: any;
11
- };
12
5
  export declare class KwikIDFormsBuilderComponent implements OnInit {
13
- buttonComponent: {
14
- disabled: boolean;
15
- id: string;
16
- label: string;
17
- showLoader: boolean;
18
- styles: string;
19
- class: string;
20
- type: string;
21
- appearance: string;
22
- icon: string;
23
- iconRight: string;
24
- shape: any;
25
- size: string;
26
- };
27
- progressSegmentedComponent: {
28
- colors: string;
29
- max: string;
30
- size: string;
31
- value: string;
32
- };
33
- inputComponent: {
34
- case: string;
35
- disabled: boolean;
36
- focus: boolean;
37
- id: string;
38
- invalid: boolean;
39
- label: string;
40
- placeholder: string;
41
- type: string;
42
- validators: {
43
- required: boolean;
44
- };
45
- };
46
- formGroup: FormGroup;
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;
47
17
  constructor();
48
18
  ngOnInit(): void;
49
- revisedRandId(): string;
50
19
  handleOnChange(event: {
51
20
  target: {
52
21
  value: any;
53
22
  };
54
23
  }, id: string | number, key: string | number, idx: any): void;
55
- toggleShow(id: any): void;
56
- name: string;
57
- menu: Array<IMenu>;
58
- table: Array<IMenu>;
59
- drop(event: any): void;
60
- exited(event: any): void;
61
- entered(): void;
62
- isNumber(val: any): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function";
24
+ handleGetKeyValue(e: any): void;
25
+ drop(event: any, elementCategory: string): void;
26
+ exit(event: any, elementCategory: string): void;
27
+ enter(event: any, elementCategory: string): void;
28
+ /** Predicate function that only allows isElement: true items to be dropped into a list. */
29
+ isElementPredicate(item: CdkDrag<any>): any;
63
30
  removeElement(idx: number, id: string): void;
64
- getJSON(): void;
31
+ editElement(idx: number, item: any): void;
32
+ handleOnSaveUpdateElement(event: any): void;
33
+ handleOnClickSaveForms(event: any): void;
65
34
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsBuilderComponent, never>;
66
35
  static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsBuilderComponent, "kwikid-forms-builder", never, {}, {}, never, never>;
67
36
  }
68
- export {};
@@ -1,10 +1,15 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./builder.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/forms";
5
- import * as i4 from "@angular/cdk/drag-drop";
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 "@angular/common";
8
+ import * as i7 from "@angular/forms";
9
+ import * as i8 from "@angular/cdk/drag-drop";
10
+ import * as i9 from "kwikui";
6
11
  export declare class KwikIDFormBuilderModule {
7
12
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormBuilderModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormBuilderModule, [typeof i1.KwikIDFormsBuilderComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i4.DragDropModule], [typeof i1.KwikIDFormsBuilderComponent]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<KwikIDFormBuilderModule, [typeof i1.KwikIDFormsBuilderComponent, typeof i2.ElementConfigEditor, typeof i3.BasicElementConfigEditor, typeof i4.BasicTextConfigEditor, typeof i5.BasicRadioConfigEditor], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.DragDropModule, typeof i9.KwikUIButtonModule, typeof i9.KwikUIInputModule, typeof i9.KwikUIButtonIconModule], [typeof i1.KwikIDFormsBuilderComponent]>;
9
14
  static ɵinj: i0.ɵɵInjectorDeclaration<KwikIDFormBuilderModule>;
10
15
  }
@@ -0,0 +1,25 @@
1
+ import { EventEmitter, OnInit, SimpleChanges } from "@angular/core";
2
+ import { FormArray, FormGroup } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ export declare class BasicRadioConfigEditor implements OnInit {
5
+ readonly optionType: {
6
+ label: string;
7
+ disabled: boolean;
8
+ description: string;
9
+ };
10
+ saveBasicClickCounter: number;
11
+ elementConfig: any;
12
+ updateElement: EventEmitter<any>;
13
+ basicRadioFormGroup: FormGroup;
14
+ constructor();
15
+ ngOnInit(): void;
16
+ ngOnChanges(changes: SimpleChanges): void;
17
+ createBasicRadioFormGroup(): void;
18
+ handleOnSave(): void;
19
+ get optionsArray(): FormArray;
20
+ createOptionConfigFormGroup(optionConfig: any): FormGroup;
21
+ addOption(): void;
22
+ removeOption(optionIndex: number): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasicRadioConfigEditor, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<BasicRadioConfigEditor, "basic-radio-config-editor", never, { "saveBasicClickCounter": "saveBasicClickCounter"; "elementConfig": "elementConfig"; }, { "updateElement": "updateElement"; }, never, never>;
25
+ }
@@ -0,0 +1,16 @@
1
+ import { EventEmitter, OnInit, SimpleChanges } from "@angular/core";
2
+ import { FormGroup } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ export declare class BasicTextConfigEditor implements OnInit {
5
+ saveBasicClickCounter: number;
6
+ elementConfig: any;
7
+ updateElement: EventEmitter<any>;
8
+ basicTextFormGroup: FormGroup;
9
+ constructor();
10
+ ngOnInit(): void;
11
+ ngOnChanges(changes: SimpleChanges): void;
12
+ createBasicTextFormGroup(): void;
13
+ handleOnSave(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasicTextConfigEditor, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<BasicTextConfigEditor, "basic-text-config-editor", never, { "saveBasicClickCounter": "saveBasicClickCounter"; "elementConfig": "elementConfig"; }, { "updateElement": "updateElement"; }, never, never>;
16
+ }
@@ -0,0 +1,20 @@
1
+ import { EventEmitter, OnInit, SimpleChanges } from "@angular/core";
2
+ import { FormGroup } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ export declare class BasicElementConfigEditor implements OnInit {
5
+ saveClickCounter: number;
6
+ elementConfig: any;
7
+ updateElement: EventEmitter<any>;
8
+ elementType: string;
9
+ saveBasicClickCounter: number;
10
+ basicFormGroup: FormGroup;
11
+ constructor();
12
+ ngOnInit(): void;
13
+ ngOnChanges(changes: SimpleChanges): void;
14
+ assignVariables(): void;
15
+ createBasicFormGroup(): void;
16
+ handleOnSaveUpdateElement(event: any): void;
17
+ handleOnSave(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasicElementConfigEditor, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<BasicElementConfigEditor, "basic-element-config-editor", never, { "saveClickCounter": "saveClickCounter"; "elementConfig": "elementConfig"; }, { "updateElement": "updateElement"; }, never, never>;
20
+ }
@@ -0,0 +1,20 @@
1
+ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core";
2
+ import { FormGroup } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ export declare class ElementConfigEditor implements OnInit, OnChanges {
5
+ formKey: string;
6
+ elementConfig: any;
7
+ updateElement: EventEmitter<any>;
8
+ elementType: string;
9
+ elementCategory: string;
10
+ elementEditorFormGroup: FormGroup;
11
+ saveClickCounter: number;
12
+ constructor();
13
+ ngOnInit(): void;
14
+ ngOnChanges(changes: SimpleChanges): void;
15
+ updateFormGroup(): void;
16
+ handleOnSaveUpdateElement(event: any): void;
17
+ handleOnClickSave(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<ElementConfigEditor, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<ElementConfigEditor, "element-config-editor", never, { "formKey": "formKey"; "elementConfig": "elementConfig"; }, { "updateElement": "updateElement"; }, never, never>;
20
+ }
@@ -0,0 +1,32 @@
1
+ export declare class Elements {
2
+ commonValidators: {
3
+ max: any;
4
+ maxLength: any;
5
+ min: any;
6
+ minLength: any;
7
+ required: boolean;
8
+ };
9
+ commonProperties: {
10
+ placeholder: string;
11
+ readOnly: boolean;
12
+ };
13
+ commonCore: {
14
+ key: string;
15
+ label: string;
16
+ disabled: boolean;
17
+ messages: any[];
18
+ default: {
19
+ value: boolean;
20
+ };
21
+ };
22
+ basic: Array<any>;
23
+ documents: Array<any>;
24
+ others: Array<any>;
25
+ templates: Array<any>;
26
+ elementMapping: {
27
+ basic: string[];
28
+ documents: string[];
29
+ others: any[];
30
+ templates: any[];
31
+ };
32
+ }
@@ -0,0 +1 @@
1
+ export declare function revisedRandId(): string;
@@ -3,5 +3,7 @@ export declare class Converter {
3
3
  setMissingFieldKeyValue: (field: any, key: string, value: any) => any;
4
4
  setFieldKeyValue: (field: any, key: string, value: any) => any;
5
5
  removeFieldKey: (field: any, key: string) => any;
6
+ updateFormConfigMiscellaneous(formConfig: any, args: any): any;
7
+ updateFormConfigProperties(formConfig: any): any;
6
8
  convertFormConfig(formConfig: any): any;
7
9
  }
@@ -26,7 +26,8 @@ export declare type TApiRequestHeaders = {
26
26
  validation: TValidation;
27
27
  };
28
28
  export declare type TApiRequest = {
29
- url: string;
29
+ url: string | any;
30
+ method?: string;
30
31
  headers?: TApiRequestHeaders;
31
32
  body: TApiRequestBody;
32
33
  };
@@ -13,17 +13,14 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
13
13
  private formViewService;
14
14
  formConfig: any;
15
15
  formData: any;
16
- apiCallResponse: any;
17
16
  isMobileView: boolean;
18
17
  allFormsData: any;
19
- formsList: any[];
20
18
  onClickViewForms: EventEmitter<any>;
21
19
  onClickSaveForm: EventEmitter<any>;
22
20
  onClickApiCall: EventEmitter<any>;
23
21
  fieldGroups: any;
24
22
  formFields: any[];
25
23
  previousFormData: any;
26
- formsListLength: number;
27
24
  loading: boolean;
28
25
  viewFormsButton: {
29
26
  disabled: boolean;
@@ -38,7 +35,6 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
38
35
  ngOnInit(): void;
39
36
  ngAfterViewInit(): void;
40
37
  ngOnChanges(changes: SimpleChanges): void;
41
- findFormsListLength(formsList: any[]): number;
42
38
  initFormConfig(formConfig: any): Promise<void>;
43
39
  setFormFieldsFromFormConfig(formConfig: any): void;
44
40
  setFormFieldGroupsFromFormConfig(formConfig: any): void;
@@ -51,6 +47,13 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
51
47
  handleGetKeyValue(e: any): void;
52
48
  handleOnClickResetFormFields(e: any, field: TFieldTitle): Promise<void>;
53
49
  handleOnClickApiCall(e: any): Promise<void>;
50
+ /**
51
+ * Method to optimize the DOM update by Angular for using *ngFor on large no. of items.
52
+ * @param index number
53
+ * @param item fieldConfig
54
+ * @returns string
55
+ */
56
+ getUniqueIdentifier(index: number, item: any): string;
54
57
  handleOnClickViewForms(e: any): void;
55
58
  handleOnClickSaveForm(e: any): Promise<void>;
56
59
  showErrorNotification: boolean;
@@ -77,5 +80,5 @@ export declare class KwikIDFormViewComponent implements OnInit, AfterViewInit {
77
80
  takeActionOnFieldGroup(action: TAction, object: any): Promise<void>;
78
81
  takeAction(action: TAction, object: any): Promise<void>;
79
82
  static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormViewComponent, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormViewComponent, "kwikid-form-view", never, { "formConfig": "formConfig"; "formData": "formData"; "apiCallResponse": "apiCallResponse"; "isMobileView": "isMobileView"; "allFormsData": "allFormsData"; "formsList": "formsList"; }, { "onClickViewForms": "onClickViewForms"; "onClickSaveForm": "onClickSaveForm"; "onClickApiCall": "onClickApiCall"; }, never, never>;
83
+ static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormViewComponent, "kwikid-form-view", never, { "formConfig": "formConfig"; "formData": "formData"; "isMobileView": "isMobileView"; "allFormsData": "allFormsData"; }, { "onClickViewForms": "onClickViewForms"; "onClickSaveForm": "onClickSaveForm"; "onClickApiCall": "onClickApiCall"; }, never, never>;
81
84
  }
@@ -16,7 +16,6 @@ export declare class KwikIDFormsRendererComponent implements OnInit, OnChanges {
16
16
  showErrorNotification: boolean;
17
17
  toggleErrorNotification(show: any): void;
18
18
  activeFormConfig: any;
19
- activeFormData: any;
20
19
  activeFormFields: any[];
21
20
  allFormsData: any;
22
21
  formsList: any[];
@@ -29,7 +28,7 @@ export declare class KwikIDFormsRendererComponent implements OnInit, OnChanges {
29
28
  ngOnInit(): void;
30
29
  ngOnChanges(changes: SimpleChanges): void;
31
30
  fetchFormConfig(url: string): Promise<any>;
32
- initializeForms(): Promise<void>;
31
+ initializeForms(eventType: string): Promise<void>;
33
32
  convertFormListConfig(formsList: any[]): any[];
34
33
  /**
35
34
  * NOTE: To be deprecated.
@@ -61,6 +60,7 @@ export declare class KwikIDFormsRendererComponent implements OnInit, OnChanges {
61
60
  formHide(formKey: string): void;
62
61
  formShow(formKey: string): void;
63
62
  takeAction(action: any, object: any): Promise<void>;
63
+ findFormsListLength(formsList: any[]): number;
64
64
  /**
65
65
  * Library Event Listeners
66
66
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kwikid-forms",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "Kwik.ID's JSON based Forms Builder and Renderer.",
5
5
  "author": {
6
6
  "name": "Baiju Dodhia"
@@ -33,8 +33,8 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "jsonpath": "^1.1.1",
36
- "kwikid-toolkit": "0.0.13",
37
- "kwikui": "^0.2.7",
36
+ "kwikid-toolkit": "0.0.15",
37
+ "kwikui": "^0.2.12",
38
38
  "lodash": "^4.17.21",
39
39
  "tslib": "^2.2.0"
40
40
  },