react-hook-core 0.2.2 → 0.2.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/lib/edit.js CHANGED
@@ -90,21 +90,6 @@ function createModel(attributes) {
90
90
  return obj;
91
91
  }
92
92
  exports.createModel = createModel;
93
- function initPropertyNullInModel(obj, m) {
94
- if (!m) {
95
- var x = {};
96
- return x;
97
- }
98
- var model = createModel(m);
99
- for (var _i = 0, _a = Object.keys(model); _i < _a.length; _i++) {
100
- var key = _a[_i];
101
- if (obj && !obj.hasOwnProperty(key)) {
102
- obj[key] = model[key];
103
- }
104
- }
105
- return obj;
106
- }
107
- exports.initPropertyNullInModel = initPropertyNullInModel;
108
93
  function handleVersion(obj, version) {
109
94
  if (obj && version && version.length > 0) {
110
95
  var v = obj[version];
package/lib/route.js CHANGED
@@ -50,7 +50,6 @@ function parseToModel(dest, src) {
50
50
  if (typeof dest !== 'object' || typeof src !== 'object') {
51
51
  return dest;
52
52
  }
53
- dest = convertToObject(dest);
54
53
  for (var key in src) {
55
54
  if (!Object.hasOwn(dest, key))
56
55
  continue;
@@ -77,6 +76,11 @@ function parseToModel(dest, src) {
77
76
  dest[key] = parseInt(dest[key], 10);
78
77
  }
79
78
  }
79
+ else if (typeof src[key] === 'string') {
80
+ if (dest[key]) {
81
+ dest[key] = dest[key].toString();
82
+ }
83
+ }
80
84
  }
81
85
  }
82
86
  return dest;
package/lib/useEdit.js CHANGED
@@ -151,25 +151,22 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
151
151
  if (event) {
152
152
  event.preventDefault();
153
153
  }
154
- var obj = getModel();
155
- var metadata = (p && p.metadata ? p.metadata : (service.metadata ? service.metadata() : undefined));
156
- var keys;
157
- var version;
158
- if (p && metadata && (!p.keys || !p.version)) {
159
- var meta = edit_1.build(metadata);
160
- keys = (p.keys ? p.keys : (meta ? meta.keys : undefined));
161
- version = (p.version ? p.version : (meta ? meta.version : undefined));
162
- }
163
- var diffObj = reflect_1.makeDiff(edit_1.initPropertyNullInModel(flag.originalModel, metadata), obj, keys, version);
164
- var objKeys = Object.keys(diffObj);
165
- if (objKeys.length === 0) {
154
+ if (flag.newMode === true) {
166
155
  navigate(-1);
167
156
  }
168
157
  else {
169
- var msg = core_1.message(p1.resource.value, 'msg_confirm_back', 'confirm', 'yes', 'no');
170
- p1.confirm(msg.message, msg.title, function () {
158
+ var obj = getModel();
159
+ var diffObj = reflect_1.makeDiff(flag.originalModel, obj);
160
+ var objKeys = Object.keys(diffObj);
161
+ if (objKeys.length === 0) {
171
162
  navigate(-1);
172
- }, msg.no, msg.yes);
163
+ }
164
+ else {
165
+ var msg = core_1.message(p1.resource.value, 'msg_confirm_back', 'confirm', 'yes', 'no');
166
+ p1.confirm(msg.message, msg.title, function () {
167
+ navigate(-1);
168
+ }, msg.no, msg.yes);
169
+ }
173
170
  }
174
171
  };
175
172
  var _createModel = function () {
@@ -196,15 +193,15 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
196
193
  }
197
194
  };
