Skip to content

Commit 6fc486a

Browse files
author
Edward Xiao
committed
no message
1 parent 777a9ea commit 6fc486a

File tree

6 files changed

+431
-0
lines changed

6 files changed

+431
-0
lines changed

lib/components/const.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports.usePrevious = exports.MSG_CLASS_IDENTITIFIER = exports.OPTION_LIST_ITEM_IDENTITIFIER = exports.CONTAINER_CLASS_IDENTITIFIER = exports.WRAPPER_CLASS_IDENTITIFIER = exports.DEFAULT_LOCALE = exports.REACT_INPUTS_VALIDATION_CUSTOM_ERROR_MESSAGE_EXAMPLE = exports.LOCALE_OPTION_LIST = void 0;
7+
8+
var React = _interopRequireWildcard(require("react"));
9+
10+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
11+
12+
var useEffect = React.useEffect,
13+
useRef = React.useRef;
14+
var LOCALE_OPTION_LIST = ['en-US', 'zh-CN'];
15+
exports.LOCALE_OPTION_LIST = LOCALE_OPTION_LIST;
16+
var REACT_INPUTS_VALIDATION_CUSTOM_ERROR_MESSAGE_EXAMPLE = "Invalid window.REACT_INPUTS_VALIDATION['customErrorMessage']. EXAMPLE: window.REACT_INPUTS_VALIDATION={customErrorMessage:{'en-US':{textbox:{empty:function empty(name){return getEnglishName(name)+'cannot be empty'},invalid:function invalid(name){return getEnglishName(name)+'invalid format'},invalidFormat:function invalidFormat(name){return getEnglishName(name)+'is not a number'},inBetween:function inBetween(name){return function(min){return function(max){return getEnglishName(name)+'must be '+min+'-'+max}}},lessThan:function lessThan(name){return function(min){return getEnglishName(name)+'cannot less than '+min}},greaterThan:function greaterThan(name){return function(max){return getEnglishName(name)+'cannot greater than '+max}},lengthEqual:function lengthEqual(name){return function(length){return getEnglishName(name)+'length must be '+length}},twoInputsNotEqual:function twoInputsNotEqual(){return'two inputs are not equal'}},radiobox:{empty:function empty(name){return'Please choose one '+getEnglishName(name)}},checkbox:{unchecked:function unchecked(name){return getEnglishName(name)+'must be checked'}},select:{empty:function empty(name){return'Please select a '+getEnglishName(name)}},textarea:{empty:function empty(name){return getEnglishName(name)+'cannot be empty'},invalid:function invalid(name){return getEnglishName(name)+'invalid format'},invalidFormat:function invalidFormat(name){return getEnglishName(name)+'is not a number'},inBetween:function inBetween(name){return function(min){return function(max){return getEnglishName(name)+'must be '+min+'-'+max}}},lessThan:function lessThan(name){return function(min){return getEnglishName(name)+'cannot less than '+min}},greaterThan:function greaterThan(name){return function(max){return getEnglishName(name)+'cannot greater than '+max}},lengthEqual:function lengthEqual(name){return function(length){return getEnglishName(name)+'length must be '+length}},twoInputsNotEqual:function twoInputsNotEqual(){return'two inputs are not equal'}}}}};";
17+
exports.REACT_INPUTS_VALIDATION_CUSTOM_ERROR_MESSAGE_EXAMPLE = REACT_INPUTS_VALIDATION_CUSTOM_ERROR_MESSAGE_EXAMPLE;
18+
var DEFAULT_LOCALE = 'en-US';
19+
exports.DEFAULT_LOCALE = DEFAULT_LOCALE;
20+
var WRAPPER_CLASS_IDENTITIFIER = 'react-inputs-validation__wrapper_identifier';
21+
exports.WRAPPER_CLASS_IDENTITIFIER = WRAPPER_CLASS_IDENTITIFIER;
22+
var CONTAINER_CLASS_IDENTITIFIER = 'react-inputs-validation__container_identifier';
23+
exports.CONTAINER_CLASS_IDENTITIFIER = CONTAINER_CLASS_IDENTITIFIER;
24+
var OPTION_LIST_ITEM_IDENTITIFIER = 'react-inputs-validation__option-list-item_identifier';
25+
exports.OPTION_LIST_ITEM_IDENTITIFIER = OPTION_LIST_ITEM_IDENTITIFIER;
26+
var MSG_CLASS_IDENTITIFIER = 'react-inputs-validation__msg_identifier';
27+
exports.MSG_CLASS_IDENTITIFIER = MSG_CLASS_IDENTITIFIER;
28+
29+
var usePrevious = function usePrevious(value) {
30+
var ref = useRef();
31+
useEffect(function () {
32+
ref.current = value;
33+
});
34+
return ref.current;
35+
};
36+
37+
exports.usePrevious = usePrevious;

