react-hook-core 0.1.2 → 0.1.5
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/README.md +1 -1
- package/lib/components.js +51 -92
- package/lib/core.js +21 -12
- package/lib/diff.js +2 -2
- package/lib/formutil.js +2 -2
- package/lib/index.js +44 -8
- 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 +63 -49
- package/lib/useSearch.js +65 -69
- package/lib/useView.js +24 -26
- package/package.json +5 -7
- package/src/components.ts +56 -97
- package/src/core.ts +70 -59
- package/src/diff.ts +1 -1
- package/src/formutil.ts +2 -2
- package/src/index.ts +35 -11
- 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 +75 -59
- package/src/useSearch.ts +74 -64
- package/src/useView.ts +31 -34
- package/tsconfig.json +3 -1
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);
|
|
@@ -39,21 +68,21 @@ exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
|
|
|
39
68
|
var keys;
|
|
40
69
|
if (p && !p.keys && service && service.metadata) {
|
|
41
70
|
var metadata = (p.metadata ? p.metadata : service.metadata());
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
var id = core_1.buildId(props, keys);
|
|
49
|
-
if (id) {
|
|
50
|
-
if (p && p.initialize) {
|
|
51
|
-
p.initialize(id, baseProps.load, baseProps.setState, p.callback);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
baseProps.load(id, p ? p.callback : undefined);
|
|
71
|
+
if (metadata) {
|
|
72
|
+
var meta = edit_1.build(metadata);
|
|
73
|
+
keys = (p.keys ? p.keys : (meta ? meta.keys : undefined));
|
|
74
|
+
var version = (p.version ? p.version : (meta ? meta.version : undefined));
|
|
75
|
+
p.keys = keys;
|
|
76
|
+
p.version = version;
|
|
55
77
|
}
|
|
56
78
|
}
|
|
79
|
+
var id = core_1.buildId(params, keys);
|
|
80
|
+
if (p && p.initialize) {
|
|
81
|
+
p.initialize(id, baseProps.load, baseProps.setState, p.callback);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
baseProps.load(id, p ? p.callback : undefined);
|
|
85
|
+
}
|
|
57
86
|
}, []);
|
|
58
87
|
return __assign({}, baseProps);
|
|
59
88
|
};
|
|
@@ -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,
|
|
@@ -145,7 +161,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
145
161
|
}
|
|
146
162
|
};
|
|
147
163
|
var createModel = (p && p.createModel ? p.createModel : _createModel);
|
|
148
|
-
var
|
|
164
|
+
var create = function (event) {
|
|
149
165
|
event.preventDefault();
|
|
150
166
|
var obj = createModel();
|
|
151
167
|
resetState(true, obj, undefined);
|
|
@@ -184,12 +200,12 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
184
200
|
validate(obj_1, function () {
|
|
185
201
|
var msg = core_1.message(p1.resource.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
|
|
186
202
|
p1.confirm(msg.message, msg.title, function () {
|
|
187
|
-
|
|
203
|
+
doSave(obj_1, undefined, version_1, isBack);
|
|
188
204
|
}, msg.no, msg.yes);
|
|
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'));
|
|
@@ -198,7 +214,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
198
214
|
validate(obj_1, function () {
|
|
199
215
|
var msg = core_1.message(p1.resource.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
|
|
200
216
|
p1.confirm(msg.message, msg.title, function () {
|
|
201
|
-
|
|
217
|
+
doSave(obj_1, diffObj_1, version_1, isBack);
|
|
202
218
|
}, msg.no, msg.yes);
|
|
203
219
|
});
|
|
204
220
|
}
|
|
@@ -206,7 +222,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
206
222
|
}
|
|
207
223
|
};
|
|
208
224
|
var onSave = (p && p.onSave ? p.onSave : _onSave);
|
|
209
|
-
var
|
|
225
|
+
var save = function (event) {
|
|
210
226
|
event.preventDefault();
|
|
211
227
|
event.persist();
|
|
212
228
|
onSave();
|
|
@@ -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);
|
|
@@ -319,7 +335,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
319
335
|
p1.showError(msg.message, msg.title);
|
|
320
336
|
};
|
|
321
337
|
var handleDuplicateKey = (p && p.handleDuplicateKey ? p.handleDuplicateKey : _handleDuplicateKey);
|
|
322
|
-
var
|
|
338
|
+
var _doSave = function (obj, body, version, isBack) {
|
|
323
339
|
setRunning(true);
|
|
324
340
|
core_1.showLoading(p1.loading);
|
|
325
341
|
var isBackO = (isBack == null || isBack === undefined ? true : isBack);
|
|
@@ -336,7 +352,7 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
336
352
|
service.insert(obj).then(function (result) { return postSave(obj, result, version, isBackO); });
|
|
337
353
|
}
|
|
338
354
|
};
|
|
339
|
-
var
|
|
355
|
+
var doSave = (p && p.doSave ? p.doSave : _doSave);
|
|
340
356
|
var _load = function (_id, callback) {
|
|
341
357
|
var id = _id;
|
|
342
358
|
if (id != null && id !== '') {
|
|
@@ -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,13 +411,11 @@ 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,
|
|
402
417
|
handleNotFound: handleNotFound,
|
|
403
|
-
getModel: getModel, createNewModel: createModel, newOnClick:
|
|
404
|
-
saveOnClick: saveOnClick,
|
|
418
|
+
getModel: getModel, createNewModel: createModel, newOnClick: create, save: save,
|
|
405
419
|
onSave: onSave,
|
|
406
420
|
confirm: confirm,
|
|
407
421
|
validate: validate, showMessage: p1.showMessage, succeed: succeed,
|
|
@@ -409,6 +423,6 @@ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
|
|
|
409
423
|
postSave: postSave,
|
|
410
424
|
handleDuplicateKey: handleDuplicateKey,
|
|
411
425
|
load: load,
|
|
412
|
-
|
|
426
|
+
doSave: doSave
|
|
413
427
|
});
|
|
414
428
|
};
|
package/lib/useSearch.js
CHANGED
|
@@ -12,25 +12,22 @@ 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;
|
|
30
27
|
}
|
|
31
28
|
var offset;
|
|
32
29
|
if (!se.limit || se.limit <= 0) {
|
|
33
|
-
se.limit =
|
|
30
|
+
se.limit = 24;
|
|
34
31
|
}
|
|
35
32
|
if (se.firstLimit && se.firstLimit > 0) {
|
|
36
33
|
offset = se.limit * (page - 2) + se.firstLimit;
|
|
@@ -50,41 +47,59 @@ 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) {
|
|
57
54
|
setState2({ list: list });
|
|
58
55
|
};
|
|
59
|
-
exports.pageSizes = [10, 20, 40, 60, 100, 200, 400, 800];
|
|
60
56
|
function mergeParam(p) {
|
|
61
57
|
if (p) {
|
|
62
58
|
if (!p.sequenceNo) {
|
|
63
59
|
p.sequenceNo = 'sequenceNo';
|
|
64
60
|
}
|
|
65
61
|
if (!p.pageSize) {
|
|
66
|
-
p.pageSize =
|
|
62
|
+
p.pageSize = 24;
|
|
67
63
|
}
|
|
68
64
|
if (!p.pageSizes) {
|
|
69
|
-
p.pageSizes =
|
|
65
|
+
p.pageSizes = core_1.pageSizes;
|
|
70
66
|
}
|
|
71
67
|
if (!p.pageMaxSize || p.pageMaxSize <= 0) {
|
|
72
68
|
p.pageMaxSize = 7;
|
|
73
69
|
}
|
|
70
|
+
if (p.hideFilter === undefined) {
|
|
71
|
+
p.hideFilter = true;
|
|
72
|
+
}
|
|
73
|
+
if (p.addable === undefined) {
|
|
74
|
+
p.addable = true;
|
|
75
|
+
}
|
|
76
|
+
if (p.editable === undefined) {
|
|
77
|
+
p.editable = true;
|
|
78
|
+
}
|
|
79
|
+
if (p.approvable === undefined) {
|
|
80
|
+
p.approvable = true;
|
|
81
|
+
}
|
|
82
|
+
if (p.deletable === undefined) {
|
|
83
|
+
p.deletable = true;
|
|
84
|
+
}
|
|
74
85
|
return p;
|
|
75
86
|
}
|
|
76
87
|
else {
|
|
77
88
|
return {
|
|
78
89
|
sequenceNo: 'sequenceNo',
|
|
79
|
-
pageSize:
|
|
80
|
-
pageSizes:
|
|
81
|
-
pageMaxSize: 7
|
|
90
|
+
pageSize: 24,
|
|
91
|
+
pageSizes: core_1.pageSizes,
|
|
92
|
+
pageMaxSize: 7,
|
|
93
|
+
hideFilter: true,
|
|
94
|
+
addable: true,
|
|
95
|
+
editable: true,
|
|
96
|
+
approvable: true,
|
|
97
|
+
deletable: true
|
|
82
98
|
};
|
|
83
99
|
}
|
|
84
100
|
}
|
|
85
|
-
exports.useSearch = function (refForm, initialState,
|
|
86
|
-
|
|
87
|
-
var baseProps = exports.useCoreSearch(undefined, refForm, initialState, search, p2, p);
|
|
101
|
+
exports.useSearch = function (refForm, initialState, service, p2, p) {
|
|
102
|
+
var baseProps = exports.useCoreSearch(refForm, initialState, service, p2, p);
|
|
88
103
|
react_1.useEffect(function () {
|
|
89
104
|
var load = baseProps.load, setState = baseProps.setState, component = baseProps.component;
|
|
90
105
|
if (refForm) {
|
|
@@ -96,57 +111,40 @@ exports.useSearch = function (refForm, initialState, search, p2, p) {
|
|
|
96
111
|
}
|
|
97
112
|
else {
|
|
98
113
|
var se = (p && p.createFilter ? p.createFilter() : undefined);
|
|
99
|
-
var s =
|
|
114
|
+
var s = search_1.mergeFilter(route_1.buildFromUrl(), se, component.pageSizes);
|
|
100
115
|
load(s, p2.auto);
|
|
101
116
|
}
|
|
102
117
|
}, []);
|
|
103
118
|
return __assign({}, baseProps);
|
|
104
119
|
};
|
|
105
120
|
exports.useSearchOneProps = function (p) {
|
|
106
|
-
return exports.useSearch(p.refForm, p.initialState, p.
|
|
121
|
+
return exports.useSearch(p.refForm, p.initialState, p.service, p, p);
|
|
107
122
|
};
|
|
108
123
|
exports.useSearchOne = function (p) {
|
|
109
|
-
return exports.useCoreSearch(
|
|
124
|
+
return exports.useCoreSearch(p.refForm, p.initialState, p.service, p, p);
|
|
110
125
|
};
|
|
111
|
-
exports.useCoreSearch = function (
|
|
126
|
+
exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props) {
|
|
112
127
|
var p = mergeParam(p2);
|
|
113
128
|
var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
|
|
114
129
|
var _getModelName = function () {
|
|
115
130
|
return core_1.getName('filter', p && p.name ? p.name : undefined);
|
|
116
131
|
};
|
|
117
132
|
var getModelName = (p && p.getModelName ? p.getModelName : _getModelName);
|
|
118
|
-
var baseProps =
|
|
133
|
+
var baseProps = update_1.useUpdate(initialState, getModelName, p1.getLocale, core_1.getRemoveError(p1));
|
|
119
134
|
var state = baseProps.state, setState = baseProps.setState;
|
|
120
|
-
var _b = [react_router_dom_1.useHistory(), react_router_dom_1.useRouteMatch()], history = _b[0], match = _b[1];
|
|
121
135
|
var _getCurrencyCode = function () {
|
|
122
136
|
return refForm && refForm.current ? refForm.current.getAttribute('currency-code') : null;
|
|
123
137
|
};
|
|
124
138
|
var getCurrencyCode = p && p.getCurrencyCode ? p.getCurrencyCode : _getCurrencyCode;
|
|
125
|
-
var
|
|
126
|
-
var updateDateState = function (name, value) {
|
|
127
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
128
|
-
var modelName = getModelName();
|
|
129
|
-
var currentState = state[modelName];
|
|
130
|
-
if (props && props.setGlobalState) {
|
|
131
|
-
var data = props.shouldBeCustomized ? prepareCustomData((_a = {}, _a[name] = value, _a)) : (_b = {}, _b[name] = value, _b);
|
|
132
|
-
props.setGlobalState((_c = {}, _c[modelName] = __assign(__assign({}, currentState), data), _c));
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
setState((_d = {}, _d[modelName] = __assign(__assign({}, currentState), (_e = {}, _e[name] = value, _e)), _d));
|
|
136
|
-
}
|
|
137
|
-
setState((_f = {}, _f[modelName] = __assign(__assign({}, currentState), (_g = {}, _g[name] = value, _g)), _f));
|
|
138
|
-
};
|
|
139
|
-
var _c = merge_1.useMergeState(p), component = _c[0], setComponent = _c[1];
|
|
139
|
+
var _b = merge_1.useMergeState(p), component = _b[0], setComponent = _b[1];
|
|
140
140
|
var toggleFilter = function (event) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
event.preventDefault();
|
|
145
|
-
history.push(match.url + '/add');
|
|
141
|
+
var x = !component.hideFilter;
|
|
142
|
+
core_1.handleToggle(event.target, !x);
|
|
143
|
+
setComponent({ hideFilter: x });
|
|
146
144
|
};
|
|
147
145
|
var _getFields = function () {
|
|
148
146
|
var fields = component.fields, initFields = component.initFields;
|
|
149
|
-
var fs =
|
|
147
|
+
var fs = search_1.getFieldsFromForm(fields, initFields, refForm.current);
|
|
150
148
|
setComponent({ fields: fs, initFields: true });
|
|
151
149
|
return fs;
|
|
152
150
|
};
|
|
@@ -156,8 +154,8 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
156
154
|
se = component;
|
|
157
155
|
}
|
|
158
156
|
var keys = p && p.keys ? p.keys : undefined;
|
|
159
|
-
if (!keys && typeof
|
|
160
|
-
keys =
|
|
157
|
+
if (!keys && typeof service !== 'function' && service.keys) {
|
|
158
|
+
keys = service.keys();
|
|
161
159
|
}
|
|
162
160
|
var n = getModelName();
|
|
163
161
|
var fs = p && p.fields;
|
|
@@ -166,7 +164,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
166
164
|
}
|
|
167
165
|
var lc = (p1.getLocale ? p1.getLocale() : state_1.enLocale);
|
|
168
166
|
var cc = getCurrencyCode();
|
|
169
|
-
var obj3 =
|
|
167
|
+
var obj3 = search_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(p1), lc, cc);
|
|
170
168
|
return obj3;
|
|
171
169
|
};
|
|
172
170
|
var _setFilter = function (s) {
|
|
@@ -178,7 +176,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
178
176
|
var setFilter = p && p.setFilter ? p.setFilter : _setFilter;
|
|
179
177
|
var _load = function (s, auto) {
|
|
180
178
|
var com = Object.assign({}, component);
|
|
181
|
-
var obj2 =
|
|
179
|
+
var obj2 = search_1.initFilter(s, com);
|
|
182
180
|
setComponent(com);
|
|
183
181
|
setFilter(obj2);
|
|
184
182
|
var runSearch = doSearch;
|
|
@@ -200,19 +198,19 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
200
198
|
setRunning(true);
|
|
201
199
|
core_1.showLoading(p1.loading);
|
|
202
200
|
if (p && !p.ignoreUrlParam) {
|
|
203
|
-
|
|
201
|
+
search_1.addParametersIntoUrl(s, isFirstLoad);
|
|
204
202
|
}
|
|
205
203
|
var lc = p1.getLocale ? p1.getLocale() : state_1.enLocale;
|
|
206
|
-
if (typeof
|
|
207
|
-
exports.callSearch(s,
|
|
204
|
+
if (typeof service === 'function') {
|
|
205
|
+
exports.callSearch(s, service, showResults, searchError, lc, se.nextPageToken);
|
|
208
206
|
}
|
|
209
207
|
else {
|
|
210
|
-
exports.callSearch(s,
|
|
208
|
+
exports.callSearch(s, service.search, showResults, searchError, lc, se.nextPageToken);
|
|
211
209
|
}
|
|
212
210
|
});
|
|
213
211
|
};
|
|
214
212
|
var _validateSearch = function (se, callback) {
|
|
215
|
-
|
|
213
|
+
search_1.validate(se, callback, refForm.current, (p1.getLocale ? p1.getLocale() : undefined), core_1.getValidateForm(p1));
|
|
216
214
|
};
|
|
217
215
|
var validateSearch = p && p.validateSearch ? p.validateSearch : _validateSearch;
|
|
218
216
|
var pageSizeChanged = function (event) {
|
|
@@ -240,7 +238,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
240
238
|
}
|
|
241
239
|
}
|
|
242
240
|
};
|
|
243
|
-
var
|
|
241
|
+
var search = function (event) {
|
|
244
242
|
if (event) {
|
|
245
243
|
event.preventDefault();
|
|
246
244
|
}
|
|
@@ -250,7 +248,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
250
248
|
event.preventDefault();
|
|
251
249
|
if (event && event.target) {
|
|
252
250
|
var target = event.target;
|
|
253
|
-
var s =
|
|
251
|
+
var s = search_1.handleSort(target, component.sortTarget, component.sortField, component.sortType);
|
|
254
252
|
setComponent({
|
|
255
253
|
sortField: s.field,
|
|
256
254
|
sortType: s.type,
|
|
@@ -285,7 +283,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
285
283
|
return;
|
|
286
284
|
}
|
|
287
285
|
setComponent({ pageIndex: 1, tmpPageIndex: 1 });
|
|
288
|
-
|
|
286
|
+
search_1.removeSortStatus(component.sortTarget);
|
|
289
287
|
setComponent({
|
|
290
288
|
sortTarget: undefined,
|
|
291
289
|
sortField: undefined,
|
|
@@ -307,17 +305,17 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
307
305
|
var _showResults = function (s, sr, lc) {
|
|
308
306
|
var results = sr.list;
|
|
309
307
|
if (results && results.length > 0) {
|
|
310
|
-
|
|
308
|
+
search_1.formatResults(results, component.pageIndex, component.pageSize, component.pageSize, p ? p.sequenceNo : undefined, p ? p.format : undefined, lc);
|
|
311
309
|
}
|
|
312
310
|
var am = component.appendMode;
|
|
313
311
|
var pi = (s.page && s.page >= 1 ? s.page : 1);
|
|
314
|
-
setComponent({
|
|
312
|
+
setComponent({ total: sr.total, pageIndex: pi, nextPageToken: sr.nextPageToken });
|
|
315
313
|
if (am) {
|
|
316
314
|
var limit = s.limit;
|
|
317
315
|
if ((!s.page || s.page <= 1) && s.firstLimit && s.firstLimit > 0) {
|
|
318
316
|
limit = s.firstLimit;
|
|
319
317
|
}
|
|
320
|
-
|
|
318
|
+
search_1.handleAppend(component, sr.list, limit, sr.nextPageToken);
|
|
321
319
|
if (component.append && (s.page && s.page > 1)) {
|
|
322
320
|
appendList(results, component.list, setState);
|
|
323
321
|
}
|
|
@@ -326,11 +324,11 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
326
324
|
}
|
|
327
325
|
}
|
|
328
326
|
else {
|
|
329
|
-
|
|
327
|
+
search_1.showPaging(component, sr.list, s.limit, sr.total);
|
|
330
328
|
setList(results, setState);
|
|
331
329
|
setComponent({ tmpPageIndex: s.page });
|
|
332
330
|
if (s.limit) {
|
|
333
|
-
var m1 =
|
|
331
|
+
var m1 = search_1.buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
|
|
334
332
|
p1.showMessage(m1);
|
|
335
333
|
}
|
|
336
334
|
}
|
|
@@ -353,21 +351,19 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p1, p2)
|
|
|
353
351
|
doSearch(component);
|
|
354
352
|
};
|
|
355
353
|
var pageChanged = function (data) {
|
|
356
|
-
var
|
|
357
|
-
setComponent({ pageIndex:
|
|
358
|
-
component.pageIndex =
|
|
359
|
-
component.pageSize =
|
|
354
|
+
var page = data.page, size = data.size;
|
|
355
|
+
setComponent({ pageIndex: page, pageSize: size, append: false });
|
|
356
|
+
component.pageIndex = page;
|
|
357
|
+
component.pageSize = size;
|
|
360
358
|
component.append = false;
|
|
361
359
|
doSearch(component);
|
|
362
360
|
};
|
|
363
361
|
return __assign(__assign({}, baseProps), {
|
|
364
362
|
running: running,
|
|
365
363
|
setRunning: setRunning,
|
|
366
|
-
getCurrencyCode: getCurrencyCode,
|
|
367
|
-
updateDateState: updateDateState, resource: p1.resource.resource(), setComponent: setComponent,
|
|
364
|
+
getCurrencyCode: getCurrencyCode, resource: p1.resource.resource(), setComponent: setComponent,
|
|
368
365
|
component: component, showMessage: p1.showMessage, load: load,
|
|
369
|
-
|
|
370
|
-
searchOnClick: searchOnClick,
|
|
366
|
+
search: search,
|
|
371
367
|
sort: sort,
|
|
372
368
|
changeView: changeView,
|
|
373
369
|
showMore: showMore,
|
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.5",
|
|
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.0",
|
|
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
|
},
|