@daracl/form 0.0.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 (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +146 -0
  3. package/dist/DaraForm.d.ts +129 -0
  4. package/dist/FieldInfoMap.d.ts +97 -0
  5. package/dist/FormTemplate.d.ts +60 -0
  6. package/dist/constants.d.ts +35 -0
  7. package/dist/daracl.form.js +7629 -0
  8. package/dist/daracl.form.js.map +1 -0
  9. package/dist/daracl.form.min.css +6 -0
  10. package/dist/daracl.form.min.css.map +1 -0
  11. package/dist/daracl.form.min.js +7 -0
  12. package/dist/daracl.form.min.js.LICENSE.txt +5 -0
  13. package/dist/daracl.form.min.js.map +1 -0
  14. package/dist/event/renderEvents.d.ts +6 -0
  15. package/dist/index.cjs +4540 -0
  16. package/dist/index.cjs.map +7 -0
  17. package/dist/index.css +1074 -0
  18. package/dist/index.css.map +7 -0
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.html +591 -0
  21. package/dist/index.js +4852 -0
  22. package/dist/index.js.map +7 -0
  23. package/dist/renderer/ButtonRender.d.ts +14 -0
  24. package/dist/renderer/CheckboxRender.d.ts +18 -0
  25. package/dist/renderer/CustomRender.d.ts +19 -0
  26. package/dist/renderer/DateRender.d.ts +15 -0
  27. package/dist/renderer/DropdownRender.d.ts +17 -0
  28. package/dist/renderer/FileRender.d.ts +38 -0
  29. package/dist/renderer/GridRender.d.ts +35 -0
  30. package/dist/renderer/GroupRender.d.ts +16 -0
  31. package/dist/renderer/HiddenRender.d.ts +13 -0
  32. package/dist/renderer/NumberRender.d.ts +14 -0
  33. package/dist/renderer/PasswordRender.d.ts +14 -0
  34. package/dist/renderer/RadioRender.d.ts +18 -0
  35. package/dist/renderer/RangeRender.d.ts +15 -0
  36. package/dist/renderer/Render.d.ts +43 -0
  37. package/dist/renderer/TabRender.d.ts +34 -0
  38. package/dist/renderer/TextAreaRender.d.ts +14 -0
  39. package/dist/renderer/TextRender.d.ts +14 -0
  40. package/dist/rule/fileValidator.d.ts +11 -0
  41. package/dist/rule/numberValidator.d.ts +10 -0
  42. package/dist/rule/regexpValidator.d.ts +11 -0
  43. package/dist/rule/stringValidator.d.ts +10 -0
  44. package/dist/rule/validator.d.ts +11 -0
  45. package/dist/types/DataMap.d.ts +17 -0
  46. package/dist/types/FormField.d.ts +129 -0
  47. package/dist/types/FormOptions.d.ts +91 -0
  48. package/dist/types/Message.d.ts +40 -0
  49. package/dist/types/ValidResult.d.ts +9 -0
  50. package/dist/util/Lanauage.d.ts +38 -0
  51. package/dist/util/renderFactory.d.ts +3 -0
  52. package/dist/util/styleUtils.d.ts +14 -0
  53. package/dist/util/utils.d.ts +62 -0
  54. package/dist/util/validUtils.d.ts +9 -0
  55. package/package.json +137 -0
  56. package/src/index.ts +7 -0
  57. package/style/daracl.form.scss +690 -0
@@ -0,0 +1,14 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class ButtonRender extends Render {
5
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
6
+ mounted(): void;
7
+ static isDataRender(): boolean;
8
+ createField(): void;
9
+ getValue(): string;
10
+ setValue(value: any): void;
11
+ reset(): void;
12
+ getElement(): null;
13
+ valid(): any;
14
+ }
@@ -0,0 +1,18 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class CheckboxRender extends Render {
5
+ private defaultCheckValue;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ initEvent(): void;
9
+ getSelector(): string;
10
+ createField(): void;
11
+ setValueItems(items: any): void;
12
+ getValue(): string | boolean | any[];
13
+ setValue(value: any, changeCheckFlag?: boolean): void;
14
+ reset(): void;
15
+ getElement(): any;
16
+ focus(): void;
17
+ valid(): any;
18
+ }
@@ -0,0 +1,19 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class CustomRender extends Render {
5
+ private customFunction;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ static isDataRender(): boolean;
9
+ createField(): void;
10
+ getValue(): any;
11
+ setValue(value: any, changeCheckFlag?: boolean): void;
12
+ reset(): void;
13
+ getElement(): any;
14
+ valid(): any;
15
+ /**
16
+ * focus
17
+ */
18
+ focus(): void;
19
+ }
@@ -0,0 +1,15 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class DateRender extends Render {
5
+ private element;
6
+ private dateObj;
7
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
8
+ mounted(): void;
9
+ createField(): void;
10
+ getValue(): string;
11
+ setValue(value: any, changeCheckFlag?: boolean): void;
12
+ reset(): void;
13
+ getElement(): HTMLInputElement;
14
+ valid(): any;
15
+ }
@@ -0,0 +1,17 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class DropdownRender extends Render {
5
+ private element;
6
+ private defaultSelected;
7
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
8
+ mounted(): void;
9
+ createField(): void;
10
+ setValueItems(items: any): void;
11
+ getValue(): string;
12
+ setValue(value: any, changeCheckFlag?: boolean): void;
13
+ reset(): void;
14
+ getElement(): HTMLElement;
15
+ valid(): any;
16
+ dropdownValuesTemplate(field: FormField): string;
17
+ }
@@ -0,0 +1,38 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class FileRender extends Render {
5
+ private element;
6
+ private removeIds;
7
+ private uploadFiles;
8
+ private fileList;
9
+ private fileSeq;
10
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
11
+ mounted(): void;
12
+ createField(): void;
13
+ addFiles(files: any[]): void;
14
+ private setFileList;
15
+ /**
16
+ * 파일 다운로드 이벤트 처리.
17
+ *
18
+ * @param item
19
+ * @param fileListElement
20
+ */
21
+ private downloadFileEvent;
22
+ /**
23
+ * 파일 삭제 처리.
24
+ *
25
+ * @param item
26
+ * @param fileListElement
27
+ */
28
+ private removeFileEvent;
29
+ getValue(): {
30
+ uploadFile: unknown[];
31
+ removeIds: any[];
32
+ };
33
+ setValueItems(value: any): void;
34
+ setValue(value: any): void;
35
+ reset(): void;
36
+ getElement(): HTMLInputElement;
37
+ valid(): any;
38
+ }
@@ -0,0 +1,35 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class GridRender extends Render {
5
+ private customFunction;
6
+ private gridForm;
7
+ private allAddRowInfo;
8
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
9
+ mounted(): void;
10
+ static isDataRender(): boolean;
11
+ static isChildrenCreate(): boolean;
12
+ createField(): void;
13
+ /**
14
+ * add row
15
+ */
16
+ addRow(valueItem?: any): void;
17
+ /**
18
+ * remove row
19
+ *
20
+ * @param evt event
21
+ */
22
+ removeRow(evt: Event): void;
23
+ /**
24
+ *
25
+ * @param rowIdx row index
26
+ */
27
+ removeFieldInfo(rowIdx?: string): void;
28
+ allRemoveRow(): void;
29
+ getValue(): any;
30
+ setValue(value: any): void;
31
+ reset(): void;
32
+ getElement(): any;
33
+ valid(): any;
34
+ focus(): void;
35
+ }
@@ -0,0 +1,16 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class GroupRender extends Render {
5
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
6
+ mounted(): void;
7
+ static isDataRender(): boolean;
8
+ createField(): string;
9
+ getValue(): null;
10
+ setValue(value: any): void;
11
+ reset(): void;
12
+ getElement(): HTMLElement;
13
+ valid(): any;
14
+ addChildField(element: Element): void;
15
+ focus(): void;
16
+ }
@@ -0,0 +1,13 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class HiddenRender extends Render {
5
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
6
+ mounted(): void;
7
+ createField(): string;
8
+ getValue(): string;
9
+ setValue(value: any): void;
10
+ reset(): void;
11
+ getElement(): void;
12
+ valid(): any;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class NumberRender extends Render {
5
+ private element;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ createField(): void;
9
+ getValue(): string;
10
+ setValue(value: any, changeCheckFlag?: boolean): void;
11
+ reset(): void;
12
+ getElement(): HTMLElement;
13
+ valid(): any;
14
+ }
@@ -0,0 +1,14 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class PasswordRender extends Render {
5
+ private element;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ createField(): void;
9
+ getValue(): string;
10
+ setValue(value: any, changeCheckFlag?: boolean): void;
11
+ reset(): void;
12
+ getElement(): HTMLElement;
13
+ valid(): any;
14
+ }
@@ -0,0 +1,18 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class RadioRender extends Render {
5
+ private defaultCheckValue;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ initEvent(): void;
9
+ getSelector(): string;
10
+ createField(): void;
11
+ setValueItems(items: any): void;
12
+ getValue(): string;
13
+ setValue(value: any, changeCheckFlag?: boolean): void;
14
+ reset(): void;
15
+ getElement(): any;
16
+ focus(): void;
17
+ valid(): any;
18
+ }
@@ -0,0 +1,15 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class RangeRender extends Render {
5
+ private element;
6
+ private rangeNumElement;
7
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
8
+ mounted(): void;
9
+ createField(): void;
10
+ getValue(): string;
11
+ setValue(value: any, changeCheckFlag?: boolean): void;
12
+ reset(): void;
13
+ getElement(): HTMLElement;
14
+ valid(): any;
15
+ }
@@ -0,0 +1,43 @@
1
+ import { FormField } from "@t/FormField";
2
+ import { ValidResult } from "@t/ValidResult";
3
+ import DaraForm from "src/DaraForm";
4
+ export default abstract class Render {
5
+ protected daraForm: DaraForm;
6
+ protected rowElement: HTMLElement;
7
+ protected field: FormField;
8
+ private enableView;
9
+ constructor(form: DaraForm, field: FormField, rowElement: HTMLElement);
10
+ setDefaultInfo(): void;
11
+ setDefaultOption(): void;
12
+ addChildField(element: Element): void;
13
+ static isDataRender(): boolean;
14
+ static isChildrenCreate(): boolean;
15
+ getForm(): DaraForm;
16
+ abstract mounted(): void;
17
+ abstract getValue(): any;
18
+ abstract setValue(value: any, changeCheckFlag?: boolean): void;
19
+ abstract reset(): void;
20
+ abstract getElement(): any;
21
+ abstract valid(): ValidResult | boolean;
22
+ abstract createField(): void;
23
+ setValueItems(value: any): void;
24
+ static getDescriptionTemplate(field: FormField): string;
25
+ changeEventCall(field: FormField, e: Event | null, rederInfo: Render, fieldValue: any): boolean | undefined;
26
+ focus(): void;
27
+ isEnableView(): boolean;
28
+ show(): void;
29
+ hide(): void;
30
+ /**
31
+ * 설명 추가
32
+ *
33
+ * @public
34
+ * @param {string} desc
35
+ */
36
+ setDescription(desc: string): void;
37
+ setActive(id: string): void;
38
+ setDisabled(flag: boolean): void;
39
+ commonValidator(): void;
40
+ static valuesValueKey(field: FormField): string;
41
+ static valuesLabelKey(field: FormField): string;
42
+ static valuesLabelValue(label: string, val: any): any;
43
+ }
@@ -0,0 +1,34 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class TabRender extends Render {
5
+ private customFunction;
6
+ private tabContainerElement;
7
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
8
+ mounted(): void;
9
+ /**
10
+ * tab item click
11
+ *
12
+ * @param {Element} tabItem
13
+ * @param {*} evt
14
+ */
15
+ private clickEventHandler;
16
+ setActive(tabId: string): void;
17
+ static isDataRender(): boolean;
18
+ static isChildrenCreate(): boolean;
19
+ /**
20
+ * tab template
21
+ *
22
+ * @param {FormField} field
23
+ * @param {FormTemplate} formTemplate
24
+ * @param {FormOptions} options
25
+ * @returns {string} template string
26
+ */
27
+ createField(): void;
28
+ getValue(): any;
29
+ setValue(value: any): void;
30
+ reset(): void;
31
+ getElement(): Element;
32
+ valid(): any;
33
+ focus(): void;
34
+ }
@@ -0,0 +1,14 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class TextAreaRender extends Render {
5
+ private element;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ createField(): void;
9
+ getValue(): string;
10
+ setValue(value: any, changeCheckFlag?: boolean): void;
11
+ reset(): void;
12
+ getElement(): HTMLElement;
13
+ valid(): any;
14
+ }
@@ -0,0 +1,14 @@
1
+ import { FormField } from "@t/FormField";
2
+ import Render from "./Render";
3
+ import DaraForm from "src/DaraForm";
4
+ export default class TextRender extends Render {
5
+ private element;
6
+ constructor(field: FormField, rowElement: HTMLElement, daraForm: DaraForm);
7
+ mounted(): void;
8
+ createField(): void;
9
+ getValue(): string;
10
+ setValue(value: any, changeCheckFlag?: boolean): void;
11
+ reset(): void;
12
+ getElement(): HTMLInputElement;
13
+ valid(): any;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { FileInfo, FormField } from "@t/FormField";
2
+ import { ValidResult } from "@t/ValidResult";
3
+ /**
4
+ * file validator
5
+ *
6
+ * @param {HTMLInputElement} element
7
+ * @param {FormField} field
8
+ * @param {FileInfo[]} fileList
9
+ * @returns {(ValidResult | boolean)}
10
+ */
11
+ export declare const fileValidator: (element: HTMLInputElement, field: FormField, fileList: FileInfo[]) => ValidResult | boolean;
@@ -0,0 +1,10 @@
1
+ import { FormField } from "@t/FormField";
2
+ import { ValidResult } from "@t/ValidResult";
3
+ /**
4
+ * 숫자 유효성 체크
5
+ *
6
+ * @param {string} value
7
+ * @param {FormField} field
8
+ * @returns {(ValidResult | boolean)}
9
+ */
10
+ export declare const numberValidator: (value: string, field: FormField) => ValidResult | boolean;
@@ -0,0 +1,11 @@
1
+ import { FormField } from "@t/FormField";
2
+ import { ValidResult } from "@t/ValidResult";
3
+ /**
4
+ * 정규식 유효성 체크.
5
+ *
6
+ * @param {string} value
7
+ * @param {FormField} field
8
+ * @param {(ValidResult | undefined)} result
9
+ * @returns {ValidResult}
10
+ */
11
+ export declare const regexpValidator: (value: string, field: FormField, result: ValidResult) => ValidResult;
@@ -0,0 +1,10 @@
1
+ import { FormField } from "@t/FormField";
2
+ import { ValidResult } from "@t/ValidResult";
3
+ /**
4
+ * string validator
5
+ *
6
+ * @param {string} value
7
+ * @param {FormField} field
8
+ * @returns {(ValidResult | boolean)}
9
+ */
10
+ export declare const stringValidator: (value: string, field: FormField) => ValidResult | boolean;
@@ -0,0 +1,11 @@
1
+ import { FormField } from "@t/FormField";
2
+ import { ValidResult } from "@t/ValidResult";
3
+ /**
4
+ * validator , regexp 체크 .
5
+ *
6
+ * @param {string} value field value
7
+ * @param {FormField} field field 정보
8
+ * @param {ValidResult} result
9
+ * @returns {(ValidResult | boolean)}
10
+ */
11
+ export declare const validator: (value: string, field: FormField, result: ValidResult) => ValidResult | boolean;
@@ -0,0 +1,17 @@
1
+ /**
2
+ *
3
+ * @interface StringKeyMap
4
+ * @typedef {StringKeyMap}
5
+ */
6
+ export interface StringKeyMap {
7
+ [key: string]: any;
8
+ }
9
+
10
+ /**
11
+ *
12
+ * @interface NumberKeyMap
13
+ * @typedef {NumberKeyMap}
14
+ */
15
+ export interface NumberKeyMap {
16
+ [key: number]: any;
17
+ }
@@ -0,0 +1,129 @@
1
+ import DaraForm from "src/DaraForm";
2
+ import { RENDER_TYPE, REGEXP_TYPE, TEXT_ALIGN_TYPE, FIELD_POSITION, ORIENTATION_TYPE } from "src/constants";
3
+ import Render from "src/renderer/Render";
4
+
5
+ export interface OptionCallback {
6
+ (...params: any[]): any;
7
+ }
8
+
9
+ export interface ValuesInfo {
10
+ labelField: string;
11
+ valueField: string;
12
+ list: any[];
13
+ orientation: ORIENTATION_TYPE;
14
+ }
15
+
16
+ /**
17
+ * 첨부 파일 정보
18
+ *
19
+ * @export
20
+ * @interface FileInfo
21
+ * @typedef {FileInfo}
22
+ */
23
+ export interface FileInfo {
24
+ fileId: string;
25
+ fileName: string;
26
+ fileSize: number;
27
+ $seq: number;
28
+ lastModified?: any;
29
+ }
30
+
31
+ /**
32
+ * 상태 체크 정보
33
+ *
34
+ * @export
35
+ * @interface ConditionInfo
36
+ * @typedef {ConditionInfo}
37
+ */
38
+ export interface ConditionInfo {
39
+ show: boolean;
40
+ field: string;
41
+ eq: any;
42
+ custom?: OptionCallback;
43
+ }
44
+
45
+ export interface FieldStyle {
46
+ rowStyleClass?: string;
47
+ fieldClass?: string;
48
+ fieldStyle?: string;
49
+ labelClass?: string;
50
+ labelStyle?: string;
51
+ labelAlignClass?: string;
52
+ valueClass?: string;
53
+ valueStyle?: string;
54
+ tabAlignClass?: string;
55
+ }
56
+
57
+ /**
58
+ * form field
59
+ *
60
+ * @export
61
+ * @interface FormField
62
+ * @typedef {FormField}
63
+ */
64
+ export interface FormField {
65
+ name: string; // 'name'
66
+ renderType?: RENDER_TYPE | string;
67
+ customOptions: any;
68
+ label: string; // '아이디'
69
+ style: {
70
+ width: string | number;
71
+ labelHide: boolean;
72
+ labelWidth: string | number;
73
+ customClass: string;
74
+ valueWidth: string | number;
75
+ position: string;
76
+ tabAlign: string;
77
+ };
78
+ tooltip: string; // 툴팁 문구
79
+ disabled?: boolean; // disabled
80
+ description: string; // 설명
81
+ placeholder: string; // input , textarea 문구
82
+ orientation: ORIENTATION_TYPE; // children에 사용
83
+ required?: boolean; //true // 필수 여부
84
+ regexpType?: REGEXP_TYPE; // 정규식 타입
85
+ rule: {
86
+ // 규칙
87
+ minLength: number; // 3
88
+ maxLength: number; //100
89
+ minimum: number;
90
+ exclusiveMinimum: boolean;
91
+ maximum: number;
92
+ exclusiveMaximum: boolean;
93
+ };
94
+ different: {
95
+ // field 값이 다른지 비교
96
+ field: string;
97
+ message: string;
98
+ };
99
+ identical: {
100
+ // field 값이 같은지 비교
101
+ field: string;
102
+ message: string;
103
+ };
104
+ template: OptionCallback | string; // 필드 템플릿
105
+ defaultValue: string; // 기본값
106
+ listItem: ValuesInfo; // dropdown, radio, checkbox
107
+ children: FormField[]; // child field
108
+ validator?: OptionCallback; // custom validator
109
+ onChange: OptionCallback; // 입력값 변경시 체크 function
110
+ onClick: OptionCallback; // button onclick function
111
+ fileDownload: OptionCallback; // file download function
112
+ renderer: Render; // custom renderer
113
+ conditional: ConditionInfo; // 보이기 여부
114
+ gridOptions?: {
115
+ disableAddButton?: boolean; // renderer 그리드 타입 추가 버튼 유무
116
+ disableRemoveButton?: boolean; // renderer 그리드 타입 추가 버튼 유무
117
+ align?: TEXT_ALIGN_TYPE; // renderer 그리드 타입 추가 버튼 유무
118
+ height: string; // grid 높이값
119
+ };
120
+ $renderType: Render; // render Type
121
+ $instance: Render; // 실제 render
122
+ $orgin: FormField;
123
+ $xssName: string; // xss 변경명
124
+ $key: string; // 내부 key
125
+ $value: string; // 내부 사용 value
126
+ $parent: FormField;
127
+ $tabForm?: DaraForm; //tab 일경우 폼 정보
128
+ $validName: string; //
129
+ }
@@ -0,0 +1,91 @@
1
+ import { FORM_MODE, TEXT_ALIGN_TYPE } from "src/constants";
2
+ import { OptionCallback } from "./FormField";
3
+
4
+ /**
5
+ * form options
6
+ *
7
+ * @export
8
+ * @interface FormOptions
9
+ * @typedef {FormOptions}
10
+ */
11
+ export interface FormOptions {
12
+ /**
13
+ * style 옵션
14
+ *
15
+ * @example
16
+ * ```
17
+ * width: '600px',
18
+ position: 'left',
19
+ labelWidth: '3'
20
+ valueWidth: '9'
21
+ * ```
22
+ */
23
+ style: {
24
+ /**
25
+ * form width
26
+ * @example
27
+ * 600px, 100em
28
+ */
29
+ width: string;
30
+ /**
31
+ * field label width
32
+ * @example
33
+ * bootstrap width 참고 (1 ~ 12) 또는 '600px'
34
+ */
35
+ labelWidth: string | number;
36
+ /**
37
+ * field value width
38
+ * @example
39
+ * bootstrap width 참고 (1 ~ 12) 또는 '600px'
40
+ */
41
+ valueWidth: string | number;
42
+ /**
43
+ * field label position
44
+ * @example
45
+ * "top" | "left" | "left-left" | "left-right" | "right" | "right-left" | "right-right" | "bottom"
46
+ */
47
+ position: string;
48
+ };
49
+
50
+ /**
51
+ * form에 값을 renderer type별로 값을 구 할지 여부. tab 값을 구할때 영향이 있음
52
+ * @default false
53
+ * @example
54
+ * true or false
55
+ *
56
+ */
57
+ useTypeValue?: boolean;
58
+
59
+ /**
60
+ * form 자동 생성 여부
61
+ * @default true
62
+ * @example
63
+ * true or false
64
+ */
65
+ autoCreate?: boolean;
66
+ /**
67
+ * field 자동 포커스
68
+ * @default true
69
+ * @example
70
+ * true or false
71
+ */
72
+ autoFocus?: boolean; // default true
73
+ notValidMessage?: string; //'This value is not valid'
74
+ onMounted?: OptionCallback;
75
+ mode?: FORM_MODE;
76
+ message?: {
77
+ required: string; // '{name} 필수 입력사항입니다.'
78
+ string: {
79
+ minLength: string; //'{size} 글자 이상 입력해야합니다.'
80
+ maxLength: string; //'{size} 글자 이상 입력할 수 없습니다.'
81
+ };
82
+ number: {
83
+ min: string; //'{size} 보다 커야 합니다'
84
+ max: string; //'{size} 보다 커야 합니다'
85
+ };
86
+ type: {
87
+ message: string; // '{type} 유효하지 않습니다.'
88
+ };
89
+ };
90
+ fields: any[];
91
+ }