198
195
  var _onSave = function (isBack) {
199
- if (flag.newMode === true) {
200
- var m = core_1.message(p1.resource.value, 'error_permission_add', 'error_permission');
201
- p1.showError(m.message, m.title);
202
- return;
203
- }
204
- else if (p && flag.newMode === false && p.readOnly) {
205
- var msg = core_1.message(p1.resource.value, 'error_permission_edit', 'error_permission');
206
- p1.showError(msg.message, msg.title);
207
- return;
196
+ if (p && p.readOnly) {
197
+ if (flag.newMode === true) {
198
+ var m = core_1.message(p1.resource.value, 'error_permission_add', 'error_permission');
199
+ p1.showError(m.message, m.title);
200
+ }
201
+ else {
202
+ var msg = core_1.message(p1.resource.value, 'error_permission_edit', 'error_permission');
203
+ p1.showError(msg.message, msg.title);
204
+ }
208
205
  }
209
206
  else {
210
207
  if (running === true) {
@@ -228,7 +225,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
228
225
  });
229
226
  }
230
227
  else {
231
- var diffObj_1 = reflect_1.makeDiff(edit_1.initPropertyNullInModel(flag.originalModel, metadata), obj_1, keys, version_1);
228
+ var diffObj_1 = reflect_1.makeDiff(flag.originalModel, obj_1, keys, version_1);
232
229
  var objKeys = Object.keys(diffObj_1);
233
230
  if (objKeys.length === 0) {
234
231
  p1.showMessage(p1.resource.value('msg_no_change'));
@@ -382,16 +379,16 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
382
379
  var patchable = (p ? p.patchable : true);
383
380
  if (flag.newMode === false) {
384
381
  if (service.patch && patchable !== false && body && Object.keys(body).length > 0) {
385
- service.patch(body).then(function (result) {
386
- postSave(result, obj, version, true, isBackO);
382
+ service.patch(body).then(function (res) {
383
+ postSave(res, obj, version, true, isBackO);
387
384
  }).catch(handleError);
388
385
  }
389
386
  else {
390
- service.update(obj).then(function (result) { return postSave(result, obj, version, false, isBackO); }).catch(handleError);
387
+ service.update(obj).then(function (res) { return postSave(res, obj, version, false, isBackO); }).catch(handleError);
391
388
  }
392
389
  }
393
390
  else {
394
- service.insert(obj).then(function (result) { return postSave(result, obj, version, false, isBackO); }).catch(handleError);
391
+ service.insert(obj).then(function (res) { return postSave(res, obj, version, false, isBackO); }).catch(handleError);
395
392
  }
396
393
  };
397
394
  var doSave = (p && p.doSave ? p.doSave : _doSave);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-core",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "react",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
package/src/edit.ts CHANGED
@@ -116,7 +116,7 @@ export function createModel<T>(attributes?: Attributes): T {
116
116
  }
117
117
  return obj;
118
118
  }
119
-
119
+ /*
120
120
  export function initPropertyNullInModel<T>(obj: T, m?: Attributes): T {
121
121
  if (!m) {
122
122
  const x: any = {};
@@ -130,7 +130,6 @@ export function initPropertyNullInModel<T>(obj: T, m?: Attributes): T {
130
130
  }
131
131
  return obj;
132
132
  }
133
- /*
134
133
  export function handleStatus(x: number|string, st: EditStatusConfig, gv: (k: string, p?: any) => string, se: (m: string, title?: string, detail?: string, callback?: () => void) => void): void {
135
134
  const title = gv('error');
136
135
  if (x === st.version_error) {
package/src/route.ts CHANGED
@@ -51,7 +51,6 @@ function parseToModel(dest: any, src: any) {
51
51
  if (typeof dest !== 'object' || typeof src !== 'object') {
52
52
  return dest;
53
53
  }
54
- dest = convertToObject(dest)
55
54
  for (let key in src) {
56
55
  if (!Object.hasOwn(dest, key)) continue;
57
56
  if (src.hasOwnProperty(key)) {
@@ -69,9 +68,13 @@ function parseToModel(dest: any, src: any) {
69
68
  } else if (typeof src[key] === 'number') {
70
69
  if ( typeof dest[key] === 'string' && dest[key].indexOf(".") !== -1){
71
70
  dest[key] = parseFloat(dest[key]);
72
- }else{
71
+ } else{
73
72
  dest[key] = parseInt(dest[key], 10);
74
73
  }
74
+ } else if (typeof src[key] === 'string') {
75
+ if (dest[key]) {
76
+ dest[key] = dest[key].toString();
77
+ }
75
78
  }
76
79
  }
77
80
  }
package/src/useEdit.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import {useEffect, useState} from 'react';
2
2
  import {useNavigate, useParams} from 'react-router';
3
3
  import {Attributes, buildId, ErrorMessage, getModelName as getModelName2, hideLoading, initForm, LoadingService, Locale, message, messageByHttpStatus, ResourceService, showLoading, UIService} from './core';
4
- import {build, createModel as createModel2, EditParameter, GenericService, handleVersion, initPropertyNullInModel} from './edit';
4
+ import {build, createModel as createModel2, EditParameter, GenericService, handleVersion} from './edit';
5
5
  import {focusFirstError, setReadOnly} from './formutil';
6
6
  import {DispatchWithCallback, useMergeState} from './merge';
7
7
  import {clone, makeDiff} from './reflect';
@@ -231,24 +231,20 @@ export const useCoreEdit = <T, ID, S, P>(
231
231
  if (event) {
232
232
  event.preventDefault();
233
233
  }
234
- const obj = getModel();
235
- const metadata = (p && p.metadata ? p.metadata : (service.metadata ? service.metadata() : undefined));
236
- let keys: string[]|undefined;
237
- let version: string|undefined;
238
- if (p && metadata && (!p.keys || !p.version)) {
239
- const meta = build(metadata);
240
- keys = (p.keys ? p.keys : (meta ? meta.keys : undefined));
241
- version = (p.version ? p.version : (meta ? meta.version : undefined));
242
- }
243
- const diffObj = makeDiff(initPropertyNullInModel(flag.originalModel, metadata), obj, keys, version);
244
- const objKeys = Object.keys(diffObj);
245
- if (objKeys.length === 0) {
234
+ if (flag.newMode === true) {
246
235
  navigate(-1);
247
236
  } else {
248
- const msg = message(p1.resource.value, 'msg_confirm_back', 'confirm', 'yes', 'no');
249
- p1.confirm(msg.message, msg.title, () => {
237
+ const obj = getModel();
238
+ const diffObj = makeDiff(flag.originalModel, obj);
239
+ const objKeys = Object.keys(diffObj);
240
+ if (objKeys.length === 0) {
250
241
  navigate(-1);
251
- }, msg.no, msg.yes);
242
+ } else {
243
+ const msg = message(p1.resource.value, 'msg_confirm_back', 'confirm', 'yes', 'no');
244
+ p1.confirm(msg.message, msg.title, () => {
245
+ navigate(-1);
246
+ }, msg.no, msg.yes);
247
+ }
252
248
  }
253
249
  };
254
250
  const _createModel = (): T => {
@@ -276,16 +272,16 @@ export const useCoreEdit = <T, ID, S, P>(
276
272
  };
277
273
 
278
274
  const _onSave = (isBack?: boolean) => {
279
- if (flag.newMode === true) {
280
- const m = message(p1.resource.value, 'error_permission_add', 'error_permission');
281
- p1.showError(m.message, m.title);
282
- return;
283
- } else if (p && flag.newMode === false && p.readOnly) {
284
- const msg = message(p1.resource.value, 'error_permission_edit', 'error_permission');
285
- p1.showError(msg.message, msg.title);
286
- return;
275
+ if (p && p.readOnly) {
276
+ if (flag.newMode === true) {
277
+ const m = message(p1.resource.value, 'error_permission_add', 'error_permission');
278
+ p1.showError(m.message, m.title);
279
+ } else {
280
+ const msg = message(p1.resource.value, 'error_permission_edit', 'error_permission');
281
+ p1.showError(msg.message, msg.title);
282
+ }
287
283
  } else {
288
- if (running === true) {
284
+ if (running === true) {
289
285
  return;
290
286
  }
291
287
  const obj = getModel();
@@ -305,7 +301,7 @@ export const useCoreEdit = <T, ID, S, P>(
305
301
  }, msg.no, msg.yes);
306
302
  });
307
303
  } else {
308
- const diffObj = makeDiff(initPropertyNullInModel(flag.originalModel, metadata), obj, keys, version);
304
+ const diffObj = makeDiff(flag.originalModel, obj, keys, version);
309
305
  const objKeys = Object.keys(diffObj);
310
306
  if (objKeys.length === 0) {
311
307
  p1.showMessage(p1.resource.value('msg_no_change'));
@@ -453,14 +449,14 @@ export const useCoreEdit = <T, ID, S, P>(
453
449
  const patchable = (p ? p.patchable : true);
454
450
  if (flag.newMode === false) {
455
451
  if (service.patch && patchable !== false && body && Object.keys(body).length > 0) {
456
- service.patch(body).then(result => {
457
- postSave(result, obj, version, true, isBackO);
452
+ service.patch(body).then((res: number|T|ErrorMessage[]) => {
453
+ postSave(res, obj, version, true, isBackO);
458
454
  }).catch(handleError);
459
455
  } else {
460
- service.update(obj).then(result => postSave(result, obj, version, false, isBackO)).catch(handleError);
456
+ service.update(obj).then((res: number|T|ErrorMessage[]) => postSave(res, obj, version, false, isBackO)).catch(handleError);
461
457
  }
462
458
  } else {
463
- service.insert(obj).then(result => postSave(result, obj, version, false, isBackO)).catch(handleError);
459
+ service.insert(obj).then((res: number|T|ErrorMessage[]) => postSave(res, obj, version, false, isBackO)).catch(handleError);
464
460
  }
465
461
  };
466
462
 
@@ -471,7 +467,7 @@ export const useCoreEdit = <T, ID, S, P>(
471
467
  if (id != null && id !== '') {
472
468
  setRunning(true);
473
469
  showLoading(p1.loading);
474
- service.load(id).then(obj => {
470
+ service.load(id).then((obj: T|null) => {
475
471
  if (!obj) {
476
472
  handleNotFound(refForm.current);
477
473
  } else {
@@ -484,7 +480,7 @@ export const useCoreEdit = <T, ID, S, P>(
484
480
  }
485
481
  setRunning(false);
486
482
  hideLoading(p1.loading);
487
- }).catch(err => {
483
+ }).catch((err: any) => {
488
484
  const data = (err && err.response) ? err.response : err;
489
485
  const r = p1.resource;
490
486
  const title = r.value('error');