react-hook-core 0.1.4 → 0.1.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 +15 -0
- package/lib/components.js +24 -66
- package/lib/core.js +8 -12
- package/lib/diff.js +2 -2
- package/lib/formutil.js +2 -2
- package/lib/index.js +5 -9
- package/lib/reflect.js +268 -0
- package/lib/search.js +579 -0
- package/lib/state.js +4 -4
- package/lib/update.js +7 -20
- package/lib/useEdit.js +43 -28
- package/lib/useSearch.js +33 -50
- package/lib/useView.js +24 -26
- package/package.json +5 -7
- package/src/com.ts +53 -0
- package/src/components.ts +11 -54
- package/src/core.ts +55 -59
- package/src/diff.ts +1 -1
- package/src/formutil.ts +2 -2
- package/src/index.ts +6 -9
- package/src/reflect.ts +244 -0
- package/src/search.ts +600 -0
- package/src/state.ts +1 -1
- package/src/update.ts +7 -19
- package/src/useEdit.ts +50 -34
- package/src/useSearch.ts +29 -42
- package/src/useView.ts +31 -34
- package/tsconfig.json +1 -0
- package/lib/router.js +0 -35
- package/src/router.ts +0 -39
package/lib/useEdit.js
CHANGED
|
@@ -12,21 +12,50 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
var react_1 = require("react");
|
|
15
|
-
var
|
|
15
|
+
var react_router_1 = require("react-router");
|
|
16
16
|
var core_1 = require("./core");
|
|
17
17
|
var edit_1 = require("./edit");
|
|
18
18
|
var formutil_1 = require("./formutil");
|
|
19
19
|
var merge_1 = require("./merge");
|
|
20
|
-
var
|
|
20
|
+
var reflect_1 = require("./reflect");
|
|
21
21
|
var state_1 = require("./state");
|
|
22
22
|
var update_1 = require("./update");
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
exports.useEdit = function (refForm, initialState, service, p2, p) {
|
|
24
|
+
var params = react_router_1.useParams();
|
|
25
|
+
var baseProps = exports.useCoreEdit(refForm, initialState, service, p2, p);
|
|
26
|
+
react_1.useEffect(function () {
|
|
27
|
+
if (refForm) {
|
|
28
|
+
var registerEvents = (p2.ui ? p2.ui.registerEvents : undefined);
|
|
29
|
+
core_1.initForm(baseProps.refForm.current, registerEvents);
|
|
30
|
+
}
|
|
31
|
+
var n = baseProps.getModelName(refForm.current);
|
|
32
|
+
var obj = {};
|
|
33
|
+
obj[n] = baseProps.createNewModel();
|
|
34
|
+
baseProps.setState(obj);
|
|
35
|
+
var keys;
|
|
36
|
+
if (p && !p.keys && service && service.metadata) {
|
|
37
|
+
var metadata = (p.metadata ? p.metadata : service.metadata());
|
|
38
|
+
if (metadata) {
|
|
39
|
+
var meta = edit_1.build(metadata);
|
|
40
|
+
keys = (p.keys ? p.keys : (meta ? meta.keys : undefined));
|
|
41
|
+
var version = (p.version ? p.version : (meta ? meta.version : undefined));
|
|
42
|
+
p.keys = keys;
|
|
43
|
+
p.version = version;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
var id = core_1.buildId(params, keys);
|
|
47
|
+
if (p && p.initialize) {
|
|
48
|
+
p.initialize(id, baseProps.load, baseProps.setState, p.callback);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
baseProps.load(id, p ? p.callback : undefined);
|
|
52
|
+
}
|
|
53
|
+
}, []);
|
|
54
|
+
return __assign({}, baseProps);
|
|
27
55
|
};
|
|
28
56
|
exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
|
|
29
|
-
var
|
|
57
|
+
var params = react_router_1.useParams();
|
|
58
|
+
var baseProps = exports.useCoreEdit(refForm, initialState, service, p2, p, props);
|
|
30
59
|
react_1.useEffect(function () {
|
|
31
60
|
if (refForm) {
|
|
32
61
|
var registerEvents = (p2.ui ? p2.ui.registerEvents : undefined);
|
|
@@ -47,7 +76,7 @@ exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
|
|
|
47
76
|
p.version = version;
|
|
48
77
|
}
|
|
49
78
|
}
|
|
50
|
-
var id = core_1.buildId(
|
|
79
|
+
var id = core_1.buildId(params, keys);
|
|
51
80
|
if (p && p.initialize) {
|
|
52
81
|
p.initialize(id, baseProps.load, baseProps.setState, p.callback);
|
|
53
82
|
}
|
|
@@ -63,14 +92,14 @@ exports.useEditOneProps = function (p) {
|
|
|
63
92
|
exports.useEditOne = function (p) {
|
|
64
93
|
return exports.useEdit(p.refForm, p.initialState, p.service, p, p);
|
|
65
94
|
};
|
|
66
|
-
exports.useCoreEdit = function (
|
|
95
|
+
exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
96
|
+
var navigate = react_router_1.useNavigate();
|
|
67
97
|
var addable = (p && p.patchable !== false ? true : undefined);
|
|
68
|
-
var goBack = router_1.useRouter().goBack;
|
|
69
98
|
var back = function (event) {
|
|
70
99
|
if (event) {
|
|
71
100
|
event.preventDefault();
|
|
72
101
|
}
|
|
73
|
-
|
|
102
|
+
navigate(-1);
|
|
74
103
|
};
|
|
75
104
|
var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
|
|
76
105
|
var getModelName = function (f) {
|
|
@@ -80,19 +109,6 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
80
109
|
return core_1.getModelName(f);
|
|
81
110
|
};
|
|
82
111
|
var baseProps = update_1.useUpdate(initialState, getModelName, p1.getLocale);
|
|
83
|
-
var prepareCustomData = (p && p.prepareCustomData ? p.prepareCustomData : prepareData);
|
|
84
|
-
var updateDateState = function (name, value) {
|
|
85
|
-
var _a, _b, _c, _d, _e;
|
|
86
|
-
var modelName = getModelName(refForm.current);
|
|
87
|
-
var currentState = state[modelName];
|
|
88
|
-
if (props && props.setGlobalState) {
|
|
89
|
-
var data = props.shouldBeCustomized ? prepareCustomData((_a = {}, _a[name] = value, _a)) : (_b = {}, _b[name] = value, _b);
|
|
90
|
-
props.setGlobalState((_c = {}, _c[modelName] = __assign(__assign({}, currentState), data), _c));
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
setState((_d = {}, _d[modelName] = __assign(__assign({}, currentState), (_e = {}, _e[name] = value, _e)), _d));
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
112
|
var state = baseProps.state, setState = baseProps.setState;
|
|
97
113
|
var _b = merge_1.useMergeState({
|
|
98
114
|
newMode: false,
|
|
@@ -189,7 +205,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
189
205
|
});
|
|
190
206
|
}
|
|
191
207
|
else {
|
|
192
|
-
var diffObj_1 =
|
|
208
|
+
var diffObj_1 = reflect_1.makeDiff(edit_1.initPropertyNullInModel(flag.originalModel, metadata), obj_1, keys, version_1);
|
|
193
209
|
var objKeys = Object.keys(diffObj_1);
|
|
194
210
|
if (objKeys.length === 0) {
|
|
195
211
|
p1.showMessage(p1.resource.value('msg_no_change'));
|
|
@@ -228,7 +244,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
228
244
|
var model = result.value;
|
|
229
245
|
setFlag({ newMode: false });
|
|
230
246
|
if (model && flag.setBack === true) {
|
|
231
|
-
resetState(false, model,
|
|
247
|
+
resetState(false, model, reflect_1.clone(model));
|
|
232
248
|
}
|
|
233
249
|
else {
|
|
234
250
|
edit_1.handleVersion(obj, version);
|
|
@@ -347,7 +363,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
347
363
|
handleNotFound(refForm.current);
|
|
348
364
|
}
|
|
349
365
|
else {
|
|
350
|
-
setFlag({ newMode: false, originalModel:
|
|
366
|
+
setFlag({ newMode: false, originalModel: reflect_1.clone(obj) });
|
|
351
367
|
if (callback) {
|
|
352
368
|
callback(obj, showModel);
|
|
353
369
|
}
|
|
@@ -395,7 +411,6 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
395
411
|
refForm: refForm, ui: p1.ui, resource: p1.resource.resource(), flag: flag,
|
|
396
412
|
running: running,
|
|
397
413
|
setRunning: setRunning,
|
|
398
|
-
updateDateState: updateDateState,
|
|
399
414
|
showModel: showModel,
|
|
400
415
|
getModelName: getModelName,
|
|
401
416
|
resetState: resetState,
|
package/lib/useSearch.js
CHANGED
|
@@ -12,18 +12,15 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
var react_1 = require("react");
|
|
15
|
-
var react_router_dom_1 = require("react-router-dom");
|
|
16
|
-
var reflectx_1 = require("reflectx");
|
|
17
|
-
var search_core_1 = require("search-core");
|
|
18
15
|
var core_1 = require("./core");
|
|
19
16
|
var merge_1 = require("./merge");
|
|
17
|
+
var reflect_1 = require("./reflect");
|
|
20
18
|
var route_1 = require("./route");
|
|
19
|
+
var search_1 = require("./search");
|
|
21
20
|
var state_1 = require("./state");
|
|
22
21
|
var update_1 = require("./update");
|
|
23
|
-
function prepareData(data) {
|
|
24
|
-
}
|
|
25
22
|
exports.callSearch = function (se, search3, showResults3, searchError3, lc, nextPageToken) {
|
|
26
|
-
var s =
|
|
23
|
+
var s = reflect_1.clone(se);
|
|
27
24
|
var page = se.page;
|
|
28
25
|
if (!page || page < 1) {
|
|
29
26
|
page = 1;
|
|
@@ -50,7 +47,7 @@ exports.callSearch = function (se, search3, showResults3, searchError3, lc, next
|
|
|
50
47
|
}).catch(function (err) { return searchError3(err); });
|
|
51
48
|
};
|
|
52
49
|
var appendListOfState = function (results, list, setState2) {
|
|
53
|
-
var arr =
|
|
50
|
+
var arr = search_1.append(list, results);
|
|
54
51
|
setState2({ list: arr });
|
|
55
52
|
};
|
|
56
53
|
var setListOfState = function (list, setState2) {
|
|
@@ -101,8 +98,9 @@ function mergeParam(p) {
|
|
|
101
98
|
};
|
|
102
99
|
}
|
|
103
100
|
}
|
|
101
|
+
exports.mergeParam = mergeParam;
|
|
104
102
|
exports.useSearch = function (refForm, initialState, service, p2, p) {
|
|
105
|
-
var baseProps = exports.useCoreSearch(
|
|
103
|
+
var baseProps = exports.useCoreSearch(refForm, initialState, service, p2, p);
|
|
106
104
|
react_1.useEffect(function () {
|
|
107
105
|
var load = baseProps.load, setState = baseProps.setState, component = baseProps.component;
|
|
108
106
|
if (refForm) {
|
|
@@ -114,7 +112,7 @@ exports.useSearch = function (refForm, initialState, service, p2, p) {
|
|
|
114
112
|
}
|
|
115
113
|
else {
|
|
116
114
|
var se = (p && p.createFilter ? p.createFilter() : undefined);
|
|
117
|
-
var s =
|
|
115
|
+
var s = search_1.mergeFilter(route_1.buildFromUrl(), se, component.pageSizes);
|
|
118
116
|
load(s, p2.auto);
|
|
119
117
|
}
|
|
120
118
|
}, []);
|
|
@@ -124,54 +122,35 @@ exports.useSearchOneProps = function (p) {
|
|
|
124
122
|
return exports.useSearch(p.refForm, p.initialState, p.service, p, p);
|
|
125
123
|
};
|
|
126
124
|
exports.useSearchOne = function (p) {
|
|
127
|
-
return exports.useCoreSearch(
|
|
125
|
+
return exports.useCoreSearch(p.refForm, p.initialState, p.service, p, p);
|
|
128
126
|
};
|
|
129
|
-
exports.useCoreSearch = function (
|
|
127
|
+
exports.useCoreSearch = function (refForm, initialState, service, p1, p2) {
|
|
130
128
|
var p = mergeParam(p2);
|
|
131
129
|
var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
|
|
132
130
|
var _getModelName = function () {
|
|
133
131
|
return core_1.getName('filter', p && p.name ? p.name : undefined);
|
|
134
132
|
};
|
|
135
133
|
var getModelName = (p && p.getModelName ? p.getModelName : _getModelName);
|
|
136
|
-
var baseProps =
|
|
134
|
+
var baseProps = update_1.useUpdate(initialState, getModelName, p1.getLocale, core_1.getRemoveError(p1));
|
|
137
135
|
var state = baseProps.state, setState = baseProps.setState;
|
|
138
|
-
var _b = [react_router_dom_1.useHistory(), react_router_dom_1.useRouteMatch()], history = _b[0], match = _b[1];
|
|
139
136
|
var _getCurrencyCode = function () {
|
|
140
137
|
return refForm && refForm.current ? refForm.current.getAttribute('currency-code') : null;
|
|
141
138
|
};
|
|
142
139
|
var getCurrencyCode = p && p.getCurrencyCode ? p.getCurrencyCode : _getCurrencyCode;
|
|
143
|
-
var
|
|
144
|
-
var updateDateState = function (name, value) {
|
|
145
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
146
|
-
var modelName = getModelName();
|
|
147
|
-
var currentState = state[modelName];
|
|
148
|
-
if (props && props.setGlobalState) {
|
|
149
|
-
var data = props.shouldBeCustomized ? prepareCustomData((_a = {}, _a[name] = value, _a)) : (_b = {}, _b[name] = value, _b);
|
|
150
|
-
props.setGlobalState((_c = {}, _c[modelName] = __assign(__assign({}, currentState), data), _c));
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
setState((_d = {}, _d[modelName] = __assign(__assign({}, currentState), (_e = {}, _e[name] = value, _e)), _d));
|
|
154
|
-
}
|
|
155
|
-
setState((_f = {}, _f[modelName] = __assign(__assign({}, currentState), (_g = {}, _g[name] = value, _g)), _f));
|
|
156
|
-
};
|
|
157
|
-
var _c = merge_1.useMergeState(p), component = _c[0], setComponent = _c[1];
|
|
140
|
+
var _b = merge_1.useMergeState(p), component = _b[0], setComponent = _b[1];
|
|
158
141
|
var toggleFilter = function (event) {
|
|
159
142
|
var x = !component.hideFilter;
|
|
160
143
|
core_1.handleToggle(event.target, !x);
|
|
161
144
|
setComponent({ hideFilter: x });
|
|
162
145
|
};
|
|
163
|
-
var add = function (event) {
|
|
164
|
-
event.preventDefault();
|
|
165
|
-
history.push(match.url + '/add');
|
|
166
|
-
};
|
|
167
146
|
var _getFields = function () {
|
|
168
147
|
var fields = component.fields, initFields = component.initFields;
|
|
169
|
-
var fs =
|
|
148
|
+
var fs = search_1.getFieldsFromForm(fields, initFields, refForm.current);
|
|
170
149
|
setComponent({ fields: fs, initFields: true });
|
|
171
150
|
return fs;
|
|
172
151
|
};
|
|
173
152
|
var getFields = p && p.getFields ? p.getFields : _getFields;
|
|
174
|
-
var
|
|
153
|
+
var _getFilter = function (se) {
|
|
175
154
|
if (!se) {
|
|
176
155
|
se = component;
|
|
177
156
|
}
|
|
@@ -186,9 +165,10 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
186
165
|
}
|
|
187
166
|
var lc = (p1.getLocale ? p1.getLocale() : state_1.enLocale);
|
|
188
167
|
var cc = getCurrencyCode();
|
|
189
|
-
var obj3 =
|
|
168
|
+
var obj3 = search_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(p1), lc, cc);
|
|
190
169
|
return obj3;
|
|
191
170
|
};
|
|
171
|
+
var getFilter = p && p.getFilter ? p.getFilter : _getFilter;
|
|
192
172
|
var _setFilter = function (s) {
|
|
193
173
|
var objSet = {};
|
|
194
174
|
var n = getModelName();
|
|
@@ -198,7 +178,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
198
178
|
var setFilter = p && p.setFilter ? p.setFilter : _setFilter;
|
|
199
179
|
var _load = function (s, auto) {
|
|
200
180
|
var com = Object.assign({}, component);
|
|
201
|
-
var obj2 =
|
|
181
|
+
var obj2 = search_1.initFilter(s, com);
|
|
202
182
|
setComponent(com);
|
|
203
183
|
setFilter(obj2);
|
|
204
184
|
var runSearch = doSearch;
|
|
@@ -220,7 +200,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
220
200
|
setRunning(true);
|
|
221
201
|
core_1.showLoading(p1.loading);
|
|
222
202
|
if (p && !p.ignoreUrlParam) {
|
|
223
|
-
|
|
203
|
+
search_1.addParametersIntoUrl(s, isFirstLoad);
|
|
224
204
|
}
|
|
225
205
|
var lc = p1.getLocale ? p1.getLocale() : state_1.enLocale;
|
|
226
206
|
if (typeof service === 'function') {
|
|
@@ -232,7 +212,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
232
212
|
});
|
|
233
213
|
};
|
|
234
214
|
var _validateSearch = function (se, callback) {
|
|
235
|
-
|
|
215
|
+
search_1.validate(se, callback, refForm.current, (p1.getLocale ? p1.getLocale() : undefined), core_1.getValidateForm(p1));
|
|
236
216
|
};
|
|
237
217
|
var validateSearch = p && p.validateSearch ? p.validateSearch : _validateSearch;
|
|
238
218
|
var pageSizeChanged = function (event) {
|
|
@@ -247,12 +227,15 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
247
227
|
});
|
|
248
228
|
doSearch(component);
|
|
249
229
|
};
|
|
250
|
-
var clearQ = function (
|
|
230
|
+
var clearQ = function (e) {
|
|
231
|
+
if (e) {
|
|
232
|
+
e.preventDefault();
|
|
233
|
+
}
|
|
251
234
|
var n = getModelName();
|
|
252
235
|
if (n && n.length > 0) {
|
|
253
236
|
var m = state[n];
|
|
254
237
|
if (m) {
|
|
255
|
-
m.
|
|
238
|
+
m.q = '';
|
|
256
239
|
var setObj = {};
|
|
257
240
|
setObj[n] = m;
|
|
258
241
|
setState(setObj);
|
|
@@ -270,7 +253,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
270
253
|
event.preventDefault();
|
|
271
254
|
if (event && event.target) {
|
|
272
255
|
var target = event.target;
|
|
273
|
-
var s =
|
|
256
|
+
var s = search_1.handleSort(target, component.sortTarget, component.sortField, component.sortType);
|
|
274
257
|
setComponent({
|
|
275
258
|
sortField: s.field,
|
|
276
259
|
sortType: s.type,
|
|
@@ -305,7 +288,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
305
288
|
return;
|
|
306
289
|
}
|
|
307
290
|
setComponent({ pageIndex: 1, tmpPageIndex: 1 });
|
|
308
|
-
|
|
291
|
+
search_1.removeSortStatus(component.sortTarget);
|
|
309
292
|
setComponent({
|
|
310
293
|
sortTarget: undefined,
|
|
311
294
|
sortField: undefined,
|
|
@@ -327,7 +310,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
327
310
|
var _showResults = function (s, sr, lc) {
|
|
328
311
|
var results = sr.list;
|
|
329
312
|
if (results && results.length > 0) {
|
|
330
|
-
|
|
313
|
+
search_1.formatResults(results, component.pageIndex, component.pageSize, component.pageSize, p ? p.sequenceNo : undefined, p ? p.format : undefined, lc);
|
|
331
314
|
}
|
|
332
315
|
var am = component.appendMode;
|
|
333
316
|
var pi = (s.page && s.page >= 1 ? s.page : 1);
|
|
@@ -337,7 +320,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
337
320
|
if ((!s.page || s.page <= 1) && s.firstLimit && s.firstLimit > 0) {
|
|
338
321
|
limit = s.firstLimit;
|
|
339
322
|
}
|
|
340
|
-
|
|
323
|
+
search_1.handleAppend(component, sr.list, limit, sr.nextPageToken);
|
|
341
324
|
if (component.append && (s.page && s.page > 1)) {
|
|
342
325
|
appendList(results, component.list, setState);
|
|
343
326
|
}
|
|
@@ -346,11 +329,11 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
346
329
|
}
|
|
347
330
|
}
|
|
348
331
|
else {
|
|
349
|
-
|
|
332
|
+
search_1.showPaging(component, sr.list, s.limit, sr.total);
|
|
350
333
|
setList(results, setState);
|
|
351
334
|
setComponent({ tmpPageIndex: s.page });
|
|
352
335
|
if (s.limit) {
|
|
353
|
-
var m1 =
|
|
336
|
+
var m1 = search_1.buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
|
|
354
337
|
p1.showMessage(m1);
|
|
355
338
|
}
|
|
356
339
|
}
|
|
@@ -383,10 +366,8 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
383
366
|
return __assign(__assign({}, baseProps), {
|
|
384
367
|
running: running,
|
|
385
368
|
setRunning: setRunning,
|
|
386
|
-
getCurrencyCode: getCurrencyCode,
|
|
387
|
-
updateDateState: updateDateState, resource: p1.resource.resource(), setComponent: setComponent,
|
|
369
|
+
getCurrencyCode: getCurrencyCode, resource: p1.resource.resource(), setComponent: setComponent,
|
|
388
370
|
component: component, showMessage: p1.showMessage, load: load,
|
|
389
|
-
add: add,
|
|
390
371
|
search: search,
|
|
391
372
|
sort: sort,
|
|
392
373
|
changeView: changeView,
|
|
@@ -394,7 +375,9 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
|
|
|
394
375
|
toggleFilter: toggleFilter,
|
|
395
376
|
doSearch: doSearch,
|
|
396
377
|
pageChanged: pageChanged,
|
|
397
|
-
pageSizeChanged: pageSizeChanged,
|
|
378
|
+
pageSizeChanged: pageSizeChanged,
|
|
379
|
+
clearQ: clearQ,
|
|
380
|
+
showResults: showResults,
|
|
398
381
|
getFields: getFields,
|
|
399
382
|
getModelName: getModelName, format: p ? p.format : undefined
|
|
400
383
|
});
|
package/lib/useView.js
CHANGED
|
@@ -12,25 +12,42 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
var react_1 = require("react");
|
|
15
|
+
var react_router_1 = require("react-router");
|
|
15
16
|
var core_1 = require("./core");
|
|
16
17
|
var formutil_1 = require("./formutil");
|
|
17
18
|
var merge_1 = require("./merge");
|
|
18
|
-
var router_1 = require("./router");
|
|
19
|
-
exports.useViewOneProps = function (p) {
|
|
20
|
-
return exports.useViewProps(p.props, p.refForm, p.initialState, p.service, p, p);
|
|
21
|
-
};
|
|
22
19
|
exports.useViewOne = function (p) {
|
|
23
|
-
return exports.
|
|
20
|
+
return exports.useCoreView(p.refForm, p.initialState, p.service, p, p);
|
|
24
21
|
};
|
|
25
22
|
exports.useView = function (refForm, initialState, service, p1, p) {
|
|
23
|
+
var baseProps = exports.useCoreView(refForm, initialState, service, p1, p);
|
|
24
|
+
var _a = merge_1.useMergeState(initialState), setState = _a[1];
|
|
25
|
+
var params = react_router_1.useParams();
|
|
26
|
+
react_1.useEffect(function () {
|
|
27
|
+
if (baseProps.refForm) {
|
|
28
|
+
core_1.initForm(baseProps.refForm.current);
|
|
29
|
+
}
|
|
30
|
+
var id = core_1.buildId(params, p ? p.keys : undefined);
|
|
31
|
+
if (id) {
|
|
32
|
+
if (p && p.initialize) {
|
|
33
|
+
p.initialize(id, baseProps.load, setState, p.callback);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
baseProps.load(id, p ? p.callback : undefined);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
return __assign({}, baseProps);
|
|
41
|
+
};
|
|
42
|
+
exports.useCoreView = function (refForm, initialState, service, p1, p) {
|
|
26
43
|
var _a = merge_1.useMergeState(initialState), state = _a[0], setState = _a[1];
|
|
27
44
|
var _b = react_1.useState(), running = _b[0], setRunning = _b[1];
|
|
28
|
-
var
|
|
45
|
+
var navigate = react_router_1.useNavigate();
|
|
29
46
|
var back = function (event) {
|
|
30
47
|
if (event) {
|
|
31
48
|
event.preventDefault();
|
|
32
49
|
}
|
|
33
|
-
|
|
50
|
+
navigate(-1);
|
|
34
51
|
};
|
|
35
52
|
var getModelName = function (f) {
|
|
36
53
|
if (p && p.name) {
|
|
@@ -107,22 +124,3 @@ exports.useView = function (refForm, initialState, service, p1, p) {
|
|
|
107
124
|
back: back
|
|
108
125
|
};
|
|
109
126
|
};
|
|
110
|
-
exports.useViewProps = function (props, refForm, initialState, service, p1, p) {
|
|
111
|
-
var baseProps = exports.useView(refForm, initialState, service, p1, p);
|
|
112
|
-
var _a = merge_1.useMergeState(initialState), state = _a[0], setState = _a[1];
|
|
113
|
-
react_1.useEffect(function () {
|
|
114
|
-
if (baseProps.refForm) {
|
|
115
|
-
core_1.initForm(baseProps.refForm.current);
|
|
116
|
-
}
|
|
117
|
-
var id = core_1.buildId(props, p ? p.keys : undefined);
|
|
118
|
-
if (id) {
|
|
119
|
-
if (p && p.initialize) {
|
|
120
|
-
p.initialize(id, baseProps.load, setState, p.callback);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
baseProps.load(id, p ? p.callback : undefined);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}, []);
|
|
127
|
-
return __assign({}, baseProps);
|
|
128
|
-
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-hook-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "react",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -9,13 +9,11 @@
|
|
|
9
9
|
"clean:lib": "rimraf lib"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@types/react": "^
|
|
13
|
-
"@types/react-router-dom": "^5.
|
|
12
|
+
"@types/react": "^17.0.41",
|
|
13
|
+
"@types/react-router-dom": "^5.3.3",
|
|
14
14
|
"query-string": "^6.13.1",
|
|
15
|
-
"react": "^
|
|
16
|
-
"react-router-dom": "^
|
|
17
|
-
"reflectx": "^0.0.10",
|
|
18
|
-
"search-core": "^0.1.1",
|
|
15
|
+
"react": "^17.0.2",
|
|
16
|
+
"react-router-dom": "^6.2.2",
|
|
19
17
|
"tslint": "^5.10.0",
|
|
20
18
|
"typescript": "^3.3.3333"
|
|
21
19
|
},
|
package/src/com.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Locale, pageSizes } from './core';
|
|
3
|
+
|
|
4
|
+
export interface PageSizeProps {
|
|
5
|
+
id?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
sizes?: number[];
|
|
9
|
+
onChange?: React.ChangeEventHandler<HTMLSelectElement>;
|
|
10
|
+
}
|
|
11
|
+
export function PageSizeSelect(p: PageSizeProps) {
|
|
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
|
+
}
|
|
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<HTMLElement>;
|
|
30
|
+
onChange?: (e: any, callback?: (() => void) | undefined, lc?: Locale | undefined) => void;
|
|
31
|
+
}
|
|
32
|
+
export function Search(p: Props) {
|
|
33
|
+
return (React.createElement(React.Fragment, null,
|
|
34
|
+
React.createElement("label", { className: p.className },
|
|
35
|
+
p.pageSizeChanged && React.createElement(PageSizeSelect, { size: p.size, sizes: p.sizes, onChange: p.pageSizeChanged, name: p.name, id: p.id }),
|
|
36
|
+
React.createElement("input", { type: 'text', id: 'q', name: 'q', value: p.value || '', onChange: p.onChange, maxLength: p.maxLength, placeholder: p.placeholder }),
|
|
37
|
+
p.clear && React.createElement("button", { type: 'button', hidden: !p.value, className: 'btn-remove-text', onClick: p.clear }),
|
|
38
|
+
p.toggle && React.createElement("button", { type: 'button', className: 'btn-filter', onClick: p.toggle }),
|
|
39
|
+
p.search && React.createElement("button", { type: 'submit', className: 'btn-search', onClick: p.search }))));
|
|
40
|
+
/*
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
<label className={p.className}>
|
|
44
|
+
{p.pageSizeChanged && <PageSizeSelect size={p.size} sizes={p.sizes} onChange={p.pageSizeChanged} name={p.name} id={p.id} />}
|
|
45
|
+
<input type='text' id='q' name='q' value={p.value || ''} onChange={p.onChange} maxLength={p.maxLength} placeholder={p.placeholder} />
|
|
46
|
+
{p.clear && <button type='button' hidden={!p.value} className='btn-remove-text' onClick={p.clear}/>}
|
|
47
|
+
{p.toggle && <button type='button' className='btn-filter' onClick={p.toggle} />}
|
|
48
|
+
{p.search && <button type='submit' className='btn-search' onClick={p.search} />}
|
|
49
|
+
</label>
|
|
50
|
+
</>
|
|
51
|
+
);
|
|
52
|
+
*/
|
|
53
|
+
}
|