react-hook-core 0.0.1 → 0.1.3

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
@@ -10,42 +10,6 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
13
  Object.defineProperty(exports, "__esModule", { value: true });
50
14
  var react_1 = require("react");
51
15
  var reflectx_1 = require("reflectx");
@@ -54,135 +18,53 @@ var edit_1 = require("./edit");
54
18
  var formutil_1 = require("./formutil");
55
19
  var merge_1 = require("./merge");
56
20
  var router_1 = require("./router");
21
+ var state_1 = require("./state");
57
22
  var update_1 = require("./update");
58
23
  function prepareData(data) {
59
24
  }
60
- exports.useBaseEdit = function (refForm, initialState, service, p1, p2) {
61
- return exports.useBaseEditWithProps(null, refForm, initialState, service, p1, p2);
62
- };
63
- exports.useBaseEditWithProps = function (props, refForm, initialState, service, p1, p2, p3) {
64
- var p4 = (p2 ? p2 : {});
65
- var p = {
66
- props: props,
67
- refForm: refForm,
68
- initialState: initialState,
69
- service: service,
70
- status: p1.status,
71
- resourceService: p1.resource,
72
- showMessage: p1.showMessage,
73
- showError: p1.showError,
74
- confirm: p1.confirm,
75
- ui: p1.ui,
76
- getLocale: p1.getLocale,
77
- loading: p1.loading,
78
- backOnSuccess: p4.backOnSuccess,
79
- metadata: p4.metadata,
80
- keys: p4.keys,
81
- version: p4.version,
82
- setBack: p4.setBack,
83
- patchable: p4.patchable,
84
- addable: p4.addable,
85
- readOnly: p4.readOnly,
86
- handleNotFound: p4.handleNotFound,
87
- getModelName: p4.getModelName,
88
- getModel: p4.getModel,
89
- showModel: p4.showModel,
90
- createModel: p4.createModel,
91
- onSave: p4.onSave,
92
- validate: p4.validate,
93
- succeed: p4.succeed,
94
- fail: p4.fail,
95
- postSave: p4.postSave,
96
- handleDuplicateKey: p4.handleDuplicateKey,
97
- load: p4.load,
98
- save: p4.save
99
- };
100
- var per = (p3 ? p3 : p2);
101
- if (per) {
102
- p.addable = per.addable;
103
- p.readOnly = per.readOnly;
104
- p.deletable = per.deletable;
105
- }
106
- return exports.useBaseEditOneWithProps(p);
25
+ exports.useEdit = function (refForm, initialState, service, p1, p2) {
26
+ return exports.useCoreEdit(undefined, refForm, initialState, service, p1, p2);
107
27
  };
108
- exports.useEdit = function (props, refForm, initialState, service, p1, p2, p3) {
109
- var p4 = (p1 ? p1 : {});
110
- var p = {
111
- props: props,
112
- refForm: refForm,
113
- initialize: p4.initialize,
114
- callback: p4.callback,
115
- initialState: initialState,
116
- service: service,
117
- status: p2.status,
118
- resourceService: p2.resource,
119
- showMessage: p2.showMessage,
120
- showError: p2.showError,
121
- confirm: p2.confirm,
122
- ui: p2.ui,
123
- getLocale: p2.getLocale,
124
- loading: p2.loading,
125
- backOnSuccess: p4.backOnSuccess,
126
- metadata: p4.metadata,
127
- keys: p4.keys,
128
- version: p4.version,
129
- setBack: p4.setBack,
130
- patchable: p4.patchable,
131
- addable: p4.addable,
132
- readOnly: p4.readOnly,
133
- handleNotFound: p4.handleNotFound,
134
- getModelName: p4.getModelName,
135
- getModel: p4.getModel,
136
- showModel: p4.showModel,
137
- createModel: p4.createModel,
138
- onSave: p4.onSave,
139
- validate: p4.validate,
140
- succeed: p4.succeed,
141
- fail: p4.fail,
142
- postSave: p4.postSave,
143
- handleDuplicateKey: p4.handleDuplicateKey,
144
- load: p4.load,
145
- save: p4.save
146
- };
147
- var per = (p3 ? p3 : p1);
148
- if (per) {
149
- p.addable = per.addable;
150
- p.readOnly = per.readOnly;
151
- p.deletable = per.deletable;
152
- }
153
- return exports.useEditOne(p);
154
- };
155
- exports.useEditOne = function (p) {
156
- var baseProps = exports.useBaseEditOneWithProps(p);
28
+ exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
29
+ var baseProps = exports.useCoreEdit(props, refForm, initialState, service, p2, p);
157
30
  react_1.useEffect(function () {
158
- if (baseProps.refForm) {
159
- var registerEvents = (baseProps.ui ? baseProps.ui.registerEvents : null);
31
+ if (refForm) {
32
+ var registerEvents = (p2.ui ? p2.ui.registerEvents : undefined);
160
33
  core_1.initForm(baseProps.refForm.current, registerEvents);
161
34
  }
162
- var n = baseProps.getModelName(p.refForm.current);
35
+ var n = baseProps.getModelName(refForm.current);
163
36
  var obj = {};
164
37
  obj[n] = baseProps.createNewModel();
165
38
  baseProps.setState(obj);
166
- if (!p.keys && p.service && p.service.metadata) {
167
- var metadata = (p.metadata ? p.metadata : p.service.metadata());
39
+ var keys;
40
+ if (p && !p.keys && service && service.metadata) {
41
+ var metadata = (p.metadata ? p.metadata : service.metadata());
168
42
  var meta = edit_1.build(metadata);
169
- var keys = (p.keys ? p.keys : (meta ? meta.keys : null));
170
- var version = (p.version ? p.version : (meta ? meta.version : null));
43
+ keys = (p.keys ? p.keys : (meta ? meta.keys : undefined));
44
+ var version = (p.version ? p.version : (meta ? meta.version : undefined));
171
45
  p.keys = keys;
172
46
  p.version = version;
173
47
  }
174
- var id = core_1.buildId(p.props, p.keys);
175
- if (p && p.initialize) {
176
- p.initialize(id, baseProps.load, baseProps.setState, p.callback);
177
- }
178
- else {
179
- baseProps.load(id, p.callback);
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);
55
+ }
180
56
  }
181
57
  }, []);
182
58
  return __assign({}, baseProps);
183
59
  };
184
- exports.useBaseEditOneWithProps = function (p) {
185
- var _a = p.backOnSuccess, backOnSuccess = _a === void 0 ? true : _a, _b = p.patchable, patchable = _b === void 0 ? true : _b, _c = p.addable, addable = _c === void 0 ? true : _c;
60
+ exports.useEditOneProps = function (p) {
61
+ return exports.useEditProps(p.props, p.refForm, p.initialState, p.service, p, p);
62
+ };
63
+ exports.useEditOne = function (p) {
64
+ return exports.useEdit(p.refForm, p.initialState, p.service, p, p);
65
+ };
66
+ exports.useCoreEdit = function (props, refForm, initialState, service, p1, p) {
67
+ var addable = (p && p.patchable !== false ? true : undefined);
186
68
  var goBack = router_1.useRouter().goBack;
187
69
  var back = function (event) {
188
70
  if (event) {
@@ -190,42 +72,42 @@ exports.useBaseEditOneWithProps = function (p) {
190
72
  }
191
73
  goBack();
192
74
  };
193
- var _d = react_1.useState(undefined), running = _d[0], setRunning = _d[1];
194
- var baseProps = update_1.useUpdate(p.initialState, p.getLocale);
75
+ var _a = react_1.useState(), running = _a[0], setRunning = _a[1];
195
76
  var getModelName = function (f) {
196
- if (p.name && p.name.length > 0) {
77
+ if (p && p.name && p.name.length > 0) {
197
78
  return p.name;
198
79
  }
199
80
  return core_1.getModelName(f);
200
81
  };
201
- var prepareCustomData = (p.prepareCustomData ? p.prepareCustomData : prepareData);
82
+ var baseProps = update_1.useUpdate(initialState, getModelName, p1.getLocale);
83
+ var prepareCustomData = (p && p.prepareCustomData ? p.prepareCustomData : prepareData);
202
84
  var updateDateState = function (name, value) {
203
85
  var _a, _b, _c, _d, _e;
204
- var modelName = getModelName(p.refForm.current);
86
+ var modelName = getModelName(refForm.current);
205
87
  var currentState = state[modelName];
206
- if (p.props && p.props.setGlobalState) {
207
- var data = p.props.shouldBeCustomized ? prepareCustomData((_a = {}, _a[name] = value, _a)) : (_b = {}, _b[name] = value, _b);
208
- p.props.setGlobalState((_c = {}, _c[modelName] = __assign(__assign({}, currentState), data), _c));
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));
209
91
  }
210
92
  else {
211
93
  setState((_d = {}, _d[modelName] = __assign(__assign({}, currentState), (_e = {}, _e[name] = value, _e)), _d));
212
94
  }
213
95
  };
214
96
  var state = baseProps.state, setState = baseProps.setState;
215
- var _e = merge_1.useMergeState({
97
+ var _b = merge_1.useMergeState({
216
98
  newMode: false,
217
99
  setBack: false,
218
100
  addable: addable,
219
- readOnly: formutil_1.readOnly,
101
+ readOnly: p ? p.readOnly : undefined,
220
102
  originalModel: undefined
221
- }), flag = _e[0], setFlag = _e[1];
103
+ }), flag = _b[0], setFlag = _b[1];
222
104
  var showModel = function (model) {
223
- var n = getModelName(p.refForm.current);
105
+ var n = getModelName(refForm.current);
224
106
  var objSet = {};
225
107
  objSet[n] = model;
226
108
  setState(objSet);
227
- if (p.readOnly) {
228
- var f = p.refForm.current;
109
+ if (p && p.readOnly) {
110
+ var f = refForm.current;
229
111
  formutil_1.readOnly(f);
230
112
  }
231
113
  };
@@ -234,25 +116,25 @@ exports.useBaseEditOneWithProps = function (p) {
234
116
  showModel(model);
235
117
  };
236
118
  var _handleNotFound = function (form) {
237
- var msg = core_1.message(p.resourceService.value, 'error_not_found', 'error');
119
+ var msg = core_1.message(p1.resource.value, 'error_not_found', 'error');
238
120
  if (form) {
239
121
  formutil_1.readOnly(form);
240
122
  }
241
- p.showError(msg.message, msg.title);
123
+ p1.showError(msg.message, msg.title);
242
124
  };
243
- var handleNotFound = (p.handleNotFound ? p.handleNotFound : _handleNotFound);
125
+ var handleNotFound = (p && p.handleNotFound ? p.handleNotFound : _handleNotFound);
244
126
  var _getModel = function () {
245
- var n = getModelName(p.refForm.current);
246
- if (p.props) {
247
- return p.props[n] || state[n];
127
+ var n = getModelName(refForm.current);
128
+ if (props) {
129
+ return props[n] || state[n];
248
130
  }
249
131
  else {
250
132
  return state[n];
251
133
  }
252
134
  };
253
- var getModel = (p.getModel ? p.getModel : _getModel);
135
+ var getModel = (p && p.getModel ? p.getModel : _getModel);
254
136
  var _createModel = function () {
255
- var metadata = (p.metadata ? p.metadata : p.service.metadata());
137
+ var metadata = (p && p.metadata ? p.metadata : (service.metadata ? service.metadata() : undefined));
256
138
  if (metadata) {
257
139
  var obj = edit_1.createModel(metadata);
258
140
  return obj;
@@ -262,26 +144,27 @@ exports.useBaseEditOneWithProps = function (p) {
262
144
  return obj;
263
145
  }
264
146
  };
265
- var createModel = (p.createModel ? p.createModel : _createModel);
266
- var newOnClick = function (event) {
147
+ var createModel = (p && p.createModel ? p.createModel : _createModel);
148
+ var create = function (event) {
267
149
  event.preventDefault();
268
150
  var obj = createModel();
269
- resetState(true, obj, null);
270
- if (p.ui) {
151
+ resetState(true, obj, undefined);
152
+ var u = p1.ui;
153
+ if (u) {
271
154
  setTimeout(function () {
272
- p.ui.removeFormError(p.refForm.current);
155
+ u.removeFormError(refForm.current);
273
156
  }, 100);
274
157
  }
275
158
  };
276
159
  var _onSave = function (isBack) {
277
160
  if (flag.newMode === true && flag.addable === false) {
278
- var m = core_1.message(p.resourceService.value, 'error_permission_add', 'error_permission');
279
- p.showError(m.message, m.title);
161
+ var m = core_1.message(p1.resource.value, 'error_permission_add', 'error_permission');
162
+ p1.showError(m.message, m.title);
280
163
  return;
281
164
  }
282
- else if (flag.newMode === false && p.readOnly) {
283
- var msg = core_1.message(p.resourceService.value, 'error_permission_edit', 'error_permission');
284
- p.showError(msg.message, msg.title);
165
+ else if (p && flag.newMode === false && p.readOnly) {
166
+ var msg = core_1.message(p1.resource.value, 'error_permission_edit', 'error_permission');
167
+ p1.showError(msg.message, msg.title);
285
168
  return;
286
169
  }
287
170
  else {
@@ -289,48 +172,48 @@ exports.useBaseEditOneWithProps = function (p) {
289
172
  return;
290
173
  }
291
174
  var obj_1 = getModel();
292
- var metadata = (p.metadata ? p.metadata : p.service.metadata());
293
- if ((!p.keys || !p.version) && p.service && p.service.metadata) {
175
+ var metadata = (p && p.metadata ? p.metadata : (service.metadata ? service.metadata() : undefined));
176
+ var keys = void 0;
177
+ var version_1;
178
+ if (p && metadata && (!p.keys || !p.version)) {
294
179
  var meta = edit_1.build(metadata);
295
- var keys = (p.keys ? p.keys : (meta ? meta.keys : null));
296
- var version = (p.version ? p.version : (meta ? meta.version : null));
297
- p.keys = keys;
298
- p.version = version;
180
+ keys = (p.keys ? p.keys : (meta ? meta.keys : undefined));
181
+ version_1 = (p.version ? p.version : (meta ? meta.version : undefined));
299
182
  }
300
183
  if (flag.newMode) {
301
184
  validate(obj_1, function () {
302
- var msg = core_1.message(p.resourceService.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
303
- p.confirm(msg.message, msg.title, function () {
304
- save(obj_1, null, p.version, isBack);
185
+ var msg = core_1.message(p1.resource.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
186
+ p1.confirm(msg.message, msg.title, function () {
187
+ doSave(obj_1, undefined, version_1, isBack);
305
188
  }, msg.no, msg.yes);
306
189
  });
307
190
  }
308
191
  else {
309
- var diffObj_1 = reflectx_1.makeDiff(edit_1.initPropertyNullInModel(flag.originalModel, metadata), obj_1, p.keys, p.version);
192
+ var diffObj_1 = reflectx_1.makeDiff(edit_1.initPropertyNullInModel(flag.originalModel, metadata), obj_1, keys, version_1);
310
193
  var objKeys = Object.keys(diffObj_1);
311
194
  if (objKeys.length === 0) {
312
- p.showMessage(p.resourceService.value('msg_no_change'));
195
+ p1.showMessage(p1.resource.value('msg_no_change'));
313
196
  }
314
197
  else {
315
198
  validate(obj_1, function () {
316
- var msg = core_1.message(p.resourceService.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
317
- p.confirm(msg.message, msg.title, function () {
318
- save(obj_1, diffObj_1, p.version, isBack);
199
+ var msg = core_1.message(p1.resource.value, 'msg_confirm_save', 'confirm', 'yes', 'no');
200
+ p1.confirm(msg.message, msg.title, function () {
201
+ doSave(obj_1, diffObj_1, version_1, isBack);
319
202
  }, msg.no, msg.yes);
320
203
  });
321
204
  }
322
205
  }
323
206
  }
324
207
  };
325
- var onSave = (p.onSave ? p.onSave : _onSave);
326
- var saveOnClick = function (event) {
208
+ var onSave = (p && p.onSave ? p.onSave : _onSave);
209
+ var save = function (event) {
327
210
  event.preventDefault();
328
211
  event.persist();
329
- onSave(backOnSuccess);
212
+ onSave();
330
213
  };
331
214
  var _validate = function (obj, callback) {
332
- if (p.ui) {
333
- var valid = p.ui.validateForm(p.refForm.current, p.getLocale());
215
+ if (p1.ui) {
216
+ var valid = p1.ui.validateForm(refForm.current, state_1.localeOf(undefined, p1.getLocale));
334
217
  if (valid) {
335
218
  callback(obj);
336
219
  }
@@ -339,7 +222,7 @@ exports.useBaseEditOneWithProps = function (p) {
339
222
  callback(obj);
340
223
  }
341
224
  };
342
- var validate = (p.validate ? p.validate : _validate);
225
+ var validate = (p && p.validate ? p.validate : _validate);
343
226
  var _succeed = function (obj, msg, version, isBack, result) {
344
227
  if (result) {
345
228
  var model = result.value;
@@ -354,44 +237,46 @@ exports.useBaseEditOneWithProps = function (p) {
354
237
  else {
355
238
  edit_1.handleVersion(obj, version);
356
239
  }
357
- var isBackO = (isBack == null || isBack === undefined ? backOnSuccess : isBack);
358
- p.showMessage(msg);
359
- if (isBackO) {
360
- back(null);
240
+ p1.showMessage(msg);
241
+ if (isBack) {
242
+ back(undefined);
361
243
  }
362
244
  };
363
- var succeed = (p.succeed ? p.succeed : _succeed);
245
+ var succeed = (p && p.succeed ? p.succeed : _succeed);
364
246
  var _fail = function (result) {
365
247
  var errors = result.errors;
366
- var f = p.refForm.current;
367
- var unmappedErrors = p.ui.showFormError(f, errors);
368
- formutil_1.focusFirstError(f);
369
- if (!result.message) {
370
- if (errors && errors.length === 1) {
371
- result.message = errors[0].message;
372
- }
373
- else {
374
- if (p.ui && p.ui.buildErrorMessage) {
375
- result.message = p.ui.buildErrorMessage(unmappedErrors);
248
+ var f = refForm.current;
249
+ var u = p1.ui;
250
+ if (errors && u) {
251
+ var unmappedErrors = u.showFormError(f, errors);
252
+ formutil_1.focusFirstError(f);
253
+ if (!result.message) {
254
+ if (errors && errors.length === 1) {
255
+ result.message = errors[0].message;
376
256
  }
377
257
  else {
378
- result.message = errors[0].message;
258
+ if (p1.ui && p1.ui.buildErrorMessage) {
259
+ result.message = p1.ui.buildErrorMessage(unmappedErrors);
260
+ }
261
+ else {
262
+ result.message = errors[0].message;
263
+ }
379
264
  }
380
265
  }
266
+ if (result.message) {
267
+ var t = p1.resource.value('error');
268
+ p1.showError(result.message, t);
269
+ }
381
270
  }
382
- var t = p.resourceService.value('error');
383
- p.showError(result.message, t);
384
271
  };
385
- var fail = (p.fail ? p.fail : _fail);
272
+ var fail = (p && p.fail ? p.fail : _fail);
386
273
  var _postSave = function (obj, res, version, backOnSave) {
387
274
  setRunning(false);
388
- if (p.loading) {
389
- p.loading.hideLoading();
390
- }
275
+ core_1.hideLoading(p1.loading);
391
276
  var x = res;
392
- var successMsg = p.resourceService.value('msg_save_success');
277
+ var successMsg = p1.resource.value('msg_save_success');
393
278
  var newMod = flag.newMode;
394
- var st = core_1.createEditStatus(p.status);
279
+ var st = core_1.createEditStatus(p ? p.status : undefined);
395
280
  if (!isNaN(x)) {
396
281
  if (x === st.success) {
397
282
  succeed(obj, successMsg, version, backOnSave);
@@ -404,7 +289,7 @@ exports.useBaseEditOneWithProps = function (p) {
404
289
  handleNotFound();
405
290
  }
406
291
  else {
407
- edit_1.handleStatus(x, st, p.resourceService.value, p.showError);
292
+ edit_1.handleStatus(x, st, p1.resource.value, p1.showError);
408
293
  }
409
294
  }
410
295
  }
@@ -412,7 +297,7 @@ exports.useBaseEditOneWithProps = function (p) {
412
297
  var result = x;
413
298
  if (result.status === st.success) {
414
299
  succeed(obj, successMsg, version, backOnSave, result);
415
- p.showMessage(successMsg);
300
+ p1.showMessage(successMsg);
416
301
  }
417
302
  else if (result.errors && result.errors.length > 0) {
418
303
  fail(result);
@@ -424,121 +309,90 @@ exports.useBaseEditOneWithProps = function (p) {
424
309
  handleNotFound();
425
310
  }
426
311
  else {
427
- edit_1.handleStatus(result.status, st, p.resourceService.value, p.showError);
312
+ edit_1.handleStatus(result.status, st, p1.resource.value, p1.showError);
428
313
  }
429
314
  }
430
315
  };
431
- var postSave = (p.postSave ? p.postSave : _postSave);
316
+ var postSave = (p && p.postSave ? p.postSave : _postSave);
432
317
  var _handleDuplicateKey = function (result) {
433
- var msg = core_1.message(p.resourceService.value, 'error_duplicate_key', 'error');
434
- p.showError(msg.message, msg.title);
318
+ var msg = core_1.message(p1.resource.value, 'error_duplicate_key', 'error');
319
+ p1.showError(msg.message, msg.title);
435
320
  };
436
- var handleDuplicateKey = (p.handleDuplicateKey ? p.handleDuplicateKey : _handleDuplicateKey);
437
- var _save = function (obj, body, version, isBack) {
438
- return __awaiter(void 0, void 0, void 0, function () {
439
- var isBackO, result, result, result;
440
- return __generator(this, function (_a) {
441
- switch (_a.label) {
442
- case 0:
443
- setRunning(true);
444
- p.loading.showLoading();
445
- isBackO = (isBack == null || isBack === undefined ? backOnSuccess : isBack);
446
- if (!(flag.newMode === false)) return [3, 5];
447
- if (!(patchable === true && body && Object.keys(body).length > 0)) return [3, 2];
448
- return [4, p.service.patch(body)];
449
- case 1:
450
- result = _a.sent();
451
- postSave(obj, result, version, isBackO);
452
- return [3, 4];
453
- case 2: return [4, p.service.update(obj)];
454
- case 3:
455
- result = _a.sent();
456
- postSave(obj, result, version, isBackO);
457
- _a.label = 4;
458
- case 4: return [3, 7];
459
- case 5: return [4, p.service.insert(obj)];
460
- case 6:
461
- result = _a.sent();
462
- postSave(obj, result, version, isBackO);
463
- _a.label = 7;
464
- case 7: return [2];
465
- }
466
- });
467
- });
321
+ var handleDuplicateKey = (p && p.handleDuplicateKey ? p.handleDuplicateKey : _handleDuplicateKey);
322
+ var _doSave = function (obj, body, version, isBack) {
323
+ setRunning(true);
324
+ core_1.showLoading(p1.loading);
325
+ var isBackO = (isBack == null || isBack === undefined ? true : isBack);
326
+ var patchable = (p ? p.patchable : true);
327
+ if (flag.newMode === false) {
328
+ if (service.patch && patchable !== false && body && Object.keys(body).length > 0) {
329
+ service.patch(body).then(function (result) { return postSave(obj, result, version, isBackO); });
330
+ }
331
+ else {
332
+ service.update(obj).then(function (result) { return postSave(obj, result, version, isBackO); });
333
+ }
334
+ }
335
+ else {
336
+ service.insert(obj).then(function (result) { return postSave(obj, result, version, isBackO); });
337
+ }
468
338
  };
469
- var save = (p.save ? p.save : _save);
339
+ var doSave = (p && p.doSave ? p.doSave : _doSave);
470
340
  var _load = function (_id, callback) {
471
- return __awaiter(void 0, void 0, void 0, function () {
472
- var id, obj, err_1, data, r, title, msg, obj;
473
- return __generator(this, function (_a) {
474
- switch (_a.label) {
475
- case 0:
476
- id = _id;
477
- debugger;
478
- if (!(id != null && id !== '')) return [3, 6];
479
- _a.label = 1;
480
- case 1:
481
- _a.trys.push([1, 3, 4, 5]);
482
- return [4, p.service.load(id)];
483
- case 2:
484
- obj = _a.sent();
485
- if (!obj) {
486
- handleNotFound(p.refForm.current);
487
- }
488
- else {
489
- setFlag({ newMode: false, originalModel: reflectx_1.clone(obj) });
490
- if (callback) {
491
- callback(obj, showModel);
492
- }
493
- else {
494
- showModel(obj);
495
- }
496
- }
497
- return [3, 5];
498
- case 3:
499
- err_1 = _a.sent();
500
- data = (err_1 && err_1.response) ? err_1.response : err_1;
501
- r = p.resourceService;
502
- title = r.value('error');
503
- msg = r.value('error_internal');
504
- if (data && data.status === 404) {
505
- handleNotFound(p.refForm.current);
506
- }
507
- else {
508
- if (data.status && !isNaN(data.status)) {
509
- msg = core_1.messageByHttpStatus(data.status, r.value);
510
- }
511
- if (data && (data.status === 401 || data.status === 403)) {
512
- formutil_1.readOnly(p.refForm.current);
513
- }
514
- p.showError(msg, title);
515
- }
516
- return [3, 5];
517
- case 4:
518
- setRunning(false);
519
- if (p.loading) {
520
- p.loading.hideLoading();
521
- }
522
- return [7];
523
- case 5: return [3, 7];
524
- case 6:
525
- obj = createModel();
526
- setFlag({ newMode: true, originalModel: null });
527
- if (callback) {
528
- callback(obj, showModel);
529
- }
530
- else {
531
- showModel(obj);
532
- }
533
- _a.label = 7;
534
- case 7: return [2];
341
+ var id = _id;
342
+ if (id != null && id !== '') {
343
+ setRunning(true);
344
+ core_1.showLoading(p1.loading);
345
+ service.load(id).then(function (obj) {
346
+ if (!obj) {
347
+ handleNotFound(refForm.current);
535
348
  }
349
+ else {
350
+ setFlag({ newMode: false, originalModel: reflectx_1.clone(obj) });
351
+ if (callback) {
352
+ callback(obj, showModel);
353
+ }
354
+ else {
355
+ showModel(obj);
356
+ }
357
+ }
358
+ setRunning(false);
359
+ core_1.hideLoading(p1.loading);
360
+ }).catch(function (err) {
361
+ var data = (err && err.response) ? err.response : err;
362
+ var r = p1.resource;
363
+ var title = r.value('error');
364
+ var msg = r.value('error_internal');
365
+ if (data && data.status === 404) {
366
+ handleNotFound(refForm.current);
367
+ }
368
+ else {
369
+ if (data.status && !isNaN(data.status)) {
370
+ msg = core_1.messageByHttpStatus(data.status, r.value);
371
+ }
372
+ if (data && (data.status === 401 || data.status === 403)) {
373
+ formutil_1.readOnly(refForm.current);
374
+ }
375
+ p1.showError(msg, title);
376
+ }
377
+ setRunning(false);
378
+ core_1.hideLoading(p1.loading);
536
379
  });
537
- });
380
+ }
381
+ else {
382
+ var obj = createModel();
383
+ setFlag({ newMode: true, originalModel: undefined });
384
+ if (callback) {
385
+ callback(obj, showModel);
386
+ }
387
+ else {
388
+ showModel(obj);
389
+ }
390
+ }
538
391
  };
539
- var load = (p.load ? p.load : _load);
392
+ var load = (p && p.load ? p.load : _load);
540
393
  return __assign(__assign({}, baseProps), {
541
- back: back, refForm: p.refForm, ui: p.ui, resource: p.resourceService.resource(), flag: flag,
394
+ back: back,
395
+ refForm: refForm, ui: p1.ui, resource: p1.resource.resource(), flag: flag,
542
396
  running: running,
543
397
  setRunning: setRunning,
544
398
  updateDateState: updateDateState,
@@ -546,15 +400,14 @@ exports.useBaseEditOneWithProps = function (p) {
546
400
  getModelName: getModelName,
547
401
  resetState: resetState,
548
402
  handleNotFound: handleNotFound,
549
- getModel: getModel, createNewModel: createModel, newOnClick: newOnClick,
550
- saveOnClick: saveOnClick,
403
+ getModel: getModel, createNewModel: createModel, newOnClick: create, save: save,
551
404
  onSave: onSave,
552
405
  confirm: confirm,
553
- validate: validate, showMessage: p.showMessage, succeed: succeed,
406
+ validate: validate, showMessage: p1.showMessage, succeed: succeed,
554
407
  fail: fail,
555
408
  postSave: postSave,
556
409
  handleDuplicateKey: handleDuplicateKey,
557
410
  load: load,
558
- save: save
411
+ doSave: doSave
559
412
  });
560
413
  };