lib/components/global.d.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"use strict";

lib/components/index.umd.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
Object.defineProperty(exports, "Textbox", {
7+
enumerable: true,
8+
get: function get() {
9+
return _Textbox["default"];
10+
}
11+
});
12+
Object.defineProperty(exports, "Textarea", {
13+
enumerable: true,
14+
get: function get() {
15+
return _Textarea["default"];
16+
}
17+
});
18+
Object.defineProperty(exports, "Select", {
19+
enumerable: true,
20+
get: function get() {
21+
return _Select["default"];
22+
}
23+
});
24+
Object.defineProperty(exports, "Checkbox", {
25+
enumerable: true,
26+
get: function get() {
27+
return _Checkbox["default"];
28+
}
29+
});
30+
Object.defineProperty(exports, "Radiobox", {
31+
enumerable: true,
32+
get: function get() {
33+
return _Radiobox["default"];
34+
}
35+
});
36+
37+
var _Textbox = _interopRequireDefault(require("./Textbox"));
38+
39+
var _Textarea = _interopRequireDefault(require("./Textarea"));
40+
41+
var _Select = _interopRequireDefault(require("./Select"));
42+
43+
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
44+
45+
var _Radiobox = _interopRequireDefault(require("./Radiobox"));
46+
47+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
48+
49+
if (typeof window !== 'undefined') {
50+
window.Textbox = _Textbox["default"];
51+
window.Textarea = _Textarea["default"];
52+
window.Radiobox = _Radiobox["default"];
53+
window.Checkbox = _Checkbox["default"];
54+
window.Select = _Select["default"];
55+
}

