@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.
- package/LICENSE +21 -0
- package/README.md +146 -0
- package/dist/DaraForm.d.ts +129 -0
- package/dist/FieldInfoMap.d.ts +97 -0
- package/dist/FormTemplate.d.ts +60 -0
- package/dist/constants.d.ts +35 -0
- package/dist/daracl.form.js +7629 -0
- package/dist/daracl.form.js.map +1 -0
- package/dist/daracl.form.min.css +6 -0
- package/dist/daracl.form.min.css.map +1 -0
- package/dist/daracl.form.min.js +7 -0
- package/dist/daracl.form.min.js.LICENSE.txt +5 -0
- package/dist/daracl.form.min.js.map +1 -0
- package/dist/event/renderEvents.d.ts +6 -0
- package/dist/index.cjs +4540 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.css +1074 -0
- package/dist/index.css.map +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.html +591 -0
- package/dist/index.js +4852 -0
- package/dist/index.js.map +7 -0
- package/dist/renderer/ButtonRender.d.ts +14 -0
- package/dist/renderer/CheckboxRender.d.ts +18 -0
- package/dist/renderer/CustomRender.d.ts +19 -0
- package/dist/renderer/DateRender.d.ts +15 -0
- package/dist/renderer/DropdownRender.d.ts +17 -0
- package/dist/renderer/FileRender.d.ts +38 -0
- package/dist/renderer/GridRender.d.ts +35 -0
- package/dist/renderer/GroupRender.d.ts +16 -0
- package/dist/renderer/HiddenRender.d.ts +13 -0
- package/dist/renderer/NumberRender.d.ts +14 -0
- package/dist/renderer/PasswordRender.d.ts +14 -0
- package/dist/renderer/RadioRender.d.ts +18 -0
- package/dist/renderer/RangeRender.d.ts +15 -0
- package/dist/renderer/Render.d.ts +43 -0
- package/dist/renderer/TabRender.d.ts +34 -0
- package/dist/renderer/TextAreaRender.d.ts +14 -0
- package/dist/renderer/TextRender.d.ts +14 -0
- package/dist/rule/fileValidator.d.ts +11 -0
- package/dist/rule/numberValidator.d.ts +10 -0
- package/dist/rule/regexpValidator.d.ts +11 -0
- package/dist/rule/stringValidator.d.ts +10 -0
- package/dist/rule/validator.d.ts +11 -0
- package/dist/types/DataMap.d.ts +17 -0
- package/dist/types/FormField.d.ts +129 -0
- package/dist/types/FormOptions.d.ts +91 -0
- package/dist/types/Message.d.ts +40 -0
- package/dist/types/ValidResult.d.ts +9 -0
- package/dist/util/Lanauage.d.ts +38 -0
- package/dist/util/renderFactory.d.ts +3 -0
- package/dist/util/styleUtils.d.ts +14 -0
- package/dist/util/utils.d.ts +62 -0
- package/dist/util/validUtils.d.ts +9 -0
- package/package.json +137 -0
- package/src/index.ts +7 -0
- 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
|
+
}
|