@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,40 @@
|
|
|
1
|
+
export interface Message {
|
|
2
|
+
required: string;
|
|
3
|
+
fileButton: string;
|
|
4
|
+
selection: string;
|
|
5
|
+
|
|
6
|
+
// string
|
|
7
|
+
string: {
|
|
8
|
+
minLength: string;
|
|
9
|
+
maxLength: string;
|
|
10
|
+
between: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// number message
|
|
14
|
+
number: {
|
|
15
|
+
nan: string;
|
|
16
|
+
minimum: string;
|
|
17
|
+
exclusiveMinimum: string;
|
|
18
|
+
maximum: string;
|
|
19
|
+
exclusiveMaximum: string;
|
|
20
|
+
between: string;
|
|
21
|
+
betweenExclusiveMin: string;
|
|
22
|
+
betweenExclusiveMax: string;
|
|
23
|
+
betweenExclusiveMinMax: string;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// 정규식 메시지
|
|
27
|
+
regexp: {
|
|
28
|
+
mobile: string;
|
|
29
|
+
email: string;
|
|
30
|
+
url: string;
|
|
31
|
+
number: string;
|
|
32
|
+
alpha: string;
|
|
33
|
+
"alpha-num": string;
|
|
34
|
+
variable: string;
|
|
35
|
+
"number-char": string;
|
|
36
|
+
"upper-char": string;
|
|
37
|
+
"upper-char-special": string;
|
|
38
|
+
"upper-char-special-number": string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Message } from "@t/Message";
|
|
2
|
+
import { FormField } from "../types/FormField";
|
|
3
|
+
import { ValidResult } from "@t/ValidResult";
|
|
4
|
+
/**
|
|
5
|
+
* validation 메시지 처리.
|
|
6
|
+
*
|
|
7
|
+
* @class Language
|
|
8
|
+
* @typedef {Language}
|
|
9
|
+
*/
|
|
10
|
+
declare class Language {
|
|
11
|
+
private lang;
|
|
12
|
+
/**
|
|
13
|
+
* 다국어 메시지 등록
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
16
|
+
* @param {?Message} [lang] 둥록할 메시지
|
|
17
|
+
*/
|
|
18
|
+
set(lang?: Message): void;
|
|
19
|
+
/**
|
|
20
|
+
* 메시지 얻기
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
* @param {string} messageKey 메시지 키
|
|
24
|
+
* @returns {*}
|
|
25
|
+
*/
|
|
26
|
+
getMessage(messageKey: string): any;
|
|
27
|
+
/**
|
|
28
|
+
* ValidResult 값을 메시지로 변경.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
* @param {FormField} field
|
|
32
|
+
* @param {ValidResult} validResult
|
|
33
|
+
* @returns {string[]}
|
|
34
|
+
*/
|
|
35
|
+
validMessage(field: FormField, validResult: ValidResult): string[];
|
|
36
|
+
}
|
|
37
|
+
declare const _default: Language;
|
|
38
|
+
export default _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FieldStyle, FormField } from "@t/FormField";
|
|
2
|
+
import { FormOptions } from "@t/FormOptions";
|
|
3
|
+
declare const _default: {
|
|
4
|
+
/**
|
|
5
|
+
* field style 처리
|
|
6
|
+
*
|
|
7
|
+
* @param formOptions FormOptions
|
|
8
|
+
* @param field FormField
|
|
9
|
+
* @param beforeField FormField
|
|
10
|
+
* @returns FieldStyle
|
|
11
|
+
*/
|
|
12
|
+
fieldStyle(formOptions: FormOptions, field: FormField, beforeField?: FormField | null, isLabelHide?: boolean): FieldStyle;
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FormField } from "@t/FormField";
|
|
2
|
+
export declare const replaceXss: (inputText: string) => string;
|
|
3
|
+
export declare const hasOwnProp: (obj: any, key: string) => boolean;
|
|
4
|
+
export declare const unReplace: (inputText: string) => string;
|
|
5
|
+
export declare const unFieldName: (fieldName: string) => string;
|
|
6
|
+
export declare const isBlank: (value: any) => boolean;
|
|
7
|
+
export declare const isUndefined: (value: any) => value is undefined;
|
|
8
|
+
export declare const isFunction: (value: any) => boolean;
|
|
9
|
+
export declare const isString: (value: any) => value is string;
|
|
10
|
+
export declare const isNumber: (value: any) => value is number;
|
|
11
|
+
export declare const isArray: (value: any) => value is any[];
|
|
12
|
+
/**
|
|
13
|
+
* 값있는지 여부 체크.
|
|
14
|
+
*
|
|
15
|
+
* @param {*} value
|
|
16
|
+
* @returns {boolean}
|
|
17
|
+
*/
|
|
18
|
+
export declare const isEmpty: (value: any) => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* tab render type check
|
|
21
|
+
*
|
|
22
|
+
* @param {FormField} field
|
|
23
|
+
* @returns {boolean} tab type 인지 여부
|
|
24
|
+
*/
|
|
25
|
+
export declare const isTabType: (field: FormField) => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* grid render type check
|
|
28
|
+
*
|
|
29
|
+
* @param {FormField} field
|
|
30
|
+
* @returns {boolean} grid type 인지 여부
|
|
31
|
+
*/
|
|
32
|
+
export declare const isGridType: (field: FormField) => boolean;
|
|
33
|
+
export declare const replaceXssField: (field: FormField) => FormField;
|
|
34
|
+
/**
|
|
35
|
+
* 값을 무시하는 필드
|
|
36
|
+
*
|
|
37
|
+
* @param field formField
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
export declare const ignoreValueField: (field: FormField) => boolean;
|
|
41
|
+
/**
|
|
42
|
+
* grid field name xss repalce
|
|
43
|
+
*
|
|
44
|
+
* @param {FormField} field
|
|
45
|
+
* @returns {string} replace 된 field name
|
|
46
|
+
*/
|
|
47
|
+
export declare const getXssFieldName: (field: FormField) => string;
|
|
48
|
+
export declare const getHashCode: (str: string) => string | number;
|
|
49
|
+
export declare const isHiddenField: (field: FormField) => boolean;
|
|
50
|
+
export declare const templateToElement: (htmlTemplate: string) => Element | null;
|
|
51
|
+
export declare function isPlainObject(obj: any): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* object merge
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
```
|
|
57
|
+
merge({},{aaa:'bbb',ccc:'ddd'},{bbb:'bbb','aaa':'aaa'})) -> {"aaa": "aaa", "bbb": "bbb", "ccc": "ddd"}
|
|
58
|
+
```
|
|
59
|
+
* @param {...any[]} value
|
|
60
|
+
* @returns {object}
|
|
61
|
+
*/
|
|
62
|
+
export declare const merge: (...value: any[]) => any;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FormField } from "@t/FormField";
|
|
2
|
+
import { ValidResult } from "@t/ValidResult";
|
|
3
|
+
export declare const invalidMessage: (field: FormField, rowElement: Element, validResult: ValidResult | boolean) => void;
|
|
4
|
+
/**
|
|
5
|
+
* remove row element style class
|
|
6
|
+
*
|
|
7
|
+
* @param {Element} rowElement
|
|
8
|
+
*/
|
|
9
|
+
export declare const resetRowElementStyleClass: (rowElement: Element) => void;
|
package/package.json
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@daracl/form",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"description": "Daracl form validation ",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "darainfo",
|
|
8
|
+
"email": "darainfosys@gmail.com",
|
|
9
|
+
"url": "https://www.moaview.com"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/darainfo/daracl.form.git"
|
|
14
|
+
},
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public",
|
|
17
|
+
"registry": "https://registry.npmjs.org"
|
|
18
|
+
},
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"keywords": [
|
|
21
|
+
"@daracl/form",
|
|
22
|
+
"daraclValidation",
|
|
23
|
+
"daracl-validation",
|
|
24
|
+
"daraclForm",
|
|
25
|
+
"daracl-form",
|
|
26
|
+
"form",
|
|
27
|
+
"validation",
|
|
28
|
+
"darainfo",
|
|
29
|
+
"javascript"
|
|
30
|
+
],
|
|
31
|
+
"main": "src/index.ts",
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"homepage": "https://github.com/darainfo/daracl.form",
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/darainfo/daracl.form/issues",
|
|
36
|
+
"email": "darainfosys@gmail.com"
|
|
37
|
+
},
|
|
38
|
+
"exports": {
|
|
39
|
+
".": "./dist/index.js",
|
|
40
|
+
"./dist/": "./dist/",
|
|
41
|
+
"./style/": "./style/"
|
|
42
|
+
},
|
|
43
|
+
"files": [
|
|
44
|
+
"dist",
|
|
45
|
+
"style"
|
|
46
|
+
],
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@daracl/datetimepicker": "^0.0.2",
|
|
49
|
+
"@daracl/toast": "^0.0.5",
|
|
50
|
+
"init": "^0.1.2",
|
|
51
|
+
"ink-docstrap": "^1.3.2",
|
|
52
|
+
"preact": "^10.13.2",
|
|
53
|
+
"tslint": "^6.1.3",
|
|
54
|
+
"tslint-config-prettier": "^1.18.0"
|
|
55
|
+
},
|
|
56
|
+
"prettier": {
|
|
57
|
+
"printWidth": 256,
|
|
58
|
+
"useTabs": false,
|
|
59
|
+
"tabWidth": 2,
|
|
60
|
+
"bracketSpacing": true,
|
|
61
|
+
"semi": true,
|
|
62
|
+
"singleQuote": false
|
|
63
|
+
},
|
|
64
|
+
"editor.formatOnSave": true,
|
|
65
|
+
"[javascript]": {
|
|
66
|
+
"editor.formatOnSave": false
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@babel/cli": "^7.22.5",
|
|
70
|
+
"@babel/core": "^7.21.4",
|
|
71
|
+
"@babel/node": "^7.20.7",
|
|
72
|
+
"@babel/parser": "^7.21.4",
|
|
73
|
+
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
74
|
+
"@babel/plugin-transform-modules-commonjs": "^7.21.2",
|
|
75
|
+
"@babel/plugin-transform-runtime": "^7.21.4",
|
|
76
|
+
"@babel/preset-env": "^7.22.5",
|
|
77
|
+
"@babel/preset-typescript": "^7.21.4",
|
|
78
|
+
"@mxssfd/typedoc-theme": "^1.1.1",
|
|
79
|
+
"@types/dropzone": "^5.7.4",
|
|
80
|
+
"@types/file-saver": "^2.0.5",
|
|
81
|
+
"@types/jest": "^29.5.1",
|
|
82
|
+
"@types/lodash": "^4.14.194",
|
|
83
|
+
"@types/lodash-es": "^4.17.7",
|
|
84
|
+
"@types/node": "^20.1.0",
|
|
85
|
+
"@typescript-eslint/eslint-plugin": "^5.59.5",
|
|
86
|
+
"@typescript-eslint/parser": "^5.59.5",
|
|
87
|
+
"babel-loader": "^8.3.0",
|
|
88
|
+
"babel-plugin-dynamic-import-webpack": "^1.1.0",
|
|
89
|
+
"babel-plugin-lodash": "^3.3.4",
|
|
90
|
+
"copy-webpack-plugin": "^11.0.0",
|
|
91
|
+
"copyfiles": "^2.4.1",
|
|
92
|
+
"css-loader": "^6.8.1",
|
|
93
|
+
"css-minimizer-webpack-plugin": "^5.0.1",
|
|
94
|
+
"dropzone": "^6.0.0-beta.2",
|
|
95
|
+
"esbuild": "^0.19.2",
|
|
96
|
+
"esbuild-sass-plugin": "^2.12.0",
|
|
97
|
+
"eslint": "^8.40.0",
|
|
98
|
+
"eslint-config-airbnb": "^19.0.4",
|
|
99
|
+
"eslint-config-prettier": "^8.8.0",
|
|
100
|
+
"eslint-plugin-import": "^2.27.5",
|
|
101
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
102
|
+
"eslint-plugin-react": "^7.32.2",
|
|
103
|
+
"file-loader": "^6.2.0",
|
|
104
|
+
"html-webpack-plugin": "^5.5.3",
|
|
105
|
+
"jest": "^29.0.0",
|
|
106
|
+
"lodash-es": "^4.17.21",
|
|
107
|
+
"material-icons": "^1.13.8",
|
|
108
|
+
"mini-css-extract-plugin": "^2.7.6",
|
|
109
|
+
"prettier": "^2.8.8",
|
|
110
|
+
"sass-loader": "^13.3.2",
|
|
111
|
+
"style-loader": "^3.3.3",
|
|
112
|
+
"terser-webpack-plugin": "^5.3.9",
|
|
113
|
+
"ts-jest": "^29.1.0",
|
|
114
|
+
"ts-loader": "^9.4.2",
|
|
115
|
+
"typedoc": "^0.24.8",
|
|
116
|
+
"typescript": "^5.1.6",
|
|
117
|
+
"url-loader": "^4.1.1",
|
|
118
|
+
"webpack": "^5.73.0",
|
|
119
|
+
"webpack-bundle-analyzer": "^4.9.0",
|
|
120
|
+
"webpack-cli": "^4.10.0",
|
|
121
|
+
"webpack-dev-server": "^4.9.2",
|
|
122
|
+
"webpack-node-externals": "^3.0.0"
|
|
123
|
+
},
|
|
124
|
+
"scripts": {
|
|
125
|
+
"prepack": "yarn build",
|
|
126
|
+
"build": "yarn build:prod && yarn copy-dts && yarn build:tsc && yarn build:js",
|
|
127
|
+
"build:tsc": "npx tsc --emitDeclarationOnly",
|
|
128
|
+
"build:js": "node build.js",
|
|
129
|
+
"build:dev": "webpack --config webpack.dev.js",
|
|
130
|
+
"build:prod": "webpack --config webpack.prod.js && webpack --env=mode=deploy --config webpack.dev.js",
|
|
131
|
+
"dts:gen": "npx -p typescript tsc src/index.js --declaration --allowJs --emitDeclarationOnly --outDir dist",
|
|
132
|
+
"docs:gen": "typedoc --tsconfig tsconfig.doc.json",
|
|
133
|
+
"test": "jest",
|
|
134
|
+
"start": "webpack-dev-server --open --config ./webpack.dev.server.js",
|
|
135
|
+
"copy-dts": "copyfiles -u 1 \"src/**/*.d.ts\" dist"
|
|
136
|
+
}
|
|
137
|
+
}
|