react-hook-core 0.1.0 → 0.1.4
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 +47 -37
- package/lib/core.js +14 -0
- package/lib/index.js +31 -0
- package/lib/useEdit.js +20 -21
- package/lib/useSearch.js +83 -53
- package/package.json +2 -2
- package/src/components.ts +126 -115
- package/src/core.ts +20 -14
- package/src/index.ts +39 -1
- package/src/update.ts +1 -1
- package/src/useEdit.ts +26 -26
- package/src/useSearch.ts +99 -63
- package/tsconfig.json +2 -1
package/lib/useSearch.js
CHANGED
|
@@ -30,7 +30,7 @@ exports.callSearch = function (se, search3, showResults3, searchError3, lc, next
|
|
|
30
30
|
}
|
|
31
31
|
var offset;
|
|
32
32
|
if (!se.limit || se.limit <= 0) {
|
|
33
|
-
se.limit =
|
|
33
|
+
se.limit = 24;
|
|
34
34
|
}
|
|
35
35
|
if (se.firstLimit && se.firstLimit > 0) {
|
|
36
36
|
offset = se.limit * (page - 2) + se.firstLimit;
|
|
@@ -56,25 +56,53 @@ var appendListOfState = function (results, list, setState2) {
|
|
|
56
56
|
var setListOfState = function (list, setState2) {
|
|
57
57
|
setState2({ list: list });
|
|
58
58
|
};
|
|
59
|
-
exports.pageSizes = [10, 20, 40, 60, 100, 200, 400, 800];
|
|
60
59
|
function mergeParam(p) {
|
|
61
60
|
if (p) {
|
|
62
61
|
if (!p.sequenceNo) {
|
|
63
62
|
p.sequenceNo = 'sequenceNo';
|
|
64
63
|
}
|
|
65
64
|
if (!p.pageSize) {
|
|
66
|
-
p.pageSize =
|
|
65
|
+
p.pageSize = 24;
|
|
67
66
|
}
|
|
68
67
|
if (!p.pageSizes) {
|
|
69
|
-
p.pageSizes =
|
|
68
|
+
p.pageSizes = core_1.pageSizes;
|
|
70
69
|
}
|
|
71
70
|
if (!p.pageMaxSize || p.pageMaxSize <= 0) {
|
|
72
71
|
p.pageMaxSize = 7;
|
|
73
72
|
}
|
|
73
|
+
if (p.hideFilter === undefined) {
|
|
74
|
+
p.hideFilter = true;
|
|
75
|
+
}
|
|
76
|
+
if (p.addable === undefined) {
|
|
77
|
+
p.addable = true;
|
|
78
|
+
}
|
|
79
|
+
if (p.editable === undefined) {
|
|
80
|
+
p.editable = true;
|
|
81
|
+
}
|
|
82
|
+
if (p.approvable === undefined) {
|
|
83
|
+
p.approvable = true;
|
|
84
|
+
}
|
|
85
|
+
if (p.deletable === undefined) {
|
|
86
|
+
p.deletable = true;
|
|
87
|
+
}
|
|
88
|
+
return p;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return {
|
|
92
|
+
sequenceNo: 'sequenceNo',
|
|
93
|
+
pageSize: 24,
|
|
94
|
+
pageSizes: core_1.pageSizes,
|
|
95
|
+
pageMaxSize: 7,
|
|
96
|
+
hideFilter: true,
|
|
97
|
+
addable: true,
|
|
98
|
+
editable: true,
|
|
99
|
+
approvable: true,
|
|
100
|
+
deletable: true
|
|
101
|
+
};
|
|
74
102
|
}
|
|
75
103
|
}
|
|
76
|
-
exports.useSearch = function (refForm, initialState,
|
|
77
|
-
var baseProps = exports.useCoreSearch(undefined, refForm, initialState,
|
|
104
|
+
exports.useSearch = function (refForm, initialState, service, p2, p) {
|
|
105
|
+
var baseProps = exports.useCoreSearch(undefined, refForm, initialState, service, p2, p);
|
|
78
106
|
react_1.useEffect(function () {
|
|
79
107
|
var load = baseProps.load, setState = baseProps.setState, component = baseProps.component;
|
|
80
108
|
if (refForm) {
|
|
@@ -93,26 +121,26 @@ exports.useSearch = function (refForm, initialState, search, p2, p) {
|
|
|
93
121
|
return __assign({}, baseProps);
|
|
94
122
|
};
|
|
95
123
|
exports.useSearchOneProps = function (p) {
|
|
96
|
-
return exports.useSearch(p.refForm, p.initialState, p.
|
|
124
|
+
return exports.useSearch(p.refForm, p.initialState, p.service, p, p);
|
|
97
125
|
};
|
|
98
126
|
exports.useSearchOne = function (p) {
|
|
99
|
-
return exports.useCoreSearch(undefined, p.refForm, p.initialState, p.
|
|
127
|
+
return exports.useCoreSearch(undefined, p.refForm, p.initialState, p.service, p, p);
|
|
100
128
|
};
|
|
101
|
-
exports.useCoreSearch = function (props, refForm, initialState,
|
|
102
|
-
mergeParam(
|
|
129
|
+
exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2) {
|
|
130
|
+
var p = mergeParam(p2);
|
|
103
131
|
var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
|
|
104
132
|
var _getModelName = function () {
|
|
105
|
-
return core_1.getName('filter',
|
|
133
|
+
return core_1.getName('filter', p && p.name ? p.name : undefined);
|
|
106
134
|
};
|
|
107
|
-
var getModelName = (
|
|
108
|
-
var baseProps = (props ? update_1.useUpdateWithProps(props, initialState, getModelName,
|
|
135
|
+
var getModelName = (p && p.getModelName ? p.getModelName : _getModelName);
|
|
136
|
+
var baseProps = (props ? update_1.useUpdateWithProps(props, initialState, getModelName, p1.getLocale, core_1.getRemoveError(p1), p ? p.prepareCustomData : undefined) : update_1.useUpdate(initialState, getModelName, p1.getLocale, core_1.getRemoveError(p1)));
|
|
109
137
|
var state = baseProps.state, setState = baseProps.setState;
|
|
110
138
|
var _b = [react_router_dom_1.useHistory(), react_router_dom_1.useRouteMatch()], history = _b[0], match = _b[1];
|
|
111
139
|
var _getCurrencyCode = function () {
|
|
112
140
|
return refForm && refForm.current ? refForm.current.getAttribute('currency-code') : null;
|
|
113
141
|
};
|
|
114
|
-
var getCurrencyCode =
|
|
115
|
-
var prepareCustomData = (
|
|
142
|
+
var getCurrencyCode = p && p.getCurrencyCode ? p.getCurrencyCode : _getCurrencyCode;
|
|
143
|
+
var prepareCustomData = (p && p.prepareCustomData ? p.prepareCustomData : prepareData);
|
|
116
144
|
var updateDateState = function (name, value) {
|
|
117
145
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
118
146
|
var modelName = getModelName();
|
|
@@ -126,9 +154,11 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
126
154
|
}
|
|
127
155
|
setState((_f = {}, _f[modelName] = __assign(__assign({}, currentState), (_g = {}, _g[name] = value, _g)), _f));
|
|
128
156
|
};
|
|
129
|
-
var _c = merge_1.useMergeState(
|
|
157
|
+
var _c = merge_1.useMergeState(p), component = _c[0], setComponent = _c[1];
|
|
130
158
|
var toggleFilter = function (event) {
|
|
131
|
-
|
|
159
|
+
var x = !component.hideFilter;
|
|
160
|
+
core_1.handleToggle(event.target, !x);
|
|
161
|
+
setComponent({ hideFilter: x });
|
|
132
162
|
};
|
|
133
163
|
var add = function (event) {
|
|
134
164
|
event.preventDefault();
|
|
@@ -140,23 +170,23 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
140
170
|
setComponent({ fields: fs, initFields: true });
|
|
141
171
|
return fs;
|
|
142
172
|
};
|
|
143
|
-
var getFields =
|
|
173
|
+
var getFields = p && p.getFields ? p.getFields : _getFields;
|
|
144
174
|
var getFilter = function (se) {
|
|
145
175
|
if (!se) {
|
|
146
176
|
se = component;
|
|
147
177
|
}
|
|
148
|
-
var keys =
|
|
149
|
-
if (!keys && typeof
|
|
150
|
-
keys =
|
|
178
|
+
var keys = p && p.keys ? p.keys : undefined;
|
|
179
|
+
if (!keys && typeof service !== 'function' && service.keys) {
|
|
180
|
+
keys = service.keys();
|
|
151
181
|
}
|
|
152
182
|
var n = getModelName();
|
|
153
|
-
var fs =
|
|
183
|
+
var fs = p && p.fields;
|
|
154
184
|
if (!fs || fs.length <= 0) {
|
|
155
185
|
fs = getFields();
|
|
156
186
|
}
|
|
157
|
-
var lc = (
|
|
187
|
+
var lc = (p1.getLocale ? p1.getLocale() : state_1.enLocale);
|
|
158
188
|
var cc = getCurrencyCode();
|
|
159
|
-
var obj3 = search_core_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(
|
|
189
|
+
var obj3 = search_core_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(p1), lc, cc);
|
|
160
190
|
return obj3;
|
|
161
191
|
};
|
|
162
192
|
var _setFilter = function (s) {
|
|
@@ -165,7 +195,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
165
195
|
objSet[n] = s;
|
|
166
196
|
setState(objSet);
|
|
167
197
|
};
|
|
168
|
-
var setFilter =
|
|
198
|
+
var setFilter = p && p.setFilter ? p.setFilter : _setFilter;
|
|
169
199
|
var _load = function (s, auto) {
|
|
170
200
|
var com = Object.assign({}, component);
|
|
171
201
|
var obj2 = search_core_1.initFilter(s, com);
|
|
@@ -178,9 +208,9 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
178
208
|
}, 0);
|
|
179
209
|
}
|
|
180
210
|
};
|
|
181
|
-
var load =
|
|
211
|
+
var load = p && p.load ? p.load : _load;
|
|
182
212
|
var doSearch = function (se, isFirstLoad) {
|
|
183
|
-
core_1.removeFormError(
|
|
213
|
+
core_1.removeFormError(p1, refForm.current);
|
|
184
214
|
var s = getFilter(se);
|
|
185
215
|
var isStillRunning = running;
|
|
186
216
|
validateSearch(s, function () {
|
|
@@ -188,23 +218,23 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
188
218
|
return;
|
|
189
219
|
}
|
|
190
220
|
setRunning(true);
|
|
191
|
-
core_1.showLoading(
|
|
192
|
-
if (
|
|
221
|
+
core_1.showLoading(p1.loading);
|
|
222
|
+
if (p && !p.ignoreUrlParam) {
|
|
193
223
|
search_core_1.addParametersIntoUrl(s, isFirstLoad);
|
|
194
224
|
}
|
|
195
|
-
var lc =
|
|
196
|
-
if (typeof
|
|
197
|
-
exports.callSearch(s,
|
|
225
|
+
var lc = p1.getLocale ? p1.getLocale() : state_1.enLocale;
|
|
226
|
+
if (typeof service === 'function') {
|
|
227
|
+
exports.callSearch(s, service, showResults, searchError, lc, se.nextPageToken);
|
|
198
228
|
}
|
|
199
229
|
else {
|
|
200
|
-
exports.callSearch(s,
|
|
230
|
+
exports.callSearch(s, service.search, showResults, searchError, lc, se.nextPageToken);
|
|
201
231
|
}
|
|
202
232
|
});
|
|
203
233
|
};
|
|
204
234
|
var _validateSearch = function (se, callback) {
|
|
205
|
-
search_core_1.validate(se, callback, refForm.current, (
|
|
235
|
+
search_core_1.validate(se, callback, refForm.current, (p1.getLocale ? p1.getLocale() : undefined), core_1.getValidateForm(p1));
|
|
206
236
|
};
|
|
207
|
-
var validateSearch =
|
|
237
|
+
var validateSearch = p && p.validateSearch ? p.validateSearch : _validateSearch;
|
|
208
238
|
var pageSizeChanged = function (event) {
|
|
209
239
|
var size = parseInt(event.currentTarget.value, 10);
|
|
210
240
|
component.pageSize = size;
|
|
@@ -230,7 +260,7 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
230
260
|
}
|
|
231
261
|
}
|
|
232
262
|
};
|
|
233
|
-
var
|
|
263
|
+
var search = function (event) {
|
|
234
264
|
if (event) {
|
|
235
265
|
event.preventDefault();
|
|
236
266
|
}
|
|
@@ -290,18 +320,18 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
290
320
|
};
|
|
291
321
|
var searchError = function (err) {
|
|
292
322
|
setComponent({ pageIndex: component.tmpPageIndex });
|
|
293
|
-
core_1.error(err,
|
|
323
|
+
core_1.error(err, p1.resource.value, p1.showError);
|
|
294
324
|
};
|
|
295
|
-
var appendList = (
|
|
296
|
-
var setList = (
|
|
325
|
+
var appendList = (p && p.appendList ? p.appendList : appendListOfState);
|
|
326
|
+
var setList = (p && p.setList ? p.setList : setListOfState);
|
|
297
327
|
var _showResults = function (s, sr, lc) {
|
|
298
328
|
var results = sr.list;
|
|
299
329
|
if (results && results.length > 0) {
|
|
300
|
-
search_core_1.formatResults(results, component.pageIndex, component.pageSize, component.
|
|
330
|
+
search_core_1.formatResults(results, component.pageIndex, component.pageSize, component.pageSize, p ? p.sequenceNo : undefined, p ? p.format : undefined, lc);
|
|
301
331
|
}
|
|
302
332
|
var am = component.appendMode;
|
|
303
333
|
var pi = (s.page && s.page >= 1 ? s.page : 1);
|
|
304
|
-
setComponent({
|
|
334
|
+
setComponent({ total: sr.total, pageIndex: pi, nextPageToken: sr.nextPageToken });
|
|
305
335
|
if (am) {
|
|
306
336
|
var limit = s.limit;
|
|
307
337
|
if ((!s.page || s.page <= 1) && s.firstLimit && s.firstLimit > 0) {
|
|
@@ -320,18 +350,18 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
320
350
|
setList(results, setState);
|
|
321
351
|
setComponent({ tmpPageIndex: s.page });
|
|
322
352
|
if (s.limit) {
|
|
323
|
-
var m1 = search_core_1.buildMessage(
|
|
324
|
-
|
|
353
|
+
var m1 = search_core_1.buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
|
|
354
|
+
p1.showMessage(m1);
|
|
325
355
|
}
|
|
326
356
|
}
|
|
327
357
|
setRunning(false);
|
|
328
|
-
core_1.hideLoading(
|
|
358
|
+
core_1.hideLoading(p1.loading);
|
|
329
359
|
if (component.triggerSearch) {
|
|
330
360
|
setComponent({ triggerSearch: false });
|
|
331
361
|
resetAndSearch();
|
|
332
362
|
}
|
|
333
363
|
};
|
|
334
|
-
var showResults = (
|
|
364
|
+
var showResults = (p && p.showResults ? p.showResults : _showResults);
|
|
335
365
|
var showMore = function (event) {
|
|
336
366
|
event.preventDefault();
|
|
337
367
|
var n = component.pageIndex ? component.pageIndex + 1 : 2;
|
|
@@ -343,10 +373,10 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
343
373
|
doSearch(component);
|
|
344
374
|
};
|
|
345
375
|
var pageChanged = function (data) {
|
|
346
|
-
var
|
|
347
|
-
setComponent({ pageIndex:
|
|
348
|
-
component.pageIndex =
|
|
349
|
-
component.pageSize =
|
|
376
|
+
var page = data.page, size = data.size;
|
|
377
|
+
setComponent({ pageIndex: page, pageSize: size, append: false });
|
|
378
|
+
component.pageIndex = page;
|
|
379
|
+
component.pageSize = size;
|
|
350
380
|
component.append = false;
|
|
351
381
|
doSearch(component);
|
|
352
382
|
};
|
|
@@ -354,10 +384,10 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
354
384
|
running: running,
|
|
355
385
|
setRunning: setRunning,
|
|
356
386
|
getCurrencyCode: getCurrencyCode,
|
|
357
|
-
updateDateState: updateDateState, resource:
|
|
358
|
-
component: component, showMessage:
|
|
387
|
+
updateDateState: updateDateState, resource: p1.resource.resource(), setComponent: setComponent,
|
|
388
|
+
component: component, showMessage: p1.showMessage, load: load,
|
|
359
389
|
add: add,
|
|
360
|
-
|
|
390
|
+
search: search,
|
|
361
391
|
sort: sort,
|
|
362
392
|
changeView: changeView,
|
|
363
393
|
showMore: showMore,
|
|
@@ -366,6 +396,6 @@ exports.useCoreSearch = function (props, refForm, initialState, search, p2, p1)
|
|
|
366
396
|
pageChanged: pageChanged,
|
|
367
397
|
pageSizeChanged: pageSizeChanged, clearKeyworkOnClick: clearQ, showResults: showResults,
|
|
368
398
|
getFields: getFields,
|
|
369
|
-
getModelName: getModelName, format:
|
|
399
|
+
getModelName: getModelName, format: p ? p.format : undefined
|
|
370
400
|
});
|
|
371
401
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-hook-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "react",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"react": "^16.8.0",
|
|
16
16
|
"react-router-dom": "^5.2.0",
|
|
17
17
|
"reflectx": "^0.0.10",
|
|
18
|
-
"search-core": "^0.1.
|
|
18
|
+
"search-core": "^0.1.1",
|
|
19
19
|
"tslint": "^5.10.0",
|
|
20
20
|
"typescript": "^3.3.3333"
|
|
21
21
|
},
|