react-hook-core 0.1.4 → 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/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 reflectx_1 = require("reflectx");
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 router_1 = require("./router");
20
+ var reflect_1 = require("./reflect");
21
21
  var state_1 = require("./state");
22
22
  var update_1 = require("./update");
23
- function prepareData(data) {
24
- }
25
- exports.useEdit = function (refForm, initialState, service, p1, p2) {
26
- return exports.useCoreEdit(undefined, refForm, initialState, service, p1, p2);
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 baseProps = exports.useCoreEdit(props, refForm, initialState, service, p2, p);
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(props, keys);
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 (props, refForm, initialState, service, p1, p) {
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
- goBack();
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 = reflectx_1.makeDiff(edit_1.initPropertyNullInModel(flag.originalModel, metadata), obj_1, keys, version_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, reflectx_1.clone(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: reflectx_1.clone(obj) });
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 = reflectx_1.clone(se);
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 = search_core_1.append(list, results);
50
+ var arr = search_1.append(list, results);
54
51
  setState2({ list: arr });
55
52
  };
56
53
  var setListOfState = function (list, setState2) {
@@ -102,7 +99,7 @@ function mergeParam(p) {
102
99
  }
103
100
  }
104
101
  exports.useSearch = function (refForm, initialState, service, p2, p) {
105
- var baseProps = exports.useCoreSearch(undefined, refForm, initialState, service, p2, p);
102
+ var baseProps = exports.useCoreSearch(refForm, initialState, service, p2, p);
106
103
  react_1.useEffect(function () {
107
104
  var load = baseProps.load, setState = baseProps.setState, component = baseProps.component;
108
105
  if (refForm) {
@@ -114,7 +111,7 @@ exports.useSearch = function (refForm, initialState, service, p2, p) {
114
111
  }
115
112
  else {
116
113
  var se = (p && p.createFilter ? p.createFilter() : undefined);
117
- var s = search_core_1.mergeFilter(route_1.buildFromUrl(), se, component.pageSizes);
114
+ var s = search_1.mergeFilter(route_1.buildFromUrl(), se, component.pageSizes);
118
115
  load(s, p2.auto);
119
116
  }
120
117
  }, []);
@@ -124,49 +121,30 @@ exports.useSearchOneProps = function (p) {
124
121
  return exports.useSearch(p.refForm, p.initialState, p.service, p, p);
125
122
  };
126
123
  exports.useSearchOne = function (p) {
127
- return exports.useCoreSearch(undefined, p.refForm, p.initialState, p.service, p, p);
124
+ return exports.useCoreSearch(p.refForm, p.initialState, p.service, p, p);
128
125
  };
129
- exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2) {
126
+ exports.useCoreSearch = function (refForm, initialState, service, p1, p2, props) {
130
127
  var p = mergeParam(p2);
131
128
  var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
132
129
  var _getModelName = function () {
133
130
  return core_1.getName('filter', p && p.name ? p.name : undefined);
134
131
  };
135
132
  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)));
133
+ var baseProps = update_1.useUpdate(initialState, getModelName, p1.getLocale, core_1.getRemoveError(p1));
137
134
  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
135
  var _getCurrencyCode = function () {
140
136
  return refForm && refForm.current ? refForm.current.getAttribute('currency-code') : null;
141
137
  };
142
138
  var getCurrencyCode = p && p.getCurrencyCode ? p.getCurrencyCode : _getCurrencyCode;
143
- var prepareCustomData = (p && p.prepareCustomData ? p.prepareCustomData : prepareData);
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];
139
+ var _b = merge_1.useMergeState(p), component = _b[0], setComponent = _b[1];
158
140
  var toggleFilter = function (event) {
159
141
  var x = !component.hideFilter;
160
142
  core_1.handleToggle(event.target, !x);
161
143
  setComponent({ hideFilter: x });
162
144
  };
163
- var add = function (event) {
164
- event.preventDefault();
165
- history.push(match.url + '/add');
166
- };
167
145
  var _getFields = function () {
168
146
  var fields = component.fields, initFields = component.initFields;
169
- var fs = search_core_1.getFieldsFromForm(fields, initFields, refForm.current);
147
+ var fs = search_1.getFieldsFromForm(fields, initFields, refForm.current);
170
148
  setComponent({ fields: fs, initFields: true });
171
149
  return fs;
172
150
  };
@@ -186,7 +164,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
186
164
  }
