react-hook-core 0.4.5 → 0.4.7
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/lib/com.js +33 -11
- package/lib/core.js +103 -157
- package/lib/diff.js +28 -30
- package/lib/edit.js +54 -112
- package/lib/error.js +53 -0
- package/lib/formutil.js +58 -72
- package/lib/index.js +110 -95
- package/lib/input.js +31 -32
- package/lib/merge.js +26 -16
- package/lib/reflect.js +140 -147
- package/lib/route.js +45 -53
- package/lib/search.js +233 -475
- package/lib/state.js +159 -168
- package/lib/update.js +69 -64
- package/lib/useEdit.js +421 -348
- package/lib/useMessage.js +20 -20
- package/lib/useSearch.js +437 -246
- package/lib/useView.js +127 -120
- package/lib/util.js +74 -85
- package/package.json +1 -1
- package/src/com.ts +44 -30
- package/src/core.ts +147 -321
- package/src/diff.ts +54 -24
- package/src/edit.ts +42 -121
- package/src/error.ts +55 -0
- package/src/formutil.ts +51 -62
- package/src/index.ts +129 -114
- package/src/input.ts +44 -38
- package/src/merge.ts +16 -13
- package/src/reflect.ts +100 -101
- package/src/route.ts +40 -40
- package/src/search.ts +130 -316
- package/src/state.ts +135 -124
- package/src/update.ts +41 -41
- package/src/useEdit.ts +450 -319
- package/src/useMessage.ts +21 -21
- package/src/useSearch.ts +493 -277
- package/src/useView.ts +122 -97
- package/src/util.ts +67 -66
package/lib/useView.js
CHANGED
|
@@ -1,126 +1,133 @@
|
|
|
1
|
-
"use strict"
|
|
2
|
-
var __assign =
|
|
3
|
-
|
|
1
|
+
"use strict"
|
|
2
|
+
var __assign =
|
|
3
|
+
(this && this.__assign) ||
|
|
4
|
+
function () {
|
|
5
|
+
__assign =
|
|
6
|
+
Object.assign ||
|
|
7
|
+
function (t) {
|
|
4
8
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
t[p] = s[p];
|
|
9
|
+
s = arguments[i]
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
|
|
8
11
|
}
|
|
9
|
-
return t
|
|
10
|
-
|
|
11
|
-
return __assign.apply(this, arguments)
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true })
|
|
14
|
-
var react_1 = require("react")
|
|
15
|
-
var react_router_1 = require("react-router")
|
|
16
|
-
var core_1 = require("./core")
|
|
17
|
-
var
|
|
18
|
-
var
|
|
12
|
+
return t
|
|
13
|
+
}
|
|
14
|
+
return __assign.apply(this, arguments)
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
|
17
|
+
var react_1 = require("react")
|
|
18
|
+
var react_router_1 = require("react-router")
|
|
19
|
+
var core_1 = require("./core")
|
|
20
|
+
var error_1 = require("./error")
|
|
21
|
+
var formutil_1 = require("./formutil")
|
|
22
|
+
var merge_1 = require("./merge")
|
|
19
23
|
exports.useViewOne = function (p) {
|
|
20
|
-
|
|
21
|
-
}
|
|
24
|
+
return exports.useCoreView(p.refForm, p.initialState, p.service, p, p)
|
|
25
|
+
}
|
|
22
26
|
exports.useView = function (refForm, initialState, service, p1, p) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
var baseProps = exports.useCoreView(refForm, initialState, service, p1, p)
|
|
28
|
+
var _a = merge_1.useMergeState(initialState),
|
|
29
|
+
setState = _a[1]
|
|
30
|
+
var params = react_router_1.useParams()
|
|
31
|
+
react_1.useEffect(function () {
|
|
32
|
+
if (baseProps.refForm) {
|
|
33
|
+
core_1.initForm(baseProps.refForm.current)
|
|
34
|
+
}
|
|
35
|
+
var id = core_1.buildId(params, p ? p.keys : undefined)
|
|
36
|
+
if (id) {
|
|
37
|
+
if (p && p.initialize) {
|
|
38
|
+
p.initialize(id, baseProps.load, setState, p.callback)
|
|
39
|
+
} else {
|
|
40
|
+
baseProps.load(id, p ? p.callback : undefined)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}, [])
|
|
44
|
+
return __assign({}, baseProps)
|
|
45
|
+
}
|
|
46
|
+
exports.useCoreView = function (refForm, initialState, service, p1, p) {
|
|
47
|
+
var _a = merge_1.useMergeState(initialState),
|
|
48
|
+
state = _a[0],
|
|
49
|
+
setState = _a[1]
|
|
50
|
+
var _b = react_1.useState(),
|
|
51
|
+
running = _b[0],
|
|
52
|
+
setRunning = _b[1]
|
|
53
|
+
var navigate = react_router_1.useNavigate()
|
|
54
|
+
var back = function (event) {
|
|
55
|
+
if (event) {
|
|
56
|
+
event.preventDefault()
|
|
57
|
+
}
|
|
58
|
+
navigate(-1)
|
|
59
|
+
}
|
|
60
|
+
var getModelName = function (f) {
|
|
61
|
+
if (p && p.name) {
|
|
62
|
+
return p.name
|
|
63
|
+
}
|
|
64
|
+
return core_1.getModelName(f, "model")
|
|
65
|
+
}
|
|
66
|
+
var showModel = function (model) {
|
|
67
|
+
var n = getModelName(refForm.current)
|
|
68
|
+
var objSet = {}
|
|
69
|
+
objSet[n] = model
|
|
70
|
+
setState(objSet)
|
|
71
|
+
}
|
|
72
|
+
var _handleNotFound = function (form) {
|
|
73
|
+
var msg = error_1.message(p1.resource.value, "error_not_found", "error")
|
|
74
|
+
if (form) {
|
|
75
|
+
formutil_1.setReadOnly(form)
|
|
76
|
+
}
|
|
77
|
+
p1.showError(msg.message, msg.title)
|
|
78
|
+
}
|
|
79
|
+
var handleNotFound = p && p.handleNotFound ? p.handleNotFound : _handleNotFound
|
|
80
|
+
var _load = function (_id, callback) {
|
|
81
|
+
var id = _id
|
|
82
|
+
if (id != null && id !== "") {
|
|
83
|
+
setRunning(true)
|
|
84
|
+
core_1.showLoading(p1.loading)
|
|
85
|
+
var fn = typeof service === "function" ? service : service.load
|
|
86
|
+
fn(id)
|
|
87
|
+
.then(function (obj) {
|
|
88
|
+
if (!obj) {
|
|
89
|
+
handleNotFound(refForm.current)
|
|
90
|
+
} else {
|
|
91
|
+
if (callback) {
|
|
92
|
+
callback(obj, showModel)
|
|
93
|
+
} else {
|
|
94
|
+
showModel(obj)
|
|
34
95
|
}
|
|
35
|
-
|
|
36
|
-
|
|
96
|
+
}
|
|
97
|
+
setRunning(false)
|
|
98
|
+
core_1.hideLoading(p1.loading)
|
|
99
|
+
})
|
|
100
|
+
.catch(function (err) {
|
|
101
|
+
var data = err && err.response ? err.response : err
|
|
102
|
+
var r = p1.resource
|
|
103
|
+
var title = r.value("error")
|
|
104
|
+
var msg = r.value("error_internal")
|
|
105
|
+
if (data && data.status === 404) {
|
|
106
|
+
handleNotFound(refForm.current)
|
|
107
|
+
} else {
|
|
108
|
+
if (data && data.status) {
|
|
109
|
+
msg = error_1.messageByHttpStatus(data.status, r.value)
|
|
37
110
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
objSet[n] = model;
|
|
62
|
-
setState(objSet);
|
|
63
|
-
};
|
|
64
|
-
var _handleNotFound = function (form) {
|
|
65
|
-
var msg = core_1.message(p1.resource.value, 'error_not_found', 'error');
|
|
66
|
-
if (form) {
|
|
67
|
-
formutil_1.setReadOnly(form);
|
|
68
|
-
}
|
|
69
|
-
p1.showError(msg.message, msg.title);
|
|
70
|
-
};
|
|
71
|
-
var handleNotFound = (p && p.handleNotFound ? p.handleNotFound : _handleNotFound);
|
|
72
|
-
var _load = function (_id, callback) {
|
|
73
|
-
var id = _id;
|
|
74
|
-
if (id != null && id !== '') {
|
|
75
|
-
setRunning(true);
|
|
76
|
-
core_1.showLoading(p1.loading);
|
|
77
|
-
var fn = (typeof service === 'function' ? service : service.load);
|
|
78
|
-
fn(id).then(function (obj) {
|
|
79
|
-
if (!obj) {
|
|
80
|
-
handleNotFound(refForm.current);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
if (callback) {
|
|
84
|
-
callback(obj, showModel);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
showModel(obj);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
setRunning(false);
|
|
91
|
-
core_1.hideLoading(p1.loading);
|
|
92
|
-
}).catch(function (err) {
|
|
93
|
-
var data = (err && err.response) ? err.response : err;
|
|
94
|
-
var r = p1.resource;
|
|
95
|
-
var title = r.value('error');
|
|
96
|
-
var msg = r.value('error_internal');
|
|
97
|
-
if (data && data.status === 404) {
|
|
98
|
-
handleNotFound(refForm.current);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
if (data && data.status) {
|
|
102
|
-
msg = core_1.messageByHttpStatus(data.status, r.value);
|
|
103
|
-
}
|
|
104
|
-
formutil_1.setReadOnly(refForm.current);
|
|
105
|
-
p1.showError(msg, title);
|
|
106
|
-
}
|
|
107
|
-
setRunning(false);
|
|
108
|
-
core_1.hideLoading(p1.loading);
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
var load = (p && p.load ? p.load : _load);
|
|
113
|
-
return {
|
|
114
|
-
state: state,
|
|
115
|
-
setState: setState,
|
|
116
|
-
refForm: refForm,
|
|
117
|
-
resource: p1.resource.resource(),
|
|
118
|
-
running: running,
|
|
119
|
-
setRunning: setRunning,
|
|
120
|
-
showModel: showModel,
|
|
121
|
-
getModelName: getModelName,
|
|
122
|
-
handleNotFound: handleNotFound,
|
|
123
|
-
load: load,
|
|
124
|
-
back: back
|
|
125
|
-
};
|
|
126
|
-
};
|
|
111
|
+
formutil_1.setReadOnly(refForm.current)
|
|
112
|
+
p1.showError(msg, title)
|
|
113
|
+
}
|
|
114
|
+
setRunning(false)
|
|
115
|
+
core_1.hideLoading(p1.loading)
|
|
116
|
+
})
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
var load = p && p.load ? p.load : _load
|
|
120
|
+
return {
|
|
121
|
+
state: state,
|
|
122
|
+
setState: setState,
|
|
123
|
+
refForm: refForm,
|
|
124
|
+
resource: p1.resource.resource(),
|
|
125
|
+
running: running,
|
|
126
|
+
setRunning: setRunning,
|
|
127
|
+
showModel: showModel,
|
|
128
|
+
getModelName: getModelName,
|
|
129
|
+
handleNotFound: handleNotFound,
|
|
130
|
+
load: load,
|
|
131
|
+
back: back,
|
|
132
|
+
}
|
|
133
|
+
}
|
package/lib/util.js
CHANGED
|
@@ -1,122 +1,111 @@
|
|
|
1
|
-
"use strict"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true })
|
|
3
|
-
var state_1 = require("./state")
|
|
4
|
-
var r1 = / |,|\$|€|£|¥|'|٬|،| /g
|
|
5
|
-
var r2 = / |\.|\$|€|£|¥|'|٬|،| /g
|
|
1
|
+
"use strict"
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true })
|
|
3
|
+
var state_1 = require("./state")
|
|
4
|
+
var r1 = / |,|\$|€|£|¥|'|٬|،| /g
|
|
5
|
+
var r2 = / |\.|\$|€|£|¥|'|٬|،| /g
|
|
6
6
|
function valueOf(ctrl, locale, eventType) {
|
|
7
|
-
if (ctrl.type ===
|
|
8
|
-
var ctrlOnValue = ctrl.getAttribute(
|
|
9
|
-
var ctrlOffValue = ctrl.getAttribute(
|
|
7
|
+
if (ctrl.type === "checkbox") {
|
|
8
|
+
var ctrlOnValue = ctrl.getAttribute("data-on-value")
|
|
9
|
+
var ctrlOffValue = ctrl.getAttribute("data-off-value")
|
|
10
10
|
if (ctrlOnValue && ctrlOffValue) {
|
|
11
|
-
var onValue = ctrlOnValue ? ctrlOnValue : true
|
|
12
|
-
var offValue = ctrlOffValue ? ctrlOffValue : false
|
|
13
|
-
return ctrl.checked === true ? { mustChange: true, value: onValue } : { mustChange: true, value: offValue }
|
|
11
|
+
var onValue = ctrlOnValue ? ctrlOnValue : true
|
|
12
|
+
var offValue = ctrlOffValue ? ctrlOffValue : false
|
|
13
|
+
return ctrl.checked === true ? { mustChange: true, value: onValue } : { mustChange: true, value: offValue }
|
|
14
|
+
} else {
|
|
15
|
+
return ctrl.checked === true ? { mustChange: true, value: true } : { mustChange: true, value: false }
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (datatype === 'number' || datatype === 'int') {
|
|
22
|
-
var v = void 0;
|
|
23
|
-
if (locale && locale.decimalSeparator !== '.') {
|
|
24
|
-
v = ctrl.value.replace(r2, '');
|
|
17
|
+
} else {
|
|
18
|
+
var datatype = ctrl.getAttribute("data-type")
|
|
19
|
+
if (datatype === "number" || datatype === "int") {
|
|
20
|
+
var v = void 0
|
|
21
|
+
if (locale && locale.decimalSeparator !== ".") {
|
|
22
|
+
v = ctrl.value.replace(r2, "")
|
|
25
23
|
if (v.indexOf(locale.decimalSeparator) >= 0) {
|
|
26
|
-
v = v.replace(locale.decimalSeparator,
|
|
24
|
+
v = v.replace(locale.decimalSeparator, ".")
|
|
27
25
|
}
|
|
26
|
+
} else {
|
|
27
|
+
v = ctrl.value.replace(r1, "")
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
var res = getStringCurrency(ctrl.value, datatype, locale, nm, eventType === 'blur');
|
|
38
|
-
return res;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return { mustChange: true, value: ctrl.value };
|
|
29
|
+
return isNaN(v) ? { mustChange: false } : { mustChange: true, value: parseFloat(v) }
|
|
30
|
+
} else if (datatype === "currency" || datatype === "string-currency") {
|
|
31
|
+
var ml = ctrl.getAttribute("maxlength")
|
|
32
|
+
var nm = ml != null && !isNaN(ml) ? parseInt(ml, 10) : undefined
|
|
33
|
+
var res = getStringCurrency(ctrl.value, datatype, locale, nm, eventType === "blur")
|
|
34
|
+
return res
|
|
35
|
+
} else {
|
|
36
|
+
return { mustChange: true, value: ctrl.value }
|
|
42
37
|
}
|
|
43
38
|
}
|
|
44
39
|
}
|
|
45
|
-
exports.valueOf = valueOf
|
|
40
|
+
exports.valueOf = valueOf
|
|
46
41
|
function getStringCurrency(value, datatype, locale, maxLength, isOnBlur) {
|
|
47
|
-
if (locale && locale.decimalSeparator !==
|
|
48
|
-
value = value.replace(r2,
|
|
42
|
+
if (locale && locale.decimalSeparator !== ".") {
|
|
43
|
+
value = value.replace(r2, "")
|
|
49
44
|
if (value.indexOf(locale.decimalSeparator) >= 0) {
|
|
50
|
-
value = value.replace(locale.decimalSeparator,
|
|
45
|
+
value = value.replace(locale.decimalSeparator, ".")
|
|
51
46
|
}
|
|
47
|
+
} else {
|
|
48
|
+
value = value.replace(r1, "")
|
|
52
49
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
if (value === '') {
|
|
57
|
-
return { mustChange: true, value: '' };
|
|
50
|
+
if (value === "") {
|
|
51
|
+
return { mustChange: true, value: "" }
|
|
58
52
|
}
|
|
59
|
-
value = extractNumber(value,
|
|
53
|
+
value = extractNumber(value, ".")
|
|
60
54
|
if (value.length === 0) {
|
|
61
|
-
return { mustChange: false }
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return { mustChange: true, value: value.substring(1) };
|
|
55
|
+
return { mustChange: false }
|
|
56
|
+
} else if (value.length > 0 && value.charAt(0) === "0") {
|
|
57
|
+
return { mustChange: true, value: value.substring(1) }
|
|
65
58
|
}
|
|
66
59
|
if (!locale) {
|
|
67
|
-
locale = state_1.enLocale
|
|
60
|
+
locale = state_1.enLocale
|
|
68
61
|
}
|
|
69
|
-
var decimalDigits = locale ? locale.decimalDigits : 2
|
|
70
|
-
var groupDigits = 3
|
|
71
|
-
var decimalSeparator = locale.decimalSeparator
|
|
72
|
-
var groupSeparator = locale.groupSeparator
|
|
62
|
+
var decimalDigits = locale ? locale.decimalDigits : 2
|
|
63
|
+
var groupDigits = 3
|
|
64
|
+
var decimalSeparator = locale.decimalSeparator
|
|
65
|
+
var groupSeparator = locale.groupSeparator
|
|
73
66
|
if (isOnBlur) {
|
|
74
|
-
var number = Number(value.replace(/^0+/,
|
|
67
|
+
var number = Number(value.replace(/^0+/, ""))
|
|
75
68
|
if (number === 0) {
|
|
76
|
-
return { mustChange: true, value:
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
value = number.toFixed(decimalDigits);
|
|
69
|
+
return { mustChange: true, value: "" }
|
|
70
|
+
} else {
|
|
71
|
+
value = number.toFixed(decimalDigits)
|
|
80
72
|
}
|
|
81
73
|
}
|
|
82
|
-
var dotPosition = value.indexOf(
|
|
83
|
-
var beforeDot = dotPosition >= 0 ? value.substr(0, dotPosition) : value
|
|
84
|
-
if (datatype ===
|
|
85
|
-
beforeDot = beforeDot.replace(new RegExp(
|
|
74
|
+
var dotPosition = value.indexOf(".")
|
|
75
|
+
var beforeDot = dotPosition >= 0 ? value.substr(0, dotPosition) : value
|
|
76
|
+
if (datatype === "string-currency" || isOnBlur) {
|
|
77
|
+
beforeDot = beforeDot.replace(new RegExp("\\B(?=(\\d{" + groupDigits + "})+(?!\\d))", "g"), groupSeparator)
|
|
86
78
|
}
|
|
87
|
-
var afterDot
|
|
79
|
+
var afterDot
|
|
88
80
|
if (dotPosition > 0) {
|
|
89
|
-
afterDot = value.substr(dotPosition + 1)
|
|
81
|
+
afterDot = value.substr(dotPosition + 1)
|
|
90
82
|
if (afterDot.length > decimalDigits) {
|
|
91
|
-
afterDot = afterDot.substr(0, decimalDigits)
|
|
83
|
+
afterDot = afterDot.substr(0, decimalDigits)
|
|
92
84
|
}
|
|
93
85
|
}
|
|
94
86
|
if (maxLength && beforeDot.length > maxLength - (decimalDigits + 1)) {
|
|
95
|
-
return { mustChange: false }
|
|
87
|
+
return { mustChange: false }
|
|
96
88
|
}
|
|
97
|
-
value = dotPosition >= 0 ? beforeDot + decimalSeparator + afterDot : beforeDot
|
|
98
|
-
return maxLength && value.length > maxLength ? { mustChange: false } : { mustChange: true, value: value }
|
|
89
|
+
value = dotPosition >= 0 ? beforeDot + decimalSeparator + afterDot : beforeDot
|
|
90
|
+
return maxLength && value.length > maxLength ? { mustChange: false } : { mustChange: true, value: value }
|
|
99
91
|
}
|
|
100
92
|
function extractNumber(str, decimalSeparator) {
|
|
101
|
-
var arrs = []
|
|
102
|
-
var d = false
|
|
93
|
+
var arrs = []
|
|
94
|
+
var d = false
|
|
103
95
|
for (var i = 0; i < str.length; i++) {
|
|
104
|
-
var ch = str.charAt(i)
|
|
105
|
-
if (ch >=
|
|
106
|
-
arrs.push(ch)
|
|
107
|
-
}
|
|
108
|
-
else if (ch === decimalSeparator) {
|
|
96
|
+
var ch = str.charAt(i)
|
|
97
|
+
if (ch >= "0" && ch <= "9") {
|
|
98
|
+
arrs.push(ch)
|
|
99
|
+
} else if (ch === decimalSeparator) {
|
|
109
100
|
if (d) {
|
|
110
|
-
return arrs.join(
|
|
101
|
+
return arrs.join("")
|
|
102
|
+
} else {
|
|
103
|
+
d = true
|
|
104
|
+
arrs.push(ch)
|
|
111
105
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
arrs.push(ch);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
return arrs.join('');
|
|
106
|
+
} else {
|
|
107
|
+
return arrs.join("")
|
|
119
108
|
}
|
|
120
109
|
}
|
|
121
|
-
return arrs.join(
|
|
110
|
+
return arrs.join("")
|
|
122
111
|
}
|
package/package.json
CHANGED
package/src/com.ts
CHANGED
|
@@ -1,42 +1,56 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { Locale, pageSizes } from
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import { Locale, pageSizes } from "./core"
|
|
3
3
|
|
|
4
4
|
export interface PageSizeProps {
|
|
5
|
-
id?: string
|
|
6
|
-
name?: string
|
|
7
|
-
size?: number
|
|
8
|
-
sizes?: number[]
|
|
9
|
-
onChange?: React.ChangeEventHandler<HTMLSelectElement
|
|
5
|
+
id?: string
|
|
6
|
+
name?: string
|
|
7
|
+
size?: number
|
|
8
|
+
sizes?: number[]
|
|
9
|
+
onChange?: React.ChangeEventHandler<HTMLSelectElement>
|
|
10
10
|
}
|
|
11
11
|
export function PageSizeSelect(p: PageSizeProps) {
|
|
12
|
-
const g = p.sizes
|
|
13
|
-
const s =
|
|
14
|
-
const opts = s.map(pgSize => React.createElement(
|
|
15
|
-
return React.createElement(
|
|
12
|
+
const g = p.sizes
|
|
13
|
+
const s = !g || g.length === 0 ? pageSizes : g
|
|
14
|
+
const opts = s.map((pgSize) => React.createElement("option", { key: pgSize, value: pgSize }, pgSize))
|
|
15
|
+
return React.createElement("select", { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts)
|
|
16
16
|
}
|
|
17
17
|
export interface Props {
|
|
18
|
-
id?: string
|
|
19
|
-
name?: string
|
|
20
|
-
size?: number
|
|
21
|
-
sizes?: number[]
|
|
22
|
-
className?: string
|
|
23
|
-
maxLength?: number
|
|
24
|
-
value?: string
|
|
25
|
-
placeholder?: string
|
|
26
|
-
pageSizeChanged?: (event: any) => void
|
|
27
|
-
search?: React.MouseEventHandler<HTMLElement
|
|
28
|
-
toggle?: React.MouseEventHandler<HTMLElement
|
|
29
|
-
clear?: React.MouseEventHandler<HTMLButtonElement
|
|
30
|
-
onChange?: (e: any, callback?: (() => void) | undefined, lc?: Locale | undefined) => void
|
|
18
|
+
id?: string
|
|
19
|
+
name?: string
|
|
20
|
+
size?: number
|
|
21
|
+
sizes?: number[]
|
|
22
|
+
className?: string
|
|
23
|
+
maxLength?: number
|
|
24
|
+
value?: string
|
|
25
|
+
placeholder?: string
|
|
26
|
+
pageSizeChanged?: (event: any) => void
|
|
27
|
+
search?: React.MouseEventHandler<HTMLElement>
|
|
28
|
+
toggle?: React.MouseEventHandler<HTMLElement>
|
|
29
|
+
clear?: React.MouseEventHandler<HTMLButtonElement>
|
|
30
|
+
onChange?: (e: any, callback?: (() => void) | undefined, lc?: Locale | undefined) => void
|
|
31
31
|
}
|
|
32
32
|
export function Search(p: Props) {
|
|
33
|
-
return
|
|
34
|
-
React.
|
|
33
|
+
return React.createElement(
|
|
34
|
+
React.Fragment,
|
|
35
|
+
null,
|
|
36
|
+
React.createElement(
|
|
37
|
+
"label",
|
|
38
|
+
{ className: p.className },
|
|
35
39
|
p.pageSizeChanged && React.createElement(PageSizeSelect, { size: p.size, sizes: p.sizes, onChange: p.pageSizeChanged, name: p.name, id: p.id }),
|
|
36
|
-
React.createElement("input", {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
React.createElement("input", {
|
|
41
|
+
type: "text",
|
|
42
|
+
id: "q",
|
|
43
|
+
name: "q",
|
|
44
|
+
value: p.value || "",
|
|
45
|
+
onChange: p.onChange,
|
|
46
|
+
maxLength: p.maxLength,
|
|
47
|
+
placeholder: p.placeholder,
|
|
48
|
+
}),
|
|
49
|
+
p.clear && React.createElement("button", { type: "button", hidden: !p.value, className: "btn-remove-text", onClick: p.clear }),
|
|
50
|
+
p.toggle && React.createElement("button", { type: "button", className: "btn-filter", onClick: p.toggle }),
|
|
51
|
+
p.search && React.createElement("button", { type: "submit", className: "btn-search", onClick: p.search }),
|
|
52
|
+
),
|
|
53
|
+
)
|
|
40
54
|
/*
|
|
41
55
|
return (
|
|
42
56
|
<>
|