react-hook-core 0.1.25 → 0.2.0
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/com.js +1 -1
- package/lib/components.js +18 -29
- package/lib/core.js +0 -28
- package/lib/edit.js +0 -13
- package/lib/index.js +8 -0
- package/lib/input.js +0 -14
- package/lib/useEdit.js +9 -15
- package/lib/useSearch.js +0 -16
- package/package.json +1 -1
- package/src/com.ts +1 -1
- package/src/components.ts +29 -34
- package/src/core.ts +3 -2
- package/src/edit.ts +4 -2
- package/src/index.ts +7 -0
- package/src/input.ts +3 -1
- package/src/useEdit.ts +13 -15
- package/src/useSearch.ts +15 -13
package/lib/com.js
CHANGED
|
@@ -6,7 +6,7 @@ function PageSizeSelect(p) {
|
|
|
6
6
|
var g = p.sizes;
|
|
7
7
|
var s = (!g || g.length === 0 ? core_1.pageSizes : g);
|
|
8
8
|
var opts = s.map(function (pgSize) { return React.createElement('option', { key: pgSize, value: pgSize }, pgSize); });
|
|
9
|
-
return React.createElement('select', { id: p.id, name: p.name,
|
|
9
|
+
return React.createElement('select', { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts);
|
|
10
10
|
}
|
|
11
11
|
exports.PageSizeSelect = PageSizeSelect;
|
|
12
12
|
function Search(p) {
|
package/lib/components.js
CHANGED
|
@@ -635,7 +635,7 @@ var SearchComponent = (function (_super) {
|
|
|
635
635
|
exports.SearchComponent = SearchComponent;
|
|
636
636
|
var BaseEditComponent = (function (_super) {
|
|
637
637
|
__extends(BaseEditComponent, _super);
|
|
638
|
-
function BaseEditComponent(props, resourceService, showMessage, showError, confirm, getLocale, ui, loading,
|
|
638
|
+
function BaseEditComponent(props, resourceService, showMessage, showError, confirm, getLocale, ui, loading, patchable, backOnSaveSuccess) {
|
|
639
639
|
var _this = _super.call(this, props, getLocale, (ui ? ui.removeError : undefined)) || this;
|
|
640
640
|
_this.resourceService = resourceService;
|
|
641
641
|
_this.showMessage = showMessage;
|
|
@@ -672,7 +672,6 @@ var BaseEditComponent = (function (_super) {
|
|
|
672
672
|
_this.onSave(_this.backOnSuccess);
|
|
673
673
|
};
|
|
674
674
|
_this.resource = resourceService.resource();
|
|
675
|
-
_this.status = core_1.createEditStatus(status);
|
|
676
675
|
if (patchable === false) {
|
|
677
676
|
_this.patchable = patchable;
|
|
678
677
|
}
|
|
@@ -857,7 +856,6 @@ var BaseEditComponent = (function (_super) {
|
|
|
857
856
|
BaseEditComponent.prototype.postSave = function (res, origin, isPatch, backOnSave) {
|
|
858
857
|
this.running = false;
|
|
859
858
|
core_1.hideLoading(this.loading);
|
|
860
|
-
var st = this.status;
|
|
861
859
|
var newMod = this.newMode;
|
|
862
860
|
var successMsg = (newMod ? this.insertSuccessMsg : this.updateSuccessMsg);
|
|
863
861
|
var x = res;
|
|
@@ -866,18 +864,18 @@ var BaseEditComponent = (function (_super) {
|
|
|
866
864
|
this.fail(x);
|
|
867
865
|
}
|
|
868
866
|
else if (!isNaN(x)) {
|
|
869
|
-
if (x
|
|
867
|
+
if (x > 0) {
|
|
870
868
|
this.succeed(successMsg, origin, backOnSave);
|
|
871
869
|
}
|
|
872
870
|
else {
|
|
873
|
-
if (newMod && x
|
|
871
|
+
if (newMod && x <= 0) {
|
|
874
872
|
this.handleDuplicateKey();
|
|
875
873
|
}
|
|
876
|
-
else if (!newMod && x ===
|
|
874
|
+
else if (!newMod && x === 0) {
|
|
877
875
|
this.handleNotFound();
|
|
878
876
|
}
|
|
879
877
|
else {
|
|
880
|
-
|
|
878
|
+
this.showError(r.value('error_version'), r.value('error'));
|
|
881
879
|
}
|
|
882
880
|
}
|
|
883
881
|
}
|
|
@@ -907,8 +905,8 @@ var BaseEditComponent = (function (_super) {
|
|
|
907
905
|
exports.BaseEditComponent = BaseEditComponent;
|
|
908
906
|
var EditComponent = (function (_super) {
|
|
909
907
|
__extends(EditComponent, _super);
|
|
910
|
-
function EditComponent(props, service, param, showMessage, showError, confirm, getLocale, uis, loading,
|
|
911
|
-
var _this = _super.call(this, props, input_1.getResource(param), input_1.getMsgFunc(param, showMessage), input_1.getErrorFunc(param, showError), input_1.getConfirmFunc(param, confirm), input_1.getLocaleFunc(param, getLocale), input_1.getUIService(param, uis), input_1.getLoadingFunc(param, loading),
|
|
908
|
+
function EditComponent(props, service, param, showMessage, showError, confirm, getLocale, uis, loading, patchable, backOnSaveSuccess) {
|
|
909
|
+
var _this = _super.call(this, props, input_1.getResource(param), input_1.getMsgFunc(param, showMessage), input_1.getErrorFunc(param, showError), input_1.getConfirmFunc(param, confirm), input_1.getLocaleFunc(param, getLocale), input_1.getUIService(param, uis), input_1.getLoadingFunc(param, loading), patchable, backOnSaveSuccess) || this;
|
|
912
910
|
_this.service = service;
|
|
913
911
|
if (service.metadata) {
|
|
914
912
|
var metadata = service.metadata();
|
|
@@ -1020,7 +1018,7 @@ var EditComponent = (function (_super) {
|
|
|
1020
1018
|
exports.EditComponent = EditComponent;
|
|
1021
1019
|
var BaseDiffApprComponent = (function (_super) {
|
|
1022
1020
|
__extends(BaseDiffApprComponent, _super);
|
|
1023
|
-
function BaseDiffApprComponent(props, keys, resourceService, showMessage, showError, loading
|
|
1021
|
+
function BaseDiffApprComponent(props, keys, resourceService, showMessage, showError, loading) {
|
|
1024
1022
|
var _this = _super.call(this, props) || this;
|
|
1025
1023
|
_this.keys = keys;
|
|
1026
1024
|
_this.resourceService = resourceService;
|
|
@@ -1035,7 +1033,6 @@ var BaseDiffApprComponent = (function (_super) {
|
|
|
1035
1033
|
_this.postReject = _this.postReject.bind(_this);
|
|
1036
1034
|
_this.format = _this.format.bind(_this);
|
|
1037
1035
|
_this.handleNotFound = _this.handleNotFound.bind(_this);
|
|
1038
|
-
_this.status = core_1.createDiffStatus(status);
|
|
1039
1036
|
_this.state = {
|
|
1040
1037
|
disabled: false
|
|
1041
1038
|
};
|
|
@@ -1048,37 +1045,29 @@ var BaseDiffApprComponent = (function (_super) {
|
|
|
1048
1045
|
BaseDiffApprComponent.prototype.postApprove = function (s, err) {
|
|
1049
1046
|
this.setState({ disabled: true });
|
|
1050
1047
|
var r = this.resourceService;
|
|
1051
|
-
|
|
1052
|
-
if (s === st.success) {
|
|
1048
|
+
if (s > 0) {
|
|
1053
1049
|
this.showMessage(r.value('msg_approve_success'));
|
|
1054
1050
|
}
|
|
1055
|
-
else if (s ===
|
|
1056
|
-
var msg = core_2.message(r.value, 'msg_approve_version_error', 'error');
|
|
1057
|
-
this.showError(msg.message, msg.title);
|
|
1058
|
-
}
|
|
1059
|
-
else if (s === st.not_found) {
|
|
1051
|
+
else if (s === 0) {
|
|
1060
1052
|
this.handleNotFound();
|
|
1061
1053
|
}
|
|
1062
1054
|
else {
|
|
1063
|
-
core_2.
|
|
1055
|
+
var msg = core_2.message(r.value, 'msg_approve_version_error', 'error');
|
|
1056
|
+
this.showError(msg.message, msg.title);
|
|
1064
1057
|
}
|
|
1065
1058
|
};
|
|
1066
1059
|
BaseDiffApprComponent.prototype.postReject = function (status, err) {
|
|
1067
1060
|
this.setState({ disabled: true });
|
|
1068
1061
|
var r = this.resourceService;
|
|
1069
|
-
|
|
1070
|
-
if (status === st.success) {
|
|
1062
|
+
if (status > 0) {
|
|
1071
1063
|
this.showMessage(r.value('msg_reject_success'));
|
|
1072
1064
|
}
|
|
1073
|
-
else if (status ===
|
|
1074
|
-
var msg = core_2.message(r.value, 'msg_approve_version_error', 'error');
|
|
1075
|
-
this.showError(msg.message, msg.title);
|
|
1076
|
-
}
|
|
1077
|
-
else if (status === st.not_found) {
|
|
1065
|
+
else if (status === 0) {
|
|
1078
1066
|
this.handleNotFound();
|
|
1079
1067
|
}
|
|
1080
1068
|
else {
|
|
1081
|
-
core_2.
|
|
1069
|
+
var msg = core_2.message(r.value, 'msg_approve_version_error', 'error');
|
|
1070
|
+
this.showError(msg.message, msg.title);
|
|
1082
1071
|
}
|
|
1083
1072
|
};
|
|
1084
1073
|
BaseDiffApprComponent.prototype.format = function () {
|
|
@@ -1132,8 +1121,8 @@ var BaseDiffApprComponent = (function (_super) {
|
|
|
1132
1121
|
exports.BaseDiffApprComponent = BaseDiffApprComponent;
|
|
1133
1122
|
var DiffApprComponent = (function (_super) {
|
|
1134
1123
|
__extends(DiffApprComponent, _super);
|
|
1135
|
-
function DiffApprComponent(props, service, param, showMessage, showError, loading
|
|
1136
|
-
var _this = _super.call(this, props, service.keys(), input_1.getResource(param), input_1.getMsgFunc(param, showMessage), input_1.getErrorFunc(param, showError), input_1.getLoadingFunc(param, loading)
|
|
1124
|
+
function DiffApprComponent(props, service, param, showMessage, showError, loading) {
|
|
1125
|
+
var _this = _super.call(this, props, service.keys(), input_1.getResource(param), input_1.getMsgFunc(param, showMessage), input_1.getErrorFunc(param, showError), input_1.getLoadingFunc(param, loading)) || this;
|
|
1137
1126
|
_this.service = service;
|
|
1138
1127
|
_this.approve = _this.approve.bind(_this);
|
|
1139
1128
|
_this.reject = _this.reject.bind(_this);
|
package/lib/core.js
CHANGED
|
@@ -3,34 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var formutil_1 = require("./formutil");
|
|
4
4
|
exports.pageSizes = [12, 24, 60, 100, 120, 180, 300, 600];
|
|
5
5
|
exports.size = exports.pageSizes;
|
|
6
|
-
function createEditStatus(status) {
|
|
7
|
-
if (status) {
|
|
8
|
-
return status;
|
|
9
|
-
}
|
|
10
|
-
var s = {
|
|
11
|
-
duplicate_key: 0,
|
|
12
|
-
not_found: 0,
|
|
13
|
-
success: 1,
|
|
14
|
-
version_error: -1,
|
|
15
|
-
error: 2,
|
|
16
|
-
data_corrupt: 4
|
|
17
|
-
};
|
|
18
|
-
return s;
|
|
19
|
-
}
|
|
20
|
-
exports.createEditStatus = createEditStatus;
|
|
21
|
-
function createDiffStatus(status) {
|
|
22
|
-
if (status) {
|
|
23
|
-
return status;
|
|
24
|
-
}
|
|
25
|
-
var s = {
|
|
26
|
-
not_found: 0,
|
|
27
|
-
success: 1,
|
|
28
|
-
version_error: 2,
|
|
29
|
-
error: 4
|
|
30
|
-
};
|
|
31
|
-
return s;
|
|
32
|
-
}
|
|
33
|
-
exports.createDiffStatus = createDiffStatus;
|
|
34
6
|
var resource = (function () {
|
|
35
7
|
function resource() {
|
|
36
8
|
}
|
package/lib/edit.js
CHANGED
|
@@ -105,19 +105,6 @@ function initPropertyNullInModel(obj, m) {
|
|
|
105
105
|
return obj;
|
|
106
106
|
}
|
|
107
107
|
exports.initPropertyNullInModel = initPropertyNullInModel;
|
|
108
|
-
function handleStatus(x, st, gv, se) {
|
|
109
|
-
var title = gv('error');
|
|
110
|
-
if (x === st.version_error) {
|
|
111
|
-
se(gv('error_version'), title);
|
|
112
|
-
}
|
|
113
|
-
else if (x === st.data_corrupt) {
|
|
114
|
-
se(gv('error_data_corrupt'), title);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
se(gv('error_internal'), title);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
exports.handleStatus = handleStatus;
|
|
121
108
|
function handleVersion(obj, version) {
|
|
122
109
|
if (obj && version && version.length > 0) {
|
|
123
110
|
var v = obj[version];
|
package/lib/index.js
CHANGED
|
@@ -82,6 +82,14 @@ exports.CurrencyInput = function (props) {
|
|
|
82
82
|
};
|
|
83
83
|
return React.createElement("input", { className: props.className, onBlur: onBlur, type: props.type, name: props.name, onChange: props.onChange ? props.onChange : onChange, disabled: props.disabled, "data-field": props['data-field'], min: props.min, max: props.max, value: state });
|
|
84
84
|
};
|
|
85
|
+
function getParam(url, i) {
|
|
86
|
+
var ps = url.split('/');
|
|
87
|
+
if (!i || i < 0) {
|
|
88
|
+
i = 0;
|
|
89
|
+
}
|
|
90
|
+
return ps[ps.length - 1 - i];
|
|
91
|
+
}
|
|
92
|
+
exports.getParam = getParam;
|
|
85
93
|
function formatDate(date, format) {
|
|
86
94
|
if (!date) {
|
|
87
95
|
return '';
|
package/lib/input.js
CHANGED
|
@@ -60,17 +60,3 @@ function getErrorFunc(p, showErr) {
|
|
|
60
60
|
return p.showError;
|
|
61
61
|
}
|
|
62
62
|
exports.getErrorFunc = getErrorFunc;
|
|
63
|
-
function getEditStatusFunc(p, status) {
|
|
64
|
-
if (status) {
|
|
65
|
-
return status;
|
|
66
|
-
}
|
|
67
|
-
return p.status;
|
|
68
|
-
}
|
|
69
|
-
exports.getEditStatusFunc = getEditStatusFunc;
|
|
70
|
-
function getDiffStatusFunc(p, status) {
|
|
71
|
-
if (status) {
|
|
72
|
-
return status;
|
|
73
|
-
}
|
|
74
|
-
return p.status;
|
|
75
|
-
}
|
|
76
|
-
exports.getDiffStatusFunc = getDiffStatusFunc;
|
package/lib/useEdit.js
CHANGED
|
@@ -100,7 +100,6 @@ exports.useEditOne = function (p) {
|
|
|
100
100
|
};
|
|
101
101
|
exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
102
102
|
var navigate = react_router_1.useNavigate();
|
|
103
|
-
var addable = (p && p.patchable !== false ? true : undefined);
|
|
104
103
|
var back = function (event) {
|
|
105
104
|
if (event) {
|
|
106
105
|
event.preventDefault();
|
|
@@ -119,7 +118,6 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
119
118
|
var _b = merge_1.useMergeState({
|
|
120
119
|
newMode: false,
|
|
121
120
|
setBack: false,
|
|
122
|
-
addable: addable,
|
|
123
121
|
readOnly: p ? p.readOnly : undefined,
|
|
124
122
|
originalModel: undefined
|
|
125
123
|
}), flag = _b[0], setFlag = _b[1];
|
|
@@ -179,7 +177,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
179
177
|
}
|
|
180
178
|
};
|
|
181
179
|
var _onSave = function (isBack) {
|
|
182
|
-
if (flag.newMode === true
|
|
180
|
+
if (flag.newMode === true) {
|
|
183
181
|
var m = core_1.message(p1.resource.value, 'error_permission_add', 'error_permission');
|
|
184
182
|
p1.showError(m.message, m.title);
|
|
185
183
|
return;
|
|
@@ -245,7 +243,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
245
243
|
}
|
|
246
244
|
};
|
|
247
245
|
var validate = (p && p.validate ? p.validate : _validate);
|
|
248
|
-
var _succeed = function (
|
|
246
|
+
var _succeed = function (msg, origin, version, isBack, model) {
|
|
249
247
|
if (model) {
|
|
250
248
|
setFlag({ newMode: false });
|
|
251
249
|
if (model && flag.setBack === true) {
|
|
@@ -314,29 +312,25 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
314
312
|
var x = r;
|
|
315
313
|
var successMsg = p1.resource.value('msg_save_success');
|
|
316
314
|
var newMod = flag.newMode;
|
|
317
|
-
var st = core_1.createEditStatus(p ? p.status : undefined);
|
|
318
315
|
if (Array.isArray(x)) {
|
|
319
316
|
fail(x);
|
|
320
317
|
}
|
|
321
318
|
else if (!isNaN(x)) {
|
|
322
|
-
if (x
|
|
323
|
-
succeed(
|
|
319
|
+
if (x > 0) {
|
|
320
|
+
succeed(successMsg, origin, version, backOnSave);
|
|
324
321
|
}
|
|
325
322
|
else {
|
|
326
|
-
if (newMod && x
|
|
323
|
+
if (newMod && x <= 0) {
|
|
327
324
|
handleDuplicateKey();
|
|
328
325
|
}
|
|
329
|
-
else if (!newMod && x ===
|
|
326
|
+
else if (!newMod && x === 0) {
|
|
330
327
|
handleNotFound();
|
|
331
328
|
}
|
|
332
|
-
else
|
|
329
|
+
else {
|
|
333
330
|
var title = p1.resource.value('error');
|
|
334
331
|
var err = p1.resource.value('error_version');
|
|
335
332
|
p1.showError(err, title);
|
|
336
333
|
}
|
|
337
|
-
else {
|
|
338
|
-
edit_1.handleStatus(x, st, p1.resource.value, p1.showError);
|
|
339
|
-
}
|
|
340
334
|
}
|
|
341
335
|
}
|
|
342
336
|
else {
|
|
@@ -348,10 +342,10 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
348
342
|
var k = keys_1[_i];
|
|
349
343
|
a[k] = result[k];
|
|
350
344
|
}
|
|
351
|
-
succeed(
|
|
345
|
+
succeed(successMsg, a, undefined, backOnSave, a);
|
|
352
346
|
}
|
|
353
347
|
else {
|
|
354
|
-
succeed(
|
|
348
|
+
succeed(successMsg, origin, version, backOnSave, r);
|
|
355
349
|
}
|
|
356
350
|
p1.showMessage(successMsg);
|
|
357
351
|
}
|
package/lib/useSearch.js
CHANGED
|
@@ -70,18 +70,6 @@ function mergeParam(p) {
|
|
|
70
70
|
if (p.hideFilter === undefined) {
|
|
71
71
|
p.hideFilter = true;
|
|
72
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
|
-
}
|
|
85
73
|
return p;
|
|
86
74
|
}
|
|
87
75
|
else {
|
|
@@ -91,10 +79,6 @@ function mergeParam(p) {
|
|
|
91
79
|
pageSizes: core_1.pageSizes,
|
|
92
80
|
pageMaxSize: 7,
|
|
93
81
|
hideFilter: true,
|
|
94
|
-
addable: true,
|
|
95
|
-
editable: true,
|
|
96
|
-
approvable: true,
|
|
97
|
-
deletable: true
|
|
98
82
|
};
|
|
99
83
|
}
|
|
100
84
|
}
|
package/package.json
CHANGED
package/src/com.ts
CHANGED
|
@@ -12,7 +12,7 @@ export function PageSizeSelect(p: PageSizeProps) {
|
|
|
12
12
|
const g = p.sizes;
|
|
13
13
|
const s = (!g || g.length === 0 ? pageSizes : g);
|
|
14
14
|
const opts = s.map(pgSize => React.createElement('option', { key: pgSize, value: pgSize }, pgSize));
|
|
15
|
-
return React.createElement('select', { id: p.id, name: p.name,
|
|
15
|
+
return React.createElement('select', { id: p.id, name: p.name, defaultValue: p.size, onChange: p.onChange }, opts);
|
|
16
16
|
}
|
|
17
17
|
export interface Props {
|
|
18
18
|
id?: string;
|
package/src/components.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {BaseDiffState,
|
|
3
|
-
import {Attributes,
|
|
2
|
+
import {BaseDiffState, DiffApprService, DiffParameter, DiffState, handleToggle, hideLoading, showLoading} from './core';
|
|
3
|
+
import {Attributes, 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';
|
|
4
4
|
import {formatDiffModel, getDataFields} from './diff';
|
|
5
|
-
import {build, createModel as createModel2, EditParameter, GenericService,
|
|
5
|
+
import {build, createModel as createModel2, EditParameter, GenericService, handleVersion, initPropertyNullInModel} from './edit';
|
|
6
6
|
import {focusFirstError, readOnly} from './formutil';
|
|
7
|
-
import {getAutoSearch, getConfirmFunc,
|
|
7
|
+
import {getAutoSearch, getConfirmFunc, getErrorFunc, getLoadingFunc, getLocaleFunc, getMsgFunc, getResource, getUIService} from './input';
|
|
8
8
|
import {clone, diff, makeDiff} from './reflect';
|
|
9
9
|
import {buildFromUrl} from './route';
|
|
10
10
|
import {addParametersIntoUrl, append, buildMessage, changePage, changePageSize, formatResults, getFieldsFromForm, getModel, handleAppend, handleSortEvent, initFilter, mergeFilter as mergeFilter2, more, Pagination, reset, showPaging, Sortable, validate} from './search';
|
|
@@ -702,11 +702,11 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
|
|
|
702
702
|
getLocale?: () => Locale,
|
|
703
703
|
protected ui?: UIService,
|
|
704
704
|
protected loading?: LoadingService,
|
|
705
|
-
status?: EditStatusConfig,
|
|
705
|
+
// status?: EditStatusConfig,
|
|
706
706
|
patchable?: boolean, backOnSaveSuccess?: boolean) {
|
|
707
707
|
super(props, getLocale, (ui ? ui.removeError : undefined));
|
|
708
708
|
this.resource = resourceService.resource();
|
|
709
|
-
this.status = createEditStatus(status);
|
|
709
|
+
// this.status = createEditStatus(status);
|
|
710
710
|
if (patchable === false) {
|
|
711
711
|
this.patchable = patchable;
|
|
712
712
|
}
|
|
@@ -739,7 +739,7 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
|
|
|
739
739
|
this.postSave = this.postSave.bind(this);
|
|
740
740
|
this.handleDuplicateKey = this.handleDuplicateKey.bind(this);
|
|
741
741
|
}
|
|
742
|
-
status: EditStatusConfig;
|
|
742
|
+
// status: EditStatusConfig;
|
|
743
743
|
protected name?: string;
|
|
744
744
|
protected backOnSuccess = true;
|
|
745
745
|
protected resource: StringMap;
|
|
@@ -930,7 +930,7 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
|
|
|
930
930
|
postSave(res: number|string|T|ErrorMessage[], origin: T, isPatch: boolean, backOnSave?: boolean) {
|
|
931
931
|
this.running = false;
|
|
932
932
|
hideLoading(this.loading);
|
|
933
|
-
const st = this.status;
|
|
933
|
+
// const st = this.status;
|
|
934
934
|
const newMod = this.newMode;
|
|
935
935
|
const successMsg = (newMod ? this.insertSuccessMsg : this.updateSuccessMsg);
|
|
936
936
|
const x: any = res;
|
|
@@ -938,15 +938,15 @@ export abstract class BaseEditComponent<T, P, S> extends BaseComponent<P, S> {
|
|
|
938
938
|
if (Array.isArray(x)) {
|
|
939
939
|
this.fail(x);
|
|
940
940
|
} else if (!isNaN(x)) {
|
|
941
|
-
if (x
|
|
941
|
+
if (x > 0) {
|
|
942
942
|
this.succeed(successMsg, origin, backOnSave);
|
|
943
943
|
} else {
|
|
944
|
-
if (newMod && x
|
|
944
|
+
if (newMod && x <= 0) {
|
|
945
945
|
this.handleDuplicateKey();
|
|
946
|
-
} else if (!newMod && x ===
|
|
946
|
+
} else if (!newMod && x === 0) {
|
|
947
947
|
this.handleNotFound();
|
|
948
948
|
} else {
|
|
949
|
-
|
|
949
|
+
this.showError(r.value('error_version'), r.value('error'));
|
|
950
950
|
}
|
|
951
951
|
}
|
|
952
952
|
} else {
|
|
@@ -977,8 +977,8 @@ export class EditComponent<T, ID, P, S> extends BaseEditComponent<T, P, S> {
|
|
|
977
977
|
confirm?: (m2: string, header: string, yesCallback?: () => void, btnLeftText?: string, btnRightText?: string, noCallback?: () => void) => void,
|
|
978
978
|
getLocale?: (profile?: string) => Locale,
|
|
979
979
|
uis?: UIService,
|
|
980
|
-
loading?: LoadingService,
|
|
981
|
-
super(props, getResource(param), getMsgFunc(param, showMessage), getErrorFunc(param, showError), getConfirmFunc(param, confirm), getLocaleFunc(param, getLocale), getUIService(param, uis), getLoadingFunc(param, loading),
|
|
980
|
+
loading?: LoadingService, patchable?: boolean, backOnSaveSuccess?: boolean) {
|
|
981
|
+
super(props, getResource(param), getMsgFunc(param, showMessage), getErrorFunc(param, showError), getConfirmFunc(param, confirm), getLocaleFunc(param, getLocale), getUIService(param, uis), getLoadingFunc(param, loading), patchable, backOnSaveSuccess);
|
|
982
982
|
if (service.metadata) {
|
|
983
983
|
const metadata = service.metadata();
|
|
984
984
|
if (metadata) {
|
|
@@ -1086,7 +1086,7 @@ export class BaseDiffApprComponent<T, ID, P, S extends BaseDiffState> extends Re
|
|
|
1086
1086
|
protected showMessage: (msg: string, option?: string) => void,
|
|
1087
1087
|
protected showError: (m: string, title?: string, detail?: string, callback?: () => void) => void,
|
|
1088
1088
|
protected loading?: LoadingService,
|
|
1089
|
-
status?: DiffStatusConfig,
|
|
1089
|
+
// status?: DiffStatusConfig,
|
|
1090
1090
|
) {
|
|
1091
1091
|
super(props);
|
|
1092
1092
|
// this._id = props['props'].match.params.id || props['props'].match.params.cId || props.match.params.cId;
|
|
@@ -1099,12 +1099,12 @@ export class BaseDiffApprComponent<T, ID, P, S extends BaseDiffState> extends Re
|
|
|
1099
1099
|
this.postReject = this.postReject.bind(this);
|
|
1100
1100
|
this.format = this.format.bind(this);
|
|
1101
1101
|
this.handleNotFound = this.handleNotFound.bind(this);
|
|
1102
|
-
this.status = createDiffStatus(status);
|
|
1102
|
+
// this.status = createDiffStatus(status);
|
|
1103
1103
|
this.state = {
|
|
1104
1104
|
disabled: false
|
|
1105
1105
|
};
|
|
1106
1106
|
}
|
|
1107
|
-
status: DiffStatusConfig;
|
|
1107
|
+
// status: DiffStatusConfig;
|
|
1108
1108
|
id?: ID;
|
|
1109
1109
|
form?: HTMLFormElement;
|
|
1110
1110
|
running?: boolean;
|
|
@@ -1118,32 +1118,28 @@ export class BaseDiffApprComponent<T, ID, P, S extends BaseDiffState> extends Re
|
|
|
1118
1118
|
postApprove(s: number|string, err?: any) {
|
|
1119
1119
|
this.setState({ disabled: true });
|
|
1120
1120
|
const r = this.resourceService;
|
|
1121
|
-
const st = this.status;
|
|
1122
|
-
if (s
|
|
1121
|
+
// const st = this.status;
|
|
1122
|
+
if (s > 0) {
|
|
1123
1123
|
this.showMessage(r.value('msg_approve_success'));
|
|
1124
|
-
} else if (s ===
|
|
1125
|
-
const msg = message(r.value, 'msg_approve_version_error', 'error');
|
|
1126
|
-
this.showError(msg.message, msg.title);
|
|
1127
|
-
} else if (s === st.not_found) {
|
|
1124
|
+
} else if (s === 0) {
|
|
1128
1125
|
this.handleNotFound();
|
|
1129
1126
|
} else {
|
|
1130
|
-
|
|
1127
|
+
const msg = message(r.value, 'msg_approve_version_error', 'error');
|
|
1128
|
+
this.showError(msg.message, msg.title);
|
|
1131
1129
|
}
|
|
1132
1130
|
}
|
|
1133
1131
|
|
|
1134
1132
|
postReject(status: number|string, err?: any) {
|
|
1135
1133
|
this.setState({ disabled: true });
|
|
1136
1134
|
const r = this.resourceService;
|
|
1137
|
-
const st = this.status;
|
|
1138
|
-
if (status
|
|
1135
|
+
// const st = this.status;
|
|
1136
|
+
if (status > 0) {
|
|
1139
1137
|
this.showMessage(r.value('msg_reject_success'));
|
|
1140
|
-
} else if (status ===
|
|
1141
|
-
const msg = message(r.value, 'msg_approve_version_error', 'error');
|
|
1142
|
-
this.showError(msg.message, msg.title);
|
|
1143
|
-
} else if (status === st.not_found) {
|
|
1138
|
+
} else if (status === 0) {
|
|
1144
1139
|
this.handleNotFound();
|
|
1145
1140
|
} else {
|
|
1146
|
-
|
|
1141
|
+
const msg = message(r.value, 'msg_approve_version_error', 'error');
|
|
1142
|
+
this.showError(msg.message, msg.title);
|
|
1147
1143
|
}
|
|
1148
1144
|
}
|
|
1149
1145
|
|
|
@@ -1197,9 +1193,8 @@ export class DiffApprComponent<T, ID, P, S extends DiffState<T>> extends BaseDif
|
|
|
1197
1193
|
param: ResourceService|DiffParameter,
|
|
1198
1194
|
showMessage?: (msg: string, option?: string) => void,
|
|
1199
1195
|
showError?: (m: string, title?: string, detail?: string, callback?: () => void) => void,
|
|
1200
|
-
loading?: LoadingService
|
|
1201
|
-
|
|
1202
|
-
super(props, service.keys(), getResource(param), getMsgFunc(param, showMessage), getErrorFunc(param, showError), getLoadingFunc(param, loading), getDiffStatusFunc(param, status));
|
|
1196
|
+
loading?: LoadingService) {
|
|
1197
|
+
super(props, service.keys(), getResource(param), getMsgFunc(param, showMessage), getErrorFunc(param, showError), getLoadingFunc(param, loading));
|
|
1203
1198
|
this.approve = this.approve.bind(this);
|
|
1204
1199
|
this.reject = this.reject.bind(this);
|
|
1205
1200
|
this.formatFields = this.formatFields.bind(this);
|
package/src/core.ts
CHANGED
|
@@ -35,6 +35,7 @@ export interface SearchParameter {
|
|
|
35
35
|
loading?: LoadingService;
|
|
36
36
|
auto?: boolean;
|
|
37
37
|
}
|
|
38
|
+
/*
|
|
38
39
|
export interface EditStatusConfig {
|
|
39
40
|
duplicate_key: number | string;
|
|
40
41
|
not_found: number | string;
|
|
@@ -75,7 +76,7 @@ export function createDiffStatus(status?: DiffStatusConfig): DiffStatusConfig {
|
|
|
75
76
|
};
|
|
76
77
|
return s;
|
|
77
78
|
}
|
|
78
|
-
|
|
79
|
+
*/
|
|
79
80
|
export interface Filter {
|
|
80
81
|
q?: string;
|
|
81
82
|
page?: number;
|
|
@@ -116,7 +117,7 @@ export interface DiffParameter {
|
|
|
116
117
|
showMessage: (msg: string, option?: string) => void;
|
|
117
118
|
showError: (m: string, header?: string, detail?: string, callback?: () => void) => void;
|
|
118
119
|
loading?: LoadingService;
|
|
119
|
-
status?: DiffStatusConfig;
|
|
120
|
+
// status?: DiffStatusConfig;
|
|
120
121
|
}
|
|
121
122
|
export interface BaseDiffState {
|
|
122
123
|
disabled: boolean;
|
package/src/edit.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {Attribute, Attributes,
|
|
1
|
+
import {Attribute, Attributes, ErrorMessage, LoadingService, Locale, resource, ResourceService, UIService, ViewService} from './core';
|
|
2
2
|
|
|
3
3
|
export interface ResultInfo<T> {
|
|
4
4
|
status: number|string;
|
|
@@ -14,7 +14,7 @@ export interface EditParameter {
|
|
|
14
14
|
ui?: UIService;
|
|
15
15
|
getLocale?: (profile?: string) => Locale;
|
|
16
16
|
loading?: LoadingService;
|
|
17
|
-
status?: EditStatusConfig;
|
|
17
|
+
// status?: EditStatusConfig;
|
|
18
18
|
}
|
|
19
19
|
export interface GenericService<T, ID, R> extends ViewService<T, ID> {
|
|
20
20
|
patch?(obj: Partial<T>, ctx?: any): Promise<R>;
|
|
@@ -130,6 +130,7 @@ export function initPropertyNullInModel<T>(obj: T, m?: Attributes): T {
|
|
|
130
130
|
}
|
|
131
131
|
return obj;
|
|
132
132
|
}
|
|
133
|
+
/*
|
|
133
134
|
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 {
|
|
134
135
|
const title = gv('error');
|
|
135
136
|
if (x === st.version_error) {
|
|
@@ -140,6 +141,7 @@ export function handleStatus(x: number|string, st: EditStatusConfig, gv: (k: str
|
|
|
140
141
|
se(gv('error_internal'), title);
|
|
141
142
|
}
|
|
142
143
|
}
|
|
144
|
+
*/
|
|
143
145
|
export function handleVersion<T>(obj: T, version?: string): void {
|
|
144
146
|
if (obj && version && version.length > 0) {
|
|
145
147
|
const v = (obj as any)[version];
|
package/src/index.ts
CHANGED
|
@@ -137,6 +137,13 @@ export const CurrencyInput = (props: InputProps) => {
|
|
|
137
137
|
return React.createElement("input", { className: props.className, onBlur: onBlur, type: props.type, name: props.name, onChange: props.onChange ? props.onChange : onChange , disabled: props.disabled, "data-field": props['data-field'], min: props.min, max: props.max, value: state });
|
|
138
138
|
};
|
|
139
139
|
export type OnClick = React.MouseEvent<HTMLElement, MouseEvent>;
|
|
140
|
+
export function getParam(url: string, i?: number): string {
|
|
141
|
+
const ps = url.split('/');
|
|
142
|
+
if (!i || i < 0) {
|
|
143
|
+
i = 0;
|
|
144
|
+
}
|
|
145
|
+
return ps[ps.length - 1 - i];
|
|
146
|
+
}
|
|
140
147
|
export function formatDate(date: Date | null | undefined, format: string): string {
|
|
141
148
|
if (!date) {
|
|
142
149
|
return '';
|
package/src/input.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {LoadingService, Locale, ResourceService, UIService} from './core';
|
|
2
2
|
|
|
3
3
|
interface ResourceInput {
|
|
4
4
|
resource: ResourceService;
|
|
@@ -75,6 +75,7 @@ export function getErrorFunc(p: ResourceService|ShowErrorInput, showErr?: (m: st
|
|
|
75
75
|
}
|
|
76
76
|
return (p as any).showError;
|
|
77
77
|
}
|
|
78
|
+
/*
|
|
78
79
|
export interface EditStatusParameter {
|
|
79
80
|
status?: EditStatusConfig;
|
|
80
81
|
}
|
|
@@ -93,3 +94,4 @@ export function getDiffStatusFunc(p: ResourceService|DiffStatusParameter, status
|
|
|
93
94
|
}
|
|
94
95
|
return (p as any).status;
|
|
95
96
|
}
|
|
97
|
+
*/
|
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
|
-
import {Attributes, buildId,
|
|
4
|
-
import {build, createModel as createModel2, EditParameter, GenericService,
|
|
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';
|
|
5
5
|
import {focusFirstError, readOnly as setReadOnly} from './formutil';
|
|
6
6
|
import {DispatchWithCallback, useMergeState} from './merge';
|
|
7
7
|
import {clone, makeDiff} from './reflect';
|
|
@@ -9,7 +9,7 @@ import {localeOf} from './state';
|
|
|
9
9
|
import {useUpdate} from './update';
|
|
10
10
|
|
|
11
11
|
export interface BaseEditComponentParam<T, ID> {
|
|
12
|
-
status?: EditStatusConfig;
|
|
12
|
+
// status?: EditStatusConfig;
|
|
13
13
|
backOnSuccess?: boolean;
|
|
14
14
|
name?: string;
|
|
15
15
|
metadata?: Attributes;
|
|
@@ -18,9 +18,9 @@ export interface BaseEditComponentParam<T, ID> {
|
|
|
18
18
|
setBack?: boolean;
|
|
19
19
|
patchable?: boolean;
|
|
20
20
|
|
|
21
|
-
addable?: boolean;
|
|
21
|
+
// addable?: boolean;
|
|
22
22
|
readOnly?: boolean;
|
|
23
|
-
deletable?: boolean;
|
|
23
|
+
// deletable?: boolean;
|
|
24
24
|
|
|
25
25
|
insertSuccessMsg?: string;
|
|
26
26
|
updateSuccessMsg?: string;
|
|
@@ -171,7 +171,7 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
171
171
|
addable = true
|
|
172
172
|
} = p; */
|
|
173
173
|
const navigate = useNavigate();
|
|
174
|
-
const addable = (p && p.patchable !== false ? true : undefined);
|
|
174
|
+
// const addable = (p && p.patchable !== false ? true : undefined);
|
|
175
175
|
const back = (event?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
|
|
176
176
|
if (event) {
|
|
177
177
|
event.preventDefault();
|
|
@@ -193,7 +193,7 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
193
193
|
const [flag, setFlag] = useMergeState({
|
|
194
194
|
newMode: false,
|
|
195
195
|
setBack: false,
|
|
196
|
-
addable,
|
|
196
|
+
// addable,
|
|
197
197
|
readOnly: p ? p.readOnly : undefined,
|
|
198
198
|
originalModel: undefined
|
|
199
199
|
});
|
|
@@ -258,7 +258,7 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
258
258
|
};
|
|
259
259
|
|
|
260
260
|
const _onSave = (isBack?: boolean) => {
|
|
261
|
-
if (flag.newMode === true
|
|
261
|
+
if (flag.newMode === true) {
|
|
262
262
|
const m = message(p1.resource.value, 'error_permission_add', 'error_permission');
|
|
263
263
|
p1.showError(m.message, m.title);
|
|
264
264
|
return;
|
|
@@ -388,23 +388,21 @@ export const useCoreEdit = <T, ID, S, P>(
|
|
|
388
388
|
const x: any = r;
|
|
389
389
|
const successMsg = p1.resource.value('msg_save_success');
|
|
390
390
|
const newMod = flag.newMode;
|
|
391
|
-
const st = createEditStatus(p ? p.status : undefined);
|
|
391
|
+
// const st = createEditStatus(p ? p.status : undefined);
|
|
392
392
|
if (Array.isArray(x)) {
|
|
393
393
|
fail(x);
|
|
394
394
|
} else if (!isNaN(x)) {
|
|
395
|
-
if (x
|
|
395
|
+
if (x > 0) {
|
|
396
396
|
succeed(successMsg, origin, version, backOnSave);
|
|
397
397
|
} else {
|
|
398
|
-
if (newMod && x
|
|
398
|
+
if (newMod && x <= 0) {
|
|
399
399
|
handleDuplicateKey();
|
|
400
|
-
} else if (!newMod && x ===
|
|
400
|
+
} else if (!newMod && x === 0) {
|
|
401
401
|
handleNotFound();
|
|
402
|
-
} else
|
|
402
|
+
} else {
|
|
403
403
|
const title = p1.resource.value('error');
|
|
404
404
|
const err = p1.resource.value('error_version');
|
|
405
405
|
p1.showError(err, title);
|
|
406
|
-
} else {
|
|
407
|
-
handleStatus(x as number, st, p1.resource.value, p1.showError);
|
|
408
406
|
}
|
|
409
407
|
}
|
|
410
408
|
} else {
|
package/src/useSearch.ts
CHANGED
|
@@ -61,10 +61,10 @@ export interface HookPropsSearchParameter<T, S extends Filter, ST extends Search
|
|
|
61
61
|
initialize?: (ld: (s: S, auto?: boolean) => void, setState2: DispatchWithCallback<Partial<ST>>, com?: SearchComponentState<T, S>) => void;
|
|
62
62
|
}
|
|
63
63
|
export interface SearchComponentParam<T, M extends Filter> {
|
|
64
|
-
addable?: boolean;
|
|
65
|
-
editable?: boolean;
|
|
66
|
-
approvable?: boolean;
|
|
67
|
-
deletable?: boolean;
|
|
64
|
+
// addable?: boolean;
|
|
65
|
+
// editable?: boolean;
|
|
66
|
+
// approvable?: boolean;
|
|
67
|
+
// deletable?: boolean;
|
|
68
68
|
|
|
69
69
|
keys?: string[];
|
|
70
70
|
sequenceNo?: string;
|
|
@@ -134,11 +134,11 @@ export interface SearchComponentState<T, S> extends Pagination, Sortable {
|
|
|
134
134
|
hideFilter?: boolean;
|
|
135
135
|
|
|
136
136
|
ignoreUrlParam?: boolean;
|
|
137
|
-
viewable?: boolean;
|
|
138
|
-
addable?: boolean;
|
|
139
|
-
editable?: boolean;
|
|
140
|
-
approvable?: boolean;
|
|
141
|
-
deletable?: boolean;
|
|
137
|
+
// viewable?: boolean;
|
|
138
|
+
// addable?: boolean;
|
|
139
|
+
// editable?: boolean;
|
|
140
|
+
// approvable?: boolean;
|
|
141
|
+
// deletable?: boolean;
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
export function mergeParam<T, S extends Filter>(p?: SearchComponentParam<T, S>): SearchComponentParam<T, S> {
|
|
@@ -158,6 +158,7 @@ export function mergeParam<T, S extends Filter>(p?: SearchComponentParam<T, S>):
|
|
|
158
158
|
if (p.hideFilter === undefined) {
|
|
159
159
|
p.hideFilter = true;
|
|
160
160
|
}
|
|
161
|
+
/*
|
|
161
162
|
if (p.addable === undefined) {
|
|
162
163
|
p.addable = true;
|
|
163
164
|
}
|
|
@@ -170,6 +171,7 @@ export function mergeParam<T, S extends Filter>(p?: SearchComponentParam<T, S>):
|
|
|
170
171
|
if (p.deletable === undefined) {
|
|
171
172
|
p.deletable = true;
|
|
172
173
|
}
|
|
174
|
+
*/
|
|
173
175
|
return p;
|
|
174
176
|
} else {
|
|
175
177
|
return {
|
|
@@ -178,10 +180,10 @@ export function mergeParam<T, S extends Filter>(p?: SearchComponentParam<T, S>):
|
|
|
178
180
|
pageSizes,
|
|
179
181
|
pageMaxSize: 7,
|
|
180
182
|
hideFilter: true,
|
|
181
|
-
addable: true,
|
|
182
|
-
editable: true,
|
|
183
|
-
approvable: true,
|
|
184
|
-
deletable: true
|
|
183
|
+
// addable: true,
|
|
184
|
+
// editable: true,
|
|
185
|
+
// approvable: true,
|
|
186
|
+
// deletable: true
|
|
185
187
|
};
|
|
186
188
|
}
|
|
187
189
|
}
|