lib/components/message.js

Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = exports.handleCustomErrorMessage = exports.getCustomErrorMessage = void 0;
7+
8+
var _const = require("./const");
9+
10+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
11+
12+
var getEnglishName = function getEnglishName(name) {
13+
var res = '';
14+
15+
if (name) {
16+
res = "".concat(name, " ");
17+
}
18+
19+
return res;
20+
};
21+
22+
var TEXT_BOX_VALIDATION_ZH_CN = {
23+
empty: function empty(name) {
24+
return "".concat(name, "\u4E0D\u80FD\u4E3A\u7A7A");
25+
},
26+
invalid: function invalid(name) {
27+
return "".concat(name, "\u683C\u5F0F\u6709\u8BEF");
28+
},
29+
invalidFormat: function invalidFormat(name) {
30+
return "".concat(name, "\u4E0D\u662F\u6570\u5B57");
31+
},
32+
inBetween: function inBetween(name) {
33+
return function (min) {
34+
return function (max) {
35+
return "".concat(name, "\u5FC5\u987B\u5728").concat(min, "-").concat(max, "\u4E4B\u95F4");
36+
};
37+
};
38+
},
39+
lessThan: function lessThan(name) {
40+
return function (min) {
41+
return "".concat(name, "\u4E0D\u53EF\u5C11\u4E8E").concat(min);
42+
};
43+
},
44+
greaterThan: function greaterThan(name) {
45+
return function (max) {
46+
return "".concat(name, "\u4E0D\u53EF\u5927\u4E8E").concat(max);
47+
};
48+
},
49+
lengthEqual: function lengthEqual(name) {
50+
return function (length) {
51+
return "".concat(name, "\u957F\u5EA6\u5FC5\u987B\u4E3A").concat(length);
52+
};
53+
},
54+
twoInputsNotEqual: function twoInputsNotEqual() {
55+
return "\u4E24\u6B21\u8F93\u5165\u4E0D\u4E00\u81F4";
56+
}
57+
};
58+
var TEXT_BOX_VALIDATION_EN_US = {
59+
empty: function empty(name) {
60+
return "".concat(getEnglishName(name), "cannot be empty");
61+
},
62+
invalid: function invalid(name) {
63+
return "".concat(getEnglishName(name), "invalid format");
64+
},
65+
invalidFormat: function invalidFormat(name) {
66+
return "".concat(getEnglishName(name), "is not a number");
67+
},
68+
inBetween: function inBetween(name) {
69+
return function (min) {
70+
return function (max) {
71+
return "".concat(getEnglishName(name), "must be ").concat(min, "-").concat(max);
72+
};
73+
};
74+
},
75+
lessThan: function lessThan(name) {
76+
return function (min) {
77+
return "".concat(getEnglishName(name), "cannot less than ").concat(min);
78+
};
79+
},
80+
greaterThan: function greaterThan(name) {
81+
return function (max) {
82+
return "".concat(getEnglishName(name), "cannot greater than ").concat(max);
83+
};
84+
},
85+
lengthEqual: function lengthEqual(name) {
86+
return function (length) {
87+
return "".concat(getEnglishName(name), "length must be ").concat(length);
88+
};
89+
},
90+
twoInputsNotEqual: function twoInputsNotEqual() {
91+
return "two inputs are not equal";
92+
}
93+
};
94+
var TEXT_AREA_VALIDATION_ZH_CN = {
95+
empty: function empty(name) {
96+
return "".concat(name, "\u4E0D\u80FD\u4E3A\u7A7A");
97+
},
98+
invalid: function invalid(name) {
99+
return "".concat(name, "\u683C\u5F0F\u6709\u8BEF");
100+
},
101+
invalidFormat: function invalidFormat(name) {
102+
return "".concat(name, "\u4E0D\u662F\u6570\u5B57");
103+
},
104+
inBetween: function inBetween(name) {
105+
return function (min) {
106+
return function (max) {
107+
return "".concat(name, "\u5FC5\u987B\u5728").concat(min, "-").concat(max, "\u4E4B\u95F4");
108+
};
109+
};
110+
},
111+
lessThan: function lessThan(name) {
112+
return function (min) {
113+
return "".concat(name, "\u4E0D\u53EF\u5C11\u4E8E").concat(min);
114+
};
115+
},
116+
greaterThan: function greaterThan(name) {
117+
return function (max) {
118+
return "".concat(name, "\u4E0D\u53EF\u5927\u4E8E").concat(max);
119+
};
120+
},
121+
lengthEqual: function lengthEqual(name) {
122+
return function (length) {
123+
return "".concat(name, "\u957F\u5EA6\u5FC5\u987B\u4E3A").concat(length);
124+
};
125+
},
126+
twoInputsNotEqual: function twoInputsNotEqual() {
127+
return "\u4E24\u6B21\u8F93\u5165\u4E0D\u4E00\u81F4";
128+
}
129+
};
130+
var TEXT_AREA_VALIDATION_EN_US = {
131+
empty: function empty(name) {
132+
return "".concat(getEnglishName(name), "cannot be empty");
133+
},
134+
invalid: function invalid(name) {
135+
return "".concat(getEnglishName(name), "invalid format");
136+
},
137+
invalidFormat: function invalidFormat(name) {
138+
return "".concat(getEnglishName(name), "is not a number");
139+
},
140+
inBetween: function inBetween(name) {
141+
return function (min) {
142+
return function (max) {
143+
return "".concat(getEnglishName(name), "must be ").concat(min, "-").concat(max);
144+
};
145+
};
146+
},
147+
lessThan: function lessThan(name) {
148+
return function (min) {
149+
return "".concat(getEnglishName(name), "cannot less than ").concat(min);
150+
};
151+
},
152+
greaterThan: function greaterThan(name) {
153+
return function (max) {
154+
return "".concat(getEnglishName(name), "cannot greater than ").concat(max);
155+
};
156+
},
157+
lengthEqual: function lengthEqual(name) {
158+
return function (length) {
159+
return "".concat(getEnglishName(name), "length must be ").concat(length);
160+
};
161+
},
162+
twoInputsNotEqual: function twoInputsNotEqual() {
163+
return "two inputs are not equal";
164+
}
165+
};
166+
var SELECT_VALIDATION_ZH_CN = {
167+
empty: function empty(name) {
168+
return "\u8BF7\u9009\u62E9\u4E00\u4E2A".concat(name);
169+
}
170+
};
171+
var SELECT_VALIDATION_EN_US = {
172+
empty: function empty(name) {
173+
return "Please select a ".concat(getEnglishName(name));
174+
}
175+
};
176+
var CHECK_BOX_VALIDATION_ZH_CN = {
177+
unchecked: function unchecked(name) {
178+
return "".concat(name, "\u5FC5\u987B\u52FE\u9009");
179+
}
180+
};
181+
var CHECK_BOX_VALIDATION_EN_US = {
182+
unchecked: function unchecked(name) {
183+
return "".concat(getEnglishName(name), "must be checked");
184+
}
185+
};
186+
var RADIO_BOX_VALIDATION_ZH_CN = {
187+
empty: function empty(name) {
188+
return "\u5FC5\u987B\u52FE\u9009\u4E00\u4E2A".concat(name);
189+
}
190+
};
191+
var RADIO_BOX_VALIDATION_EN_US = {
192+
empty: function empty(name) {
193+
return "Please choose one ".concat(getEnglishName(name));
194+
}
195+
};
196+
var message = {
197+
'zh-CN': {
198+
textbox: TEXT_BOX_VALIDATION_ZH_CN,
199+
radiobox: RADIO_BOX_VALIDATION_ZH_CN,
200+
checkbox: CHECK_BOX_VALIDATION_ZH_CN,
201+
select: SELECT_VALIDATION_ZH_CN,
202+
textarea: TEXT_AREA_VALIDATION_ZH_CN
203+
},
204+
'en-US': {
205+
textbox: TEXT_BOX_VALIDATION_EN_US,
206+
radiobox: RADIO_BOX_VALIDATION_EN_US,
207+
checkbox: CHECK_BOX_VALIDATION_EN_US,
208+
select: SELECT_VALIDATION_EN_US,
209+
textarea: TEXT_AREA_VALIDATION_EN_US
210+
}
211+
}; // TODO: find a rewire way to handle non-export function
212+
213+
var getCustomErrorMessage = function getCustomErrorMessage(o, m) {
214+
if (!o || _typeof(o) !== 'object' || o.constructor !== Object || !Object.keys(o).length) {
215+
console.error(_const.REACT_INPUTS_VALIDATION_CUSTOM_ERROR_MESSAGE_EXAMPLE);
216+
return false;
217+
}
218+
219+
Object.keys(o).map(function (i) {
220+
if (!m[i]) {
221+
m[i] = o[i];
222+
} else {
223+
if (Object.keys(o[i]).length) {
224+
Object.keys(o[i]).map(function (j) {
225+
if (Object.keys(o[i][j]).length) {
226+
Object.keys(o[i][j]).map(function (k) {
227+
m[i][j][k] = o[i][j][k];
228+
});
229+
}
230+
});
231+
}
232+
}
233+
});
234+
return m;
235+
};
236+
237+
exports.getCustomErrorMessage = getCustomErrorMessage;
238+
239+
// TODO: find a rewire way to handle non-export function
240+
var handleCustomErrorMessage = function handleCustomErrorMessage(message, w) {
241+
var res;
242+
243+
if (typeof w !== 'undefined') {
244+
if (w.REACT_INPUTS_VALIDATION && w.REACT_INPUTS_VALIDATION['customErrorMessage']) {
245+
res = getCustomErrorMessage(w.REACT_INPUTS_VALIDATION['customErrorMessage'], message);
246+
}
247+
}
248+
249+
if (typeof res === 'undefined' || res === false) {
250+
return message;
251+
}
252+
253+
return res;
254+
};
255+
/* istanbul ignore else */
256+
257+
258+
exports.handleCustomErrorMessage = handleCustomErrorMessage;
259+
260+
if (typeof window !== 'undefined') {
261+
window.REACT_INPUTS_VALIDATION = window.REACT_INPUTS_VALIDATION || {};
262+
message = handleCustomErrorMessage(message, window);
263+
}
264+
265+
var _default = message;
266+
exports["default"] = _default;

lib/components/utils.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"use strict";
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
exports["default"] = void 0;
7+
8+
var camelize = function camelize(str) {
9+
return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function (match, index) {
10+
if (+match === 0) return '';
11+
return index === 0 ? match.toLowerCase() : match.toUpperCase();
12+
});
13+
};
14+
15+
var toCamelCase = function toCamelCase(str) {
16+
return function () {
17+
var capitalLize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
18+
var res = camelize(str);
19+
return capitalLize ? res.substr(0, 1).toUpperCase() + res.substr(1, res.length) : res;
20+
};
21+
};
22+
23+
var utils = {
24+
camelize: camelize,
25+
toCamelCase: toCamelCase
26+
};
27+
var _default = utils;
28+
exports["default"] = _default;

0 commit comments

Comments
 (0)