187
165
  var lc = (p1.getLocale ? p1.getLocale() : state_1.enLocale);
188
166
  var cc = getCurrencyCode();
189
- var obj3 = search_core_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(p1), lc, cc);
167
+ var obj3 = search_1.getModel(state, n, se, fs, se.excluding, keys, se.list, refForm.current, core_1.getDecodeFromForm(p1), lc, cc);
190
168
  return obj3;
191
169
  };
192
170
  var _setFilter = function (s) {
@@ -198,7 +176,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
198
176
  var setFilter = p && p.setFilter ? p.setFilter : _setFilter;
199
177
  var _load = function (s, auto) {
200
178
  var com = Object.assign({}, component);
201
- var obj2 = search_core_1.initFilter(s, com);
179
+ var obj2 = search_1.initFilter(s, com);
202
180
  setComponent(com);
203
181
  setFilter(obj2);
204
182
  var runSearch = doSearch;
@@ -220,7 +198,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
220
198
  setRunning(true);
221
199
  core_1.showLoading(p1.loading);
222
200
  if (p && !p.ignoreUrlParam) {
223
- search_core_1.addParametersIntoUrl(s, isFirstLoad);
201
+ search_1.addParametersIntoUrl(s, isFirstLoad);
224
202
  }
225
203
  var lc = p1.getLocale ? p1.getLocale() : state_1.enLocale;
226
204
  if (typeof service === 'function') {
@@ -232,7 +210,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
232
210
  });
233
211
  };
234
212
  var _validateSearch = function (se, callback) {
235
- search_core_1.validate(se, callback, refForm.current, (p1.getLocale ? p1.getLocale() : undefined), core_1.getValidateForm(p1));
213
+ search_1.validate(se, callback, refForm.current, (p1.getLocale ? p1.getLocale() : undefined), core_1.getValidateForm(p1));
236
214
  };
237
215
  var validateSearch = p && p.validateSearch ? p.validateSearch : _validateSearch;
