react-hook-core 0.4.7 → 0.4.9
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/core.js +1 -169
- package/lib/formutil.js +0 -28
- package/lib/index.js +25 -0
- package/lib/input.js +49 -0
- package/lib/reflect.js +0 -10
- package/lib/route.js +11 -0
- package/lib/search.js +14 -31
- package/lib/update.js +30 -2
- package/lib/useEdit.js +57 -16
- package/lib/useSearch.js +41 -9
- package/lib/util.js +3 -3
- package/package.json +1 -1
- package/src/core.ts +2 -244
- package/src/edit.ts +2 -25
- package/src/formutil.ts +0 -27
- package/src/index.ts +26 -0
- package/src/input.ts +47 -15
- package/src/reflect.ts +0 -19
- package/src/route.ts +19 -0
- package/src/search.ts +13 -31
- package/src/update.ts +29 -2
- package/src/useEdit.ts +44 -17
- package/src/useSearch.ts +40 -17
- package/src/util.ts +3 -3
- package/lib/useView.js +0 -133
- package/src/useView.ts +0 -183
package/lib/core.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict"
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true })
|
|
3
|
-
var formutil_1 = require("./formutil")
|
|
4
3
|
exports.pageSizes = [12, 24, 60, 100, 120, 180, 300, 600]
|
|
4
|
+
exports.sizes = exports.pageSizes
|
|
5
5
|
var resources = (function () {
|
|
6
6
|
function resources() {}
|
|
7
7
|
resources.phone = / |-|\.|\(|\)/g
|
|
@@ -16,171 +16,3 @@ var resources = (function () {
|
|
|
16
16
|
return resources
|
|
17
17
|
})()
|
|
18
18
|
exports.resources = resources
|
|
19
|
-
exports.size = exports.pageSizes
|
|
20
|
-
function getCurrencyCode(form) {
|
|
21
|
-
if (form) {
|
|
22
|
-
var x = form.getAttribute("currency-code")
|
|
23
|
-
if (x) {
|
|
24
|
-
return x
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return undefined
|
|
28
|
-
}
|
|
29
|
-
exports.getCurrencyCode = getCurrencyCode
|
|
30
|
-
function removePhoneFormat(phone) {
|
|
31
|
-
if (phone) {
|
|
32
|
-
return phone.replace(resources.phone, "")
|
|
33
|
-
} else {
|
|
34
|
-
return phone
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.removePhoneFormat = removePhoneFormat
|
|
38
|
-
function buildKeys(attributes) {
|
|
39
|
-
if (!attributes) {
|
|
40
|
-
return []
|
|
41
|
-
}
|
|
42
|
-
var ks = Object.keys(attributes)
|
|
43
|
-
var ps = []
|
|
44
|
-
for (var _i = 0, ks_1 = ks; _i < ks_1.length; _i++) {
|
|
45
|
-
var k = ks_1[_i]
|
|
46
|
-
var attr = attributes[k]
|
|
47
|
-
if (attr.key === true) {
|
|
48
|
-
ps.push(k)
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return ps
|
|
52
|
-
}
|
|
53
|
-
exports.buildKeys = buildKeys
|
|
54
|
-
function buildId(p, keys) {
|
|
55
|
-
if (!keys || keys.length === 0 || keys.length === 1) {
|
|
56
|
-
if (keys && keys.length === 1) {
|
|
57
|
-
if (p[keys[0]]) {
|
|
58
|
-
return p[keys[0]]
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return p["id"]
|
|
62
|
-
}
|
|
63
|
-
var id = {}
|
|
64
|
-
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
65
|
-
var key = keys_1[_i]
|
|
66
|
-
var v = p[key]
|
|
67
|
-
if (!v) {
|
|
68
|
-
v = p[key]
|
|
69
|
-
if (!v) {
|
|
70
|
-
return null
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
id[key] = v
|
|
74
|
-
}
|
|
75
|
-
return id
|
|
76
|
-
}
|
|
77
|
-
exports.buildId = buildId
|
|
78
|
-
exports.datetimeToString = function (inputDate) {
|
|
79
|
-
var date = new Date(inputDate)
|
|
80
|
-
var year = date.getFullYear()
|
|
81
|
-
var month = String(date.getMonth() + 1).padStart(2, "0")
|
|
82
|
-
var day = String(date.getDate()).padStart(2, "0")
|
|
83
|
-
var hours = String(date.getHours()).padStart(2, "0")
|
|
84
|
-
var minutes = String(date.getMinutes()).padStart(2, "0")
|
|
85
|
-
var seconds = String(date.getSeconds()).padStart(2, "0")
|
|
86
|
-
return year + "-" + month + "-" + day + "T" + hours + ":" + minutes + ":" + seconds
|
|
87
|
-
}
|
|
88
|
-
exports.dateToString = function (inputDate) {
|
|
89
|
-
var year = inputDate.getFullYear()
|
|
90
|
-
var month = String(inputDate.getMonth() + 1).padStart(2, "0")
|
|
91
|
-
var day = String(inputDate.getDate()).padStart(2, "0")
|
|
92
|
-
return year + "-" + month + "-" + day
|
|
93
|
-
}
|
|
94
|
-
function initForm(form, initMat) {
|
|
95
|
-
if (form) {
|
|
96
|
-
setTimeout(function () {
|
|
97
|
-
if (initMat) {
|
|
98
|
-
initMat(form)
|
|
99
|
-
}
|
|
100
|
-
formutil_1.focusFirstElement(form)
|
|
101
|
-
}, 100)
|
|
102
|
-
}
|
|
103
|
-
return form
|
|
104
|
-
}
|
|
105
|
-
exports.initForm = initForm
|
|
106
|
-
function getName(d, n) {
|
|
107
|
-
return n && n.length > 0 ? n : d
|
|
108
|
-
}
|
|
109
|
-
exports.getName = getName
|
|
110
|
-
function getModelName(form, name) {
|
|
111
|
-
if (form) {
|
|
112
|
-
var a = form.getAttribute("model-name")
|
|
113
|
-
if (a && a.length > 0) {
|
|
114
|
-
return a
|
|
115
|
-
}
|
|
116
|
-
var b = form.name
|
|
117
|
-
if (b) {
|
|
118
|
-
if (b.endsWith("Form")) {
|
|
119
|
-
return b.substr(0, b.length - 4)
|
|
120
|
-
}
|
|
121
|
-
return b
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if (name && name.length > 0) {
|
|
125
|
-
return name
|
|
126
|
-
}
|
|
127
|
-
return ""
|
|
128
|
-
}
|
|
129
|
-
exports.getModelName = getModelName
|
|
130
|
-
exports.scrollToFocus = function (e, isUseTimeOut) {
|
|
131
|
-
try {
|
|
132
|
-
var element = e.target
|
|
133
|
-
var form = element.form
|
|
134
|
-
if (form) {
|
|
135
|
-
var container_1 = form.childNodes[1]
|
|
136
|
-
var elementRect_1 = element.getBoundingClientRect()
|
|
137
|
-
var absoluteElementTop = elementRect_1.top + window.pageYOffset
|
|
138
|
-
var middle_1 = absoluteElementTop - window.innerHeight / 2
|
|
139
|
-
var scrollTop_1 = container_1.scrollTop
|
|
140
|
-
var timeOut = isUseTimeOut ? 300 : 0
|
|
141
|
-
var isChrome_1 = navigator.userAgent.search("Chrome") > 0
|
|
142
|
-
setTimeout(function () {
|
|
143
|
-
if (isChrome_1) {
|
|
144
|
-
var scrollPosition = scrollTop_1 === 0 ? elementRect_1.top + 64 : scrollTop_1 + middle_1
|
|
145
|
-
container_1.scrollTo(0, Math.abs(scrollPosition))
|
|
146
|
-
} else {
|
|
147
|
-
container_1.scrollTo(0, Math.abs(scrollTop_1 + middle_1))
|
|
148
|
-
}
|
|
149
|
-
}, timeOut)
|
|
150
|
-
}
|
|
151
|
-
} catch (e) {
|
|
152
|
-
console.log(e)
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
function showLoading(s) {
|
|
156
|
-
if (s) {
|
|
157
|
-
s.showLoading()
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
exports.showLoading = showLoading
|
|
161
|
-
function hideLoading(s) {
|
|
162
|
-
if (s) {
|
|
163
|
-
s.hideLoading()
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.hideLoading = hideLoading
|
|
167
|
-
function getRemoveError(u, rmErr) {
|
|
168
|
-
if (rmErr) {
|
|
169
|
-
return rmErr
|
|
170
|
-
}
|
|
171
|
-
return u && u.ui ? u.ui.removeError : undefined
|
|
172
|
-
}
|
|
173
|
-
exports.getRemoveError = getRemoveError
|
|
174
|
-
function removeFormError(u, f) {
|
|
175
|
-
if (f && u && u.ui) {
|
|
176
|
-
u.ui.removeFormError(f)
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
exports.removeFormError = removeFormError
|
|
180
|
-
function getValidateForm(u, vf) {
|
|
181
|
-
if (vf) {
|
|
182
|
-
return vf
|
|
183
|
-
}
|
|
184
|
-
return u && u.ui ? u.ui.validateForm : undefined
|
|
185
|
-
}
|
|
186
|
-
exports.getValidateForm = getValidateForm
|
package/lib/formutil.js
CHANGED
|
@@ -46,34 +46,6 @@ function setReadOnly(form) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
exports.setReadOnly = setReadOnly
|
|
49
|
-
function focusFirstElement(form) {
|
|
50
|
-
var i = 0
|
|
51
|
-
var len = form.length
|
|
52
|
-
for (i = 0; i < len; i++) {
|
|
53
|
-
var ctrl = form[i]
|
|
54
|
-
if (!(ctrl.readOnly || ctrl.disabled)) {
|
|
55
|
-
var nodeName = ctrl.nodeName
|
|
56
|
-
var type = ctrl.getAttribute("type")
|
|
57
|
-
if (type) {
|
|
58
|
-
var t = type.toUpperCase()
|
|
59
|
-
if (t === "BUTTON" || t === "SUBMIT") {
|
|
60
|
-
ctrl.focus()
|
|
61
|
-
}
|
|
62
|
-
if (nodeName === "INPUT") {
|
|
63
|
-
nodeName = t
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
if (nodeName !== "BUTTON" && nodeName !== "RESET" && nodeName !== "SUBMIT" && nodeName !== "CHECKBOX" && nodeName !== "RADIO") {
|
|
67
|
-
ctrl.focus()
|
|
68
|
-
try {
|
|
69
|
-
ctrl.setSelectionRange(0, ctrl.value.length)
|
|
70
|
-
} catch (err) {}
|
|
71
|
-
return
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.focusFirstElement = focusFirstElement
|
|
77
49
|
function focusFirstError(form, className) {
|
|
78
50
|
if (!form) {
|
|
79
51
|
return
|
package/lib/index.js
CHANGED
|
@@ -156,3 +156,28 @@ function getNumber(event) {
|
|
|
156
156
|
return parseInt(event.currentTarget.value, 10)
|
|
157
157
|
}
|
|
158
158
|
exports.getNumber = getNumber
|
|
159
|
+
exports.scrollToFocus = function (e, isUseTimeOut) {
|
|
160
|
+
try {
|
|
161
|
+
var element = e.target
|
|
162
|
+
var form = element.form
|
|
163
|
+
if (form) {
|
|
164
|
+
var container_1 = form.childNodes[1]
|
|
165
|
+
var elementRect_1 = element.getBoundingClientRect()
|
|
166
|
+
var absoluteElementTop = elementRect_1.top + window.pageYOffset
|
|
167
|
+
var middle_1 = absoluteElementTop - window.innerHeight / 2
|
|
168
|
+
var scrollTop_1 = container_1.scrollTop
|
|
169
|
+
var timeOut = isUseTimeOut ? 300 : 0
|
|
170
|
+
var isChrome_1 = navigator.userAgent.search("Chrome") > 0
|
|
171
|
+
setTimeout(function () {
|
|
172
|
+
if (isChrome_1) {
|
|
173
|
+
var scrollPosition = scrollTop_1 === 0 ? elementRect_1.top + 64 : scrollTop_1 + middle_1
|
|
174
|
+
container_1.scrollTo(0, Math.abs(scrollPosition))
|
|
175
|
+
} else {
|
|
176
|
+
container_1.scrollTo(0, Math.abs(scrollTop_1 + middle_1))
|
|
177
|
+
}
|
|
178
|
+
}, timeOut)
|
|
179
|
+
}
|
|
180
|
+
} catch (e) {
|
|
181
|
+
console.log(e)
|
|
182
|
+
}
|
|
183
|
+
}
|
package/lib/input.js
CHANGED
|
@@ -59,3 +59,52 @@ function getErrorFunc(p, showErr) {
|
|
|
59
59
|
return p.showError
|
|
60
60
|
}
|
|
61
61
|
exports.getErrorFunc = getErrorFunc
|
|
62
|
+
function showLoading(s) {
|
|
63
|
+
if (s) {
|
|
64
|
+
s.showLoading()
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.showLoading = showLoading
|
|
68
|
+
function hideLoading(s) {
|
|
69
|
+
if (s) {
|
|
70
|
+
s.hideLoading()
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.hideLoading = hideLoading
|
|
74
|
+
function initForm(form, initMat) {
|
|
75
|
+
if (form) {
|
|
76
|
+
setTimeout(function () {
|
|
77
|
+
if (initMat) {
|
|
78
|
+
initMat(form)
|
|
79
|
+
}
|
|
80
|
+
focusFirstElement(form)
|
|
81
|
+
}, 100)
|
|
82
|
+
}
|
|
83
|
+
return form
|
|
84
|
+
}
|
|
85
|
+
exports.initForm = initForm
|
|
86
|
+
function focusFirstElement(form) {
|
|
87
|
+
var i = 0
|
|
88
|
+
var len = form.length
|
|
89
|
+
for (i = 0; i < len; i++) {
|
|
90
|
+
var ctrl = form[i]
|
|
91
|
+
if (!(ctrl.readOnly || ctrl.disabled)) {
|
|
92
|
+
var nodeName = ctrl.nodeName
|
|
93
|
+
var type = ctrl.getAttribute("type")
|
|
94
|
+
if (type) {
|
|
95
|
+
var t = type.toUpperCase()
|
|
96
|
+
if (t === "BUTTON" || t === "SUBMIT") {
|
|
97
|
+
ctrl.focus()
|
|
98
|
+
}
|
|
99
|
+
if (nodeName === "INPUT") {
|
|
100
|
+
nodeName = t
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (nodeName !== "BUTTON" && nodeName !== "RESET" && nodeName !== "SUBMIT" && nodeName !== "CHECKBOX" && nodeName !== "RADIO") {
|
|
104
|
+
ctrl.focus()
|
|
105
|
+
return
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.focusFirstElement = focusFirstElement
|
package/lib/reflect.js
CHANGED
|
@@ -151,16 +151,6 @@ function hasDiff(o1, o2, keys, version) {
|
|
|
151
151
|
return !isEmptyObject(diff)
|
|
152
152
|
}
|
|
153
153
|
exports.hasDiff = hasDiff
|
|
154
|
-
function goBack(navigate, confirm, resource, o1, o2, keys, version) {
|
|
155
|
-
if (!hasDiff(o1, o2, keys, version)) {
|
|
156
|
-
navigate(-1)
|
|
157
|
-
} else {
|
|
158
|
-
confirm(resource.msg_confirm_back, function () {
|
|
159
|
-
return navigate(-1)
|
|
160
|
-
})
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
exports.goBack = goBack
|
|
164
154
|
function notIn(s1, s2) {
|
|
165
155
|
var r = []
|
|
166
156
|
for (var _i = 0, s2_1 = s2; _i < s2_1.length; _i++) {
|
package/lib/route.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict"
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true })
|
|
3
3
|
var qs = require("query-string")
|
|
4
|
+
var reflect_1 = require("./reflect")
|
|
5
|
+
function goBack(navigate, confirm, resource, o1, o2, keys, version) {
|
|
6
|
+
if (!reflect_1.hasDiff(o1, o2, keys, version)) {
|
|
7
|
+
navigate(-1)
|
|
8
|
+
} else {
|
|
9
|
+
confirm(resource.msg_confirm_back, function () {
|
|
10
|
+
return navigate(-1)
|
|
11
|
+
})
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.goBack = goBack
|
|
4
15
|
function buildFromUrl(modelT) {
|
|
5
16
|
return buildParameters(window.location.search, modelT)
|
|
6
17
|
}
|
package/lib/search.js
CHANGED
|
@@ -111,13 +111,6 @@ function initFilter(m, com) {
|
|
|
111
111
|
return m
|
|
112
112
|
}
|
|
113
113
|
exports.initFilter = initFilter
|
|
114
|
-
function showPaging(com, list, pageSize, total) {
|
|
115
|
-
com.total = total
|
|
116
|
-
var pageTotal = getPageTotal(pageSize, total)
|
|
117
|
-
com.pages = pageTotal
|
|
118
|
-
com.showPaging = !total || com.pages <= 1 || (list && list.length >= total) ? false : true
|
|
119
|
-
}
|
|
120
|
-
exports.showPaging = showPaging
|
|
121
114
|
function getFields(form, arr) {
|
|
122
115
|
if (arr && arr.length > 0) {
|
|
123
116
|
return arr
|
|
@@ -157,20 +150,6 @@ function getFields(form, arr) {
|
|
|
157
150
|
return fields.length > 0 ? fields : undefined
|
|
158
151
|
}
|
|
159
152
|
exports.getFields = getFields
|
|
160
|
-
function getPageTotal(pageSize, total) {
|
|
161
|
-
if (!pageSize || pageSize <= 0) {
|
|
162
|
-
return 1
|
|
163
|
-
} else {
|
|
164
|
-
if (!total) {
|
|
165
|
-
total = 0
|
|
166
|
-
}
|
|
167
|
-
if (total % pageSize === 0) {
|
|
168
|
-
return Math.floor(total / pageSize)
|
|
169
|
-
}
|
|
170
|
-
return Math.floor(total / pageSize + 1)
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
exports.getPageTotal = getPageTotal
|
|
174
153
|
function formatText() {
|
|
175
154
|
var args = []
|
|
176
155
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
@@ -195,6 +174,20 @@ function formatText() {
|
|
|
195
174
|
return formatted
|
|
196
175
|
}
|
|
197
176
|
exports.formatText = formatText
|
|
177
|
+
function getPageTotal(pageSize, total) {
|
|
178
|
+
if (!pageSize || pageSize <= 0) {
|
|
179
|
+
return 1
|
|
180
|
+
} else {
|
|
181
|
+
if (!total) {
|
|
182
|
+
total = 0
|
|
183
|
+
}
|
|
184
|
+
if (total % pageSize === 0) {
|
|
185
|
+
return Math.floor(total / pageSize)
|
|
186
|
+
}
|
|
187
|
+
return Math.floor(total / pageSize + 1)
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.getPageTotal = getPageTotal
|
|
198
191
|
function buildMessage(resource, results, limit, page, total) {
|
|
199
192
|
if (!results || results.length === 0) {
|
|
200
193
|
return resource.msg_no_data_found
|
|
@@ -355,16 +348,6 @@ function handleToggle(target, on) {
|
|
|
355
348
|
return off
|
|
356
349
|
}
|
|
357
350
|
exports.handleToggle = handleToggle
|
|
358
|
-
function handleSortEvent(event, com) {
|
|
359
|
-
if (event && event.target) {
|
|
360
|
-
var target = event.target
|
|
361
|
-
var s = handleSort(target, com.sortTarget, com.sortField, com.sortType)
|
|
362
|
-
com.sortField = s.field
|
|
363
|
-
com.sortType = s.type
|
|
364
|
-
com.sortTarget = target
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
exports.handleSortEvent = handleSortEvent
|
|
368
351
|
function getSortElement(target) {
|
|
369
352
|
return target.nodeName === "I" ? target.parentElement : target
|
|
370
353
|
}
|
package/lib/update.js
CHANGED
|
@@ -18,9 +18,37 @@ var react_1 = require("react")
|
|
|
18
18
|
var core_1 = require("./core")
|
|
19
19
|
var merge_1 = require("./merge")
|
|
20
20
|
var state_1 = require("./state")
|
|
21
|
+
function removePhoneFormat(phone) {
|
|
22
|
+
if (phone) {
|
|
23
|
+
return phone.replace(core_1.resources.phone, "")
|
|
24
|
+
} else {
|
|
25
|
+
return phone
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.removePhoneFormat = removePhoneFormat
|
|
29
|
+
function getModelName(form, name) {
|
|
30
|
+
if (form) {
|
|
31
|
+
var a = form.getAttribute("model-name")
|
|
32
|
+
if (a && a.length > 0) {
|
|
33
|
+
return a
|
|
34
|
+
}
|
|
35
|
+
var b = form.name
|
|
36
|
+
if (b) {
|
|
37
|
+
if (b.endsWith("Form")) {
|
|
38
|
+
return b.substring(0, b.length - 4)
|
|
39
|
+
}
|
|
40
|
+
return b
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (name && name.length > 0) {
|
|
44
|
+
return name
|
|
45
|
+
}
|
|
46
|
+
return ""
|
|
47
|
+
}
|
|
48
|
+
exports.getModelName = getModelName
|
|
21
49
|
var m = "model"
|
|
22
50
|
var _getModelName = function (f2) {
|
|
23
|
-
return
|
|
51
|
+
return getModelName(f2, m)
|
|
24
52
|
}
|
|
25
53
|
exports.useUpdate = function (initialState, getName, getLocale, removeErr) {
|
|
26
54
|
var _a = merge_1.useMergeState(initialState),
|
|
@@ -38,7 +66,7 @@ exports.useUpdate = function (initialState, getName, getLocale, removeErr) {
|
|
|
38
66
|
var updatePhoneState = function (event) {
|
|
39
67
|
var re = /^[0-9\b]+$/
|
|
40
68
|
var target = event.currentTarget
|
|
41
|
-
var value =
|
|
69
|
+
var value = removePhoneFormat(target.value)
|
|
42
70
|
if (re.test(value) || !value) {
|
|
43
71
|
updateState(event)
|
|
44
72
|
} else {
|
package/lib/useEdit.js
CHANGED
|
@@ -20,10 +20,51 @@ var core_1 = require("./core")
|
|
|
20
20
|
var edit_1 = require("./edit")
|
|
21
21
|
var error_1 = require("./error")
|
|
22
22
|
var formutil_1 = require("./formutil")
|
|
23
|
+
var input_1 = require("./input")
|
|
23
24
|
var merge_1 = require("./merge")
|
|
24
25
|
var reflect_1 = require("./reflect")
|
|
25
26
|
var state_1 = require("./state")
|
|
26
27
|
var update_1 = require("./update")
|
|
28
|
+
function buildKeys(attributes) {
|
|
29
|
+
if (!attributes) {
|
|
30
|
+
return []
|
|
31
|
+
}
|
|
32
|
+
var ks = Object.keys(attributes)
|
|
33
|
+
var ps = []
|
|
34
|
+
for (var _i = 0, ks_1 = ks; _i < ks_1.length; _i++) {
|
|
35
|
+
var k = ks_1[_i]
|
|
36
|
+
var attr = attributes[k]
|
|
37
|
+
if (attr.key === true) {
|
|
38
|
+
ps.push(k)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return ps
|
|
42
|
+
}
|
|
43
|
+
exports.buildKeys = buildKeys
|
|
44
|
+
function buildId(p, keys) {
|
|
45
|
+
if (!keys || keys.length === 0 || keys.length === 1) {
|
|
46
|
+
if (keys && keys.length === 1) {
|
|
47
|
+
if (p[keys[0]]) {
|
|
48
|
+
return p[keys[0]]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return p["id"]
|
|
52
|
+
}
|
|
53
|
+
var id = {}
|
|
54
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
55
|
+
var key = keys_1[_i]
|
|
56
|
+
var v = p[key]
|
|
57
|
+
if (!v) {
|
|
58
|
+
v = p[key]
|
|
59
|
+
if (!v) {
|
|
60
|
+
return null
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
id[key] = v
|
|
64
|
+
}
|
|
65
|
+
return id
|
|
66
|
+
}
|
|
67
|
+
exports.buildId = buildId
|
|
27
68
|
function build(attributes, name) {
|
|
28
69
|
if (!attributes) {
|
|
29
70
|
return undefined
|
|
@@ -47,8 +88,8 @@ function buildMetaModel(attributes) {
|
|
|
47
88
|
var md = {}
|
|
48
89
|
var pks = new Array()
|
|
49
90
|
var keys = Object.keys(attributes)
|
|
50
|
-
for (var _i = 0,
|
|
51
|
-
var key =
|
|
91
|
+
for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
|
|
92
|
+
var key = keys_2[_i]
|
|
52
93
|
var attr = attributes[key]
|
|
53
94
|
if (attr) {
|
|
54
95
|
if (attr.version) {
|
|
@@ -79,7 +120,7 @@ exports.useEdit = function (refForm, initialState, service, p2, p) {
|
|
|
79
120
|
react_1.useEffect(function () {
|
|
80
121
|
if (refForm) {
|
|
81
122
|
var registerEvents = p2.ui ? p2.ui.registerEvents : undefined
|
|
82
|
-
|
|
123
|
+
input_1.initForm(baseProps.refForm.current, registerEvents)
|
|
83
124
|
}
|
|
84
125
|
var n = baseProps.getModelName(refForm.current)
|
|
85
126
|
var obj = {}
|
|
@@ -96,7 +137,7 @@ exports.useEdit = function (refForm, initialState, service, p2, p) {
|
|
|
96
137
|
p.version = version
|
|
97
138
|
}
|
|
98
139
|
}
|
|
99
|
-
var id =
|
|
140
|
+
var id = buildId(params, keys)
|
|
100
141
|
if (p && p.initialize) {
|
|
101
142
|
p.initialize(id, baseProps.load, baseProps.setState, p.callback)
|
|
102
143
|
} else {
|
|
@@ -104,7 +145,7 @@ exports.useEdit = function (refForm, initialState, service, p2, p) {
|
|
|
104
145
|
baseProps.load(id, p ? p.callback : undefined)
|
|
105
146
|
} catch (error) {
|
|
106
147
|
p2.showError(error)
|
|
107
|
-
|
|
148
|
+
input_1.hideLoading(p2.loading)
|
|
108
149
|
}
|
|
109
150
|
}
|
|
110
151
|
}, [])
|
|
@@ -116,7 +157,7 @@ exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
|
|
|
116
157
|
react_1.useEffect(function () {
|
|
117
158
|
if (refForm) {
|
|
118
159
|
var registerEvents = p2.ui ? p2.ui.registerEvents : undefined
|
|
119
|
-
|
|
160
|
+
input_1.initForm(baseProps.refForm.current, registerEvents)
|
|
120
161
|
}
|
|
121
162
|
var n = baseProps.getModelName(refForm.current)
|
|
122
163
|
var obj = {}
|
|
@@ -133,7 +174,7 @@ exports.useEditProps = function (props, refForm, initialState, service, p2, p) {
|
|
|
133
174
|
p.version = version
|
|
134
175
|
}
|
|
135
176
|
}
|
|
136
|
-
var id =
|
|
177
|
+
var id = buildId(params, keys)
|
|
137
178
|
if (p && p.initialize) {
|
|
138
179
|
p.initialize(id, baseProps.load, baseProps.setState, p.callback)
|
|
139
180
|
} else {
|
|
@@ -157,7 +198,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
157
198
|
if (p && p.name && p.name.length > 0) {
|
|
158
199
|
return p.name
|
|
159
200
|
}
|
|
160
|
-
return
|
|
201
|
+
return update_1.getModelName(f)
|
|
161
202
|
}
|
|
162
203
|
var baseProps = update_1.useUpdate(initialState, getModelName, p1.getLocale)
|
|
163
204
|
var state = baseProps.state,
|
|
@@ -374,7 +415,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
374
415
|
var _handleError = function (err) {
|
|
375
416
|
if (err) {
|
|
376
417
|
setRunning(false)
|
|
377
|
-
|
|
418
|
+
input_1.hideLoading(p1.loading)
|
|
378
419
|
var errHeader = p1.resource.value("error")
|
|
379
420
|
var errMsg = p1.resource.value("error_internal")
|
|
380
421
|
var data = err && err.response ? err.response : err
|
|
@@ -389,7 +430,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
389
430
|
var handleError = p && p.handleError ? p.handleError : _handleError
|
|
390
431
|
var _postSave = function (r, origin, version, isPatch, backOnSave) {
|
|
391
432
|
setRunning(false)
|
|
392
|
-
|
|
433
|
+
input_1.hideLoading(p1.loading)
|
|
393
434
|
var x = r
|
|
394
435
|
var successMsg = p1.resource.value("msg_save_success")
|
|
395
436
|
var newMod = flag.newMode
|
|
@@ -414,8 +455,8 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
414
455
|
if (isPatch) {
|
|
415
456
|
var keys = Object.keys(result)
|
|
416
457
|
var a = origin
|
|
417
|
-
for (var _i = 0,
|
|
418
|
-
var k =
|
|
458
|
+
for (var _i = 0, keys_3 = keys; _i < keys_3.length; _i++) {
|
|
459
|
+
var k = keys_3[_i]
|
|
419
460
|
a[k] = result[k]
|
|
420
461
|
}
|
|
421
462
|
succeed(successMsg, a, undefined, backOnSave, a)
|
|
@@ -433,7 +474,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
433
474
|
var handleDuplicateKey = p && p.handleDuplicateKey ? p.handleDuplicateKey : _handleDuplicateKey
|
|
434
475
|
var _doSave = function (obj, body, version, isBack) {
|
|
435
476
|
setRunning(true)
|
|
436
|
-
|
|
477
|
+
input_1.showLoading(p1.loading)
|
|
437
478
|
var isBackO = isBack != null && isBack !== undefined ? isBack : false
|
|
438
479
|
var patchable = p ? p.patchable : true
|
|
439
480
|
if (flag.newMode === false) {
|
|
@@ -466,7 +507,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
466
507
|
var id = _id
|
|
467
508
|
if (id != null && id !== "") {
|
|
468
509
|
setRunning(true)
|
|
469
|
-
|
|
510
|
+
input_1.showLoading(p1.loading)
|
|
470
511
|
service
|
|
471
512
|
.load(id)
|
|
472
513
|
.then(function (obj) {
|
|
@@ -481,7 +522,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
481
522
|
}
|
|
482
523
|
}
|
|
483
524
|
setRunning(false)
|
|
484
|
-
|
|
525
|
+
input_1.hideLoading(p1.loading)
|
|
485
526
|
})
|
|
486
527
|
.catch(function (err) {
|
|
487
528
|
var _a, _b, _c
|
|
@@ -509,7 +550,7 @@ exports.useCoreEdit = function (refForm, initialState, service, p1, p, props) {
|
|
|
509
550
|
}
|
|
510
551
|
}
|
|
511
552
|
setRunning(false)
|
|
512
|
-
|
|
553
|
+
input_1.hideLoading(p1.loading)
|
|
513
554
|
})
|
|
514
555
|
} else {
|
|
515
556
|
var obj = createModel()
|