238
216
  var pageSizeChanged = function (event) {
@@ -270,7 +248,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
270
248
  event.preventDefault();
271
249
  if (event && event.target) {
272
250
  var target = event.target;
273
- var s = search_core_1.handleSort(target, component.sortTarget, component.sortField, component.sortType);
251
+ var s = search_1.handleSort(target, component.sortTarget, component.sortField, component.sortType);
274
252
  setComponent({
275
253
  sortField: s.field,
276
254
  sortType: s.type,
@@ -305,7 +283,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
305
283
  return;
306
284
  }
307
285
  setComponent({ pageIndex: 1, tmpPageIndex: 1 });
308
- search_core_1.removeSortStatus(component.sortTarget);
286
+ search_1.removeSortStatus(component.sortTarget);
309
287
  setComponent({
310
288
  sortTarget: undefined,
311
289
  sortField: undefined,
@@ -327,7 +305,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
327
305
  var _showResults = function (s, sr, lc) {
328
306
  var results = sr.list;
329
307
  if (results && results.length > 0) {
330
- search_core_1.formatResults(results, component.pageIndex, component.pageSize, component.pageSize, p ? p.sequenceNo : undefined, p ? p.format : undefined, lc);
308
+ search_1.formatResults(results, component.pageIndex, component.pageSize, component.pageSize, p ? p.sequenceNo : undefined, p ? p.format : undefined, lc);
331
309
  }
332
310
  var am = component.appendMode;
333
311
  var pi = (s.page && s.page >= 1 ? s.page : 1);
@@ -337,7 +315,7 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
337
315
  if ((!s.page || s.page <= 1) && s.firstLimit && s.firstLimit > 0) {
338
316
  limit = s.firstLimit;
339
317
  }
340
- search_core_1.handleAppend(component, sr.list, limit, sr.nextPageToken);
318
+ search_1.handleAppend(component, sr.list, limit, sr.nextPageToken);
341
319
  if (component.append && (s.page && s.page > 1)) {
342
320
  appendList(results, component.list, setState);
343
321
  }
@@ -346,11 +324,11 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
346
324
  }
347
325
  }
348
326
  else {
349
- search_core_1.showPaging(component, sr.list, s.limit, sr.total);
327
+ search_1.showPaging(component, sr.list, s.limit, sr.total);
350
328
  setList(results, setState);
351
329
  setComponent({ tmpPageIndex: s.page });
352
330
  if (s.limit) {
353
- var m1 = search_core_1.buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
331
+ var m1 = search_1.buildMessage(p1.resource, s.page, s.limit, sr.list, sr.total);
354
332
  p1.showMessage(m1);
355
333
  }
356
334
  }
@@ -383,10 +361,8 @@ exports.useCoreSearch = function (props, refForm, initialState, service, p1, p2)
383
361
  return __assign(__assign({}, baseProps), {
384
362
  running: running,
385
363
  setRunning: setRunning,
386
- getCurrencyCode: getCurrencyCode,
387
- updateDateState: updateDateState, resource: p1.resource.resource(), setComponent: setComponent,
364
+ getCurrencyCode: getCurrencyCode, resource: p1.resource.resource(), setComponent: setComponent,
388
365
  component: component, showMessage: p1.showMessage, load: load,
389
- add: add,
390
366
  search: search,
391
367
  sort: sort,
392
368
  changeView: changeView,
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.useView(p.refForm, p.initialState, p.service, p, p);
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 goBack = router_1.useRouter().goBack;
45
+ var navigate = react_router_1.useNavigate();
29
46
  var back = function (event) {
30
47
  if (event) {
31
48
  event.preventDefault();
32
49
  }
33
- goBack();
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.4",
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": "^16.9.1",
13
- "@types/react-router-dom": "^5.1.6",
12
+ "@types/react": "^17.0.41",
13
+ "@types/react-router-dom": "^5.3.3",
14
14
  "query-string": "^6.13.1",
15
- "react": "^16.8.0",
16
- "react-router-dom": "^5.2.0",
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/components.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  import * as React from 'react';
2
- import {RouteComponentProps} from 'react-router';
3
- import {clone, diff, makeDiff} from 'reflectx';
4
- import {addParametersIntoUrl, append, buildMessage, changePage, changePageSize, formatResults, getFieldsFromForm, getModel, handleAppend, handleSortEvent, initFilter, mergeFilter as mergeFilter2, more, reset, Searchable, showPaging, validate} from 'search-core';
5
2
  import {BaseDiffState, createDiffStatus, createEditStatus, DiffApprService, DiffParameter, DiffState, DiffStatusConfig, handleToggle, hideLoading, showLoading} from './core';
6
- import {Attributes, buildId, EditStatusConfig, error, ErrorMessage, Filter, getCurrencyCode, getModelName as getModelName2, initForm, LoadingService, Locale, message, messageByHttpStatus, PageChange, pageSizes, removePhoneFormat, ResourceService, SearchParameter, SearchResult, SearchService, SearchState, StringMap, UIService, ViewParameter, ViewService} from './core';
3
+ import {Attributes, EditStatusConfig, error, ErrorMessage, Filter, getCurrencyCode, getModelName as getModelName2, initForm, LoadingService, Locale, message, messageByHttpStatus, PageChange, pageSizes, removePhoneFormat, ResourceService, SearchParameter, SearchResult, SearchService, SearchState, StringMap, UIService, ViewParameter, ViewService} from './core';
7
4
  import {formatDiffModel, getDataFields} from './diff';
8
5
  import {build, createModel as createModel2, EditParameter, GenericService, handleStatus, handleVersion, initPropertyNullInModel, ResultInfo} from './edit';
9
6
  import {focusFirstError, readOnly} from './formutil';
10
7
  import {getAutoSearch, getConfirmFunc, getDiffStatusFunc, getEditStatusFunc, getErrorFunc, getLoadingFunc, getLocaleFunc, getMsgFunc, getResource, getUIService} from './input';
8
+ import {clone, diff, makeDiff} from './reflect';
11
9
  import {buildFromUrl} from './route';
10
+ import {addParametersIntoUrl, append, buildMessage, changePage, changePageSize, formatResults, getFieldsFromForm, getModel, handleAppend, handleSortEvent, initFilter, mergeFilter as mergeFilter2, more, Pagination, reset, showPaging, Sortable, validate} from './search';
12
11
  import {buildFlatState, buildState, enLocale, handleEvent, handleProps, localeOf} from './state';
13
12
 
14
- export class ViewComponent<T, ID, P extends RouteComponentProps, S> extends React.Component<P, S> {
13
+ interface Searchable extends Pagination, Sortable {
14
+ }
15
+ export class ViewComponent<T, ID, P, S> extends React.Component<P, S> {
15
16
  constructor(props: P, sv: ((id: ID, ctx?: any) => Promise<T>)|ViewService<T, ID>,
16
17
  param: ResourceService|ViewParameter,
17
18
  showError?: (msg: string, title?: string, detail?: string, callback?: () => void) => void,
@@ -40,7 +41,6 @@ export class ViewComponent<T, ID, P extends RouteComponentProps, S> extends Reac
40
41
  }
41
42
  }
42
43
  }
43
- this.back = this.back.bind(this);
44
44
  this.getModelName = this.getModelName.bind(this);
45
45
  this.load = this.load.bind(this);
46
46
  this.getModel = this.getModel.bind(this);
@@ -61,12 +61,6 @@ export class ViewComponent<T, ID, P extends RouteComponentProps, S> extends Reac
61
61
  keys?: string[];
62
62
  metadata?: Attributes;
63
63
 
64
- back(event: any) {
65
- if (event) {
66
- event.preventDefault();
67
- }
68
- this.props.history.goBack();
69
- }
70
64
  getModelName(): string {
71
65
  if (this.name && this.name.length > 0) {
72
66
  return this.name;
@@ -78,13 +72,6 @@ export class ViewComponent<T, ID, P extends RouteComponentProps, S> extends Reac
78
72
  return n;
79
73
  }
80
74
  }
81
- componentDidMount() {
82
- this.form = this.ref.current;
83
- const id = buildId<ID>(this.props, this.keys);
84
- if (id) {
85
- this.load(id);
86
- }
87
- }
88
75
  load(_id: ID, callback?: (m: T, showF: (model: T) => void) => void) {
89
76
  const id: any = _id;
90
77
  if (id != null && id !== '' && this.loadData) {
@@ -619,7 +606,7 @@ export class BaseSearchComponent<T, F extends Filter, P, I extends SearchState<T
619
606
  this.doSearch();
620
607
  }
621
608
  }
622
- export class SearchComponent<T, S extends Filter, P extends RouteComponentProps, I extends SearchState<T, S>> extends BaseSearchComponent<T, S, P, I> {
609
+ export class SearchComponent<T, S extends Filter, P, I extends SearchState<T, S>> extends BaseSearchComponent<T, S, P, I> {
623
610
  constructor(props: P, sv: ((s: S, ctx?: any) => Promise<SearchResult<T>>) | SearchService<T, S>,
624
611
  param: ResourceService|SearchParameter,
625
612
  showMessage?: (msg: string, option?: string) => void,
@@ -641,7 +628,6 @@ export class SearchComponent<T, S extends Filter, P extends RouteComponentProps,
641
628
  }
642
629
  }
643
630
  }
644
- this.add = this.add.bind(this);
645
631
  this.call = this.call.bind(this);
646
632
  this.showError = getErrorFunc(param, showError);
647
633
  this.componentDidMount = this.componentDidMount.bind(this);
@@ -667,11 +653,6 @@ export class SearchComponent<T, S extends Filter, P extends RouteComponentProps,
667
653
  const s: any = {};
668
654
  return s;
669
655
  }
670
- add = (event: any) => {
671
- event.preventDefault();
672
- const url = this.url + '/add';
673
- this.props.history.push(url);
674
- }
675
656
  call(se: S) {
676
657
  this.running = true;
677
658
  const s = clone(se);
@@ -711,7 +692,7 @@ export class SearchComponent<T, S extends Filter, P extends RouteComponentProps,
711
692
  }
712
693
  }
713
694
 
714
- export abstract class BaseEditComponent<T, P extends RouteComponentProps, S> extends BaseComponent<P, S> {
695
+ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
715
696
  constructor(props: P,
716
697
  protected resourceService: ResourceService,
717
698
  protected showMessage: (msg: string) => void,
@@ -779,7 +760,6 @@ export abstract class BaseEditComponent<T, P extends RouteComponentProps, S> ext
779
760
  if (event) {
780
761
  event.preventDefault();
781
762
  }
782
- this.props.history.goBack();
783
763
  }
784
764
  resetState(newMod: boolean, model: T, originalModel?: T) {
785
765
  this.newMode = newMod;
@@ -986,7 +966,7 @@ export abstract class BaseEditComponent<T, P extends RouteComponentProps, S> ext
986
966
  this.showError(msg.message, msg.title);
987
967
  }
988
968
  }
989
- export class EditComponent<T, ID, P extends RouteComponentProps, S> extends BaseEditComponent<T, P, S> {
969
+ export class EditComponent<T, ID, P, S> extends BaseEditComponent<T, P, S> {
990
970
  constructor(props: P, protected service: GenericService<T, ID, number|ResultInfo<T>>,
991
971
  param: ResourceService|EditParameter,
992
972
  showMessage?: (msg: string, option?: string) => void,
@@ -1018,16 +998,9 @@ export class EditComponent<T, ID, P extends RouteComponentProps, S> extends Base
1018
998
  }
1019
999
  this.load = this.load.bind(this);
1020
1000
  this.doSave = this.doSave.bind(this);
1021
- this.componentDidMount = this.componentDidMount.bind(this);
1022
1001
  this.ref = React.createRef();
1023
1002
  }
1024
1003
  ref: any;
1025
- componentDidMount() {
1026
- const k = (this.ui ? this.ui.registerEvents : undefined);
1027
- this.form = initForm(this.ref.current, k);
1028
- const id = buildId<ID>(this.props, this.keys);
1029
- this.load(id);
1030
- }
1031
1004
  load(_id: ID|null, callback?: (m: T, showM: (m2: T) => void) => void) {
1032
1005
  const id: any = _id;
1033
1006
  if (id != null && id !== '') {
@@ -1105,7 +1078,7 @@ export class EditComponent<T, ID, P extends RouteComponentProps, S> extends Base
1105
1078
  }
1106
1079
  }
1107
1080
 
1108
- export class BaseDiffApprComponent<T, ID, P extends RouteComponentProps, S extends BaseDiffState> extends React.Component<P, S & any> {
1081
+ export class BaseDiffApprComponent<T, ID, P, S extends BaseDiffState> extends React.Component<P, S & any> {
1109
1082
  constructor(props: P, protected keys: string[], protected resourceService: ResourceService,
1110
1083
  protected showMessage: (msg: string, option?: string) => void,
1111
1084
  protected showError: (m: string, title?: string, detail?: string, callback?: () => void) => void,
@@ -1118,7 +1091,6 @@ export class BaseDiffApprComponent<T, ID, P extends RouteComponentProps, S exten
1118
1091
  this.resource = resourceService.resource();
1119
1092
  this.showMessage = this.showMessage.bind(this);
1120
1093
  this.showError = this.showError.bind(this);
1121
- this.back = this.back.bind(this);
1122
1094
  this.initModel = this.initModel.bind(this);
1123
1095
  this.postApprove = this.postApprove.bind(this);
1124
1096
  this.postReject = this.postReject.bind(this);
@@ -1135,13 +1107,6 @@ export class BaseDiffApprComponent<T, ID, P extends RouteComponentProps, S exten
1135
1107
  running?: boolean;
1136
1108
  resource: StringMap;
1137
1109
 
1138
- back(event: any) {
1139
- if (event) {
1140
- event.preventDefault();
1141
- }
1142
- this.props.history.goBack();
1143
- }
1144
-
1145
1110
  initModel(): T {
1146
1111
  const x: any = {};
1147
1112
  return x;
@@ -1224,7 +1189,7 @@ export class BaseDiffApprComponent<T, ID, P extends RouteComponentProps, S exten
1224
1189
  this.showError(msg.message, msg.title);
1225
1190
  }
1226
1191
  }
1227
- export class DiffApprComponent<T, ID, P extends RouteComponentProps, S extends DiffState<T>> extends BaseDiffApprComponent<T, ID, P, S> {
1192
+ export class DiffApprComponent<T, ID, P, S extends DiffState<T>> extends BaseDiffApprComponent<T, ID, P, S> {
1228
1193
  constructor(props: P, protected service: DiffApprService<T, ID>,
1229
1194
  param: ResourceService|DiffParameter,
1230
1195
  showMessage?: (msg: string, option?: string) => void,
@@ -1244,14 +1209,6 @@ export class DiffApprComponent<T, ID, P extends RouteComponentProps, S extends D
1244
1209
  }
1245
1210
  ref: any;
1246
1211
 
1247
- componentDidMount() {
1248
- this.form = this.ref.current;
1249
- const id = buildId<ID>(this.props, this.keys);
1250
- if (id) {
1251
- this.load(id);
1252
- }
1253
- }
1254
-
1255
1212
  formatFields(value: T): T {
1256
1213
  return value;
1257
1214
  }