react-hook-core 0.0.1 → 0.1.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/core.js CHANGED
@@ -39,7 +39,13 @@ var resource = (function () {
39
39
  }());
40
40
  exports.resource = resource;
41
41
  function getCurrencyCode(form) {
42
- return (form ? form.getAttribute('currency-code') : null);
42
+ if (form) {
43
+ var x = form.getAttribute('currency-code');
44
+ if (x) {
45
+ return x;
46
+ }
47
+ }
48
+ return undefined;
43
49
  }
44
50
  exports.getCurrencyCode = getCurrencyCode;
45
51
  function removePhoneFormat(phone) {
@@ -51,28 +57,35 @@ function removePhoneFormat(phone) {
51
57
  }
52
58
  }
53
59
  exports.removePhoneFormat = removePhoneFormat;
60
+ function getString(key, gv) {
61
+ if (typeof gv === 'function') {
62
+ return gv(key);
63
+ }
64
+ else {
65
+ return gv[key];
66
+ }
67
+ }
68
+ exports.getString = getString;
54
69
  function message(gv, msg, title, yes, no) {
55
- var m2 = (msg && msg.length > 0 ? gv(msg) : '');
56
- var m = {
57
- message: m2
58
- };
70
+ var m2 = (msg && msg.length > 0 ? getString(msg, gv) : '');
71
+ var m = { message: m2, title: '' };
59
72
  if (title && title.length > 0) {
60
- m.title = gv(title);
73
+ m.title = getString(title, gv);
61
74
  }
62
75
  if (yes && yes.length > 0) {
63
- m.yes = gv(yes);
76
+ m.yes = getString(yes, gv);
64
77
  }
65
78
  if (no && no.length > 0) {
66
- m.no = gv(no);
79
+ m.no = getString(no, gv);
67
80
  }
68
81
  return m;
69
82
  }
70
83
  exports.message = message;
71
84
  function messageByHttpStatus(status, gv) {
72
85
  var k = 'status_' + status;
73
- var msg = gv(k);
86
+ var msg = getString(k, gv);
74
87
  if (!msg || msg.length === 0) {
75
- msg = gv('error_internal');
88
+ msg = getString('error_internal', gv);
76
89
  }
77
90
  return msg;
78
91
  }
@@ -165,7 +178,11 @@ function error(err, gv, ae) {
165
178
  }
166
179
  }
167
180
  exports.error = error;
168
- function getModelName(form) {
181
+ function getName(d, n) {
182
+ return (n && n.length > 0 ? n : d);
183
+ }
184
+ exports.getName = getName;
185
+ function getModelName(form, name) {
169
186
  if (form) {
170
187
  var a = form.getAttribute('model-name');
171
188
  if (a && a.length > 0) {
@@ -179,30 +196,75 @@ function getModelName(form) {
179
196
  return b;
180
197
  }
181
198
  }
199
+ if (name && name.length > 0) {
200
+ return name;
201
+ }
182
202
  return '';
183
203
  }
184
204
  exports.getModelName = getModelName;
185
205
  exports.scrollToFocus = function (e, isUseTimeOut) {
186
206
  try {
187
207
  var element = e.target;
188
- var container_1 = element.form.childNodes[1];
189
- var elementRect_1 = element.getBoundingClientRect();
190
- var absoluteElementTop = elementRect_1.top + window.pageYOffset;
191
- var middle_1 = absoluteElementTop - (window.innerHeight / 2);
192
- var scrollTop_1 = container_1.scrollTop;
193
- var timeOut = isUseTimeOut ? 300 : 0;
194
- var isChrome_1 = navigator.userAgent.search('Chrome') > 0;
195
- setTimeout(function () {
196
- if (isChrome_1) {
197
- var scrollPosition = scrollTop_1 === 0 ? (elementRect_1.top + 64) : (scrollTop_1 + middle_1);
198
- container_1.scrollTo(0, Math.abs(scrollPosition));
199
- }
200
- else {
201
- container_1.scrollTo(0, Math.abs(scrollTop_1 + middle_1));
202
- }
203
- }, timeOut);
208
+ var form = element.form;
209
+ if (form) {
210
+ var container_1 = form.childNodes[1];
211
+ var elementRect_1 = element.getBoundingClientRect();
212
+ var absoluteElementTop = elementRect_1.top + window.pageYOffset;
213
+ var middle_1 = absoluteElementTop - (window.innerHeight / 2);
214
+ var scrollTop_1 = container_1.scrollTop;
215
+ var timeOut = isUseTimeOut ? 300 : 0;
216
+ var isChrome_1 = navigator.userAgent.search('Chrome') > 0;
217
+ setTimeout(function () {
218
+ if (isChrome_1) {
219
+ var scrollPosition = scrollTop_1 === 0 ? (elementRect_1.top + 64) : (scrollTop_1 + middle_1);
220
+ container_1.scrollTo(0, Math.abs(scrollPosition));
221
+ }
222
+ else {
223
+ container_1.scrollTo(0, Math.abs(scrollTop_1 + middle_1));
224
+ }
225
+ }, timeOut);
226
+ }
204
227
  }
205
228
  catch (e) {
206
229
  console.log(e);
207
230
  }
208
231
  };
232
+ function showLoading(s) {
233
+ if (s) {
234
+ s.showLoading();
235
+ }
236
+ }
237
+ exports.showLoading = showLoading;
238
+ function hideLoading(s) {
239
+ if (s) {
240
+ s.hideLoading();
241
+ }
242
+ }
243
+ exports.hideLoading = hideLoading;
244
+ function getRemoveError(u, rmErr) {
245
+ if (rmErr) {
246
+ return rmErr;
247
+ }
248
+ return (u && u.ui ? u.ui.removeError : undefined);
249
+ }
250
+ exports.getRemoveError = getRemoveError;
251
+ function removeFormError(u, f) {
252
+ if (f && u && u.ui) {
253
+ u.ui.removeFormError(f);
254
+ }
255
+ }
256
+ exports.removeFormError = removeFormError;
257
+ function getValidateForm(u, vf) {
258
+ if (vf) {
259
+ return vf;
260
+ }
261
+ return (u && u.ui ? u.ui.validateForm : undefined);
262
+ }
263
+ exports.getValidateForm = getValidateForm;
264
+ function getDecodeFromForm(u, d) {
265
+ if (d) {
266
+ return d;
267
+ }
268
+ return (u && u.ui ? u.ui.decodeFromForm : undefined);
269
+ }
270
+ exports.getDecodeFromForm = getDecodeFromForm;
package/lib/diff.js CHANGED
@@ -33,6 +33,9 @@ function formatDiffModel(obj, formatFields) {
33
33
  exports.formatDiffModel = formatDiffModel;
34
34
  function getDataFields(form) {
35
35
  var results = [];
36
+ if (!form) {
37
+ return results;
38
+ }
36
39
  var attributeValue = form.getAttribute('data-field');
37
40
  if (attributeValue && attributeValue.length > 0) {
38
41
  results.push(form);
package/lib/edit.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var core_1 = require("./core");
4
4
  function build(attributes, name) {
5
5
  if (!attributes) {
6
- return null;
6
+ return undefined;
7
7
  }
8
8
  if (core_1.resource.cache && name && name.length > 0) {
9
9
  var meta = core_1.resource._cache[name];
@@ -49,40 +49,42 @@ function createModel(attributes) {
49
49
  for (var _i = 0, attrs_1 = attrs; _i < attrs_1.length; _i++) {
50
50
  var k = attrs_1[_i];
51
51
  var attr = attributes[k];
52
- switch (attr.type) {
53
- case 'string':
54
- case 'text':
55
- obj[attr.name] = '';
56
- break;
57
- case 'integer':
58
- case 'number':
59
- obj[attr.name] = 0;
60
- break;
61
- case 'array':
62
- obj[attr.name] = [];
63
- break;
64
- case 'boolean':
65
- obj[attr.name] = false;
66
- break;
67
- case 'date':
68
- obj[attr.name] = new Date();
69
- break;
70
- case 'object':
71
- if (attr.typeof) {
72
- var object = createModel(attr.typeof);
73
- obj[attr.name] = object;
52
+ if (attr.name) {
53
+ switch (attr.type) {
54
+ case 'string':
55
+ case 'text':
56
+ obj[attr.name] = '';
74
57
  break;
75
- }
76
- else {
77
- obj[attr.name] = {};
58
+ case 'integer':
59
+ case 'number':
60
+ obj[attr.name] = 0;
78
61
  break;
79
- }
80
- case 'ObjectId':
81
- obj[attr.name] = null;
82
- break;
83
- default:
84
- obj[attr.name] = '';
85
- break;
62
+ case 'array':
63
+ obj[attr.name] = [];
64
+ break;
65
+ case 'boolean':
66
+ obj[attr.name] = false;
67
+ break;
68
+ case 'date':
69
+ obj[attr.name] = new Date();
70
+ break;
71
+ case 'object':
72
+ if (attr.typeof) {
73
+ var object = createModel(attr.typeof);
74
+ obj[attr.name] = object;
75
+ break;
76
+ }
77
+ else {
78
+ obj[attr.name] = {};
79
+ break;
80
+ }
81
+ case 'ObjectId':
82
+ obj[attr.name] = null;
83
+ break;
84
+ default:
85
+ obj[attr.name] = '';
86
+ break;
87
+ }
86
88
  }
87
89
  }
88
90
  return obj;
package/lib/formutil.js CHANGED
@@ -71,13 +71,16 @@ function focusFirstElement(form) {
71
71
  }
72
72
  exports.focusFirstElement = focusFirstElement;
73
73
  function focusFirstError(form, className) {
74
+ if (!form) {
75
+ return;
76
+ }
74
77
  var len = form.length;
75
78
  if (className && className.length > 0) {
76
79
  for (var i = 0; i < len; i++) {
77
80
  var ctrl = form[i];
78
81
  var parent_1 = ctrl.parentElement;
79
82
  if (ctrl.classList.contains(className)
80
- || parent_1.classList.contains(className)) {
83
+ || parent_1 && parent_1.classList.contains(className)) {
81
84
  ctrl.focus();
82
85
  ctrl.scrollIntoView();
83
86
  return;
@@ -90,7 +93,7 @@ function focusFirstError(form, className) {
90
93
  var parent_2 = ctrl.parentElement;
91
94
  if (ctrl.classList.contains('invalid')
92
95
  || ctrl.classList.contains('.ng-invalid')
93
- || parent_2.classList.contains('invalid')) {
96
+ || parent_2 && parent_2.classList.contains('invalid')) {
94
97
  ctrl.focus();
95
98
  ctrl.scrollIntoView();
96
99
  return;
package/lib/index.js CHANGED
@@ -3,6 +3,7 @@ function __export(m) {
3
3
  for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
4
  }
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ var React = require("react");
6
7
  __export(require("./formutil"));
7
8
  __export(require("./util"));
8
9
  __export(require("./core"));
@@ -17,3 +18,9 @@ __export(require("./update"));
17
18
  __export(require("./useView"));
18
19
  __export(require("./useEdit"));
19
20
  __export(require("./useSearch"));
21
+ __export(require("./useMessage"));
22
+ exports.withDefaultProps = function (Component) {
23
+ return function (props) {
24
+ return React.createElement(Component, { props: props, history: props.history });
25
+ };
26
+ };
package/lib/merge.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var react_1 = require("react");
4
4
  function useMergeState(initialState) {
5
- var _a = react_1.useState(initialState), state = _a[0], _setState = _a[1];
5
+ var _a = react_1.useState(initialState ? initialState : {}), state = _a[0], _setState = _a[1];
6
6
  var callbackRef = react_1.useRef();
7
7
  var isFirstCallbackCall = react_1.useRef(true);
8
8
  var setState = react_1.useCallback(function (newState, callback) {
package/lib/state.js CHANGED
@@ -29,7 +29,12 @@ function localeOf(lc, glc) {
29
29
  var l = lc;
30
30
  if (!l) {
31
31
  if (glc) {
32
- l = glc();
32
+ if (typeof glc === 'function') {
33
+ l = glc();
34
+ }
35
+ else {
36
+ l = glc;
37
+ }
33
38
  }
34
39
  if (!l) {
35
40
  l = exports.enLocale;
@@ -62,14 +67,16 @@ function handleProps(e, props, ctrl, modelName, tloc, prepareData) {
62
67
  var field = (dataField ? dataField : ctrl.name);
63
68
  var propsDataForm = props[modelName];
64
69
  var form = ctrl.form;
65
- var formName = form.name;
66
- if (field.indexOf('.') < 0 && field.indexOf('[') < 0) {
67
- var data = props.shouldBeCustomized ? prepareData((_a = {}, _a[ctrl.name] = res.value, _a)) : (_b = {}, _b[ctrl.name] = res.value, _b);
68
- props.setGlobalState((_c = {}, _c[formName] = __assign(__assign({}, propsDataForm), data), _c));
69
- }
70
- else {
71
- reflectx_1.setValue(propsDataForm, field, ctrl.value);
72
- props.setGlobalState((_d = {}, _d[formName] = __assign({}, propsDataForm), _d));
70
+ if (form) {
71
+ var formName = form.name;
72
+ if (field.indexOf('.') < 0 && field.indexOf('[') < 0) {
73
+ var data = props.shouldBeCustomized && prepareData ? prepareData((_a = {}, _a[ctrl.name] = res.value, _a)) : (_b = {}, _b[ctrl.name] = res.value, _b);
74
+ props.setGlobalState((_c = {}, _c[formName] = __assign(__assign({}, propsDataForm), data), _c));
75
+ }
76
+ else {
77
+ reflectx_1.setValue(propsDataForm, field, ctrl.value);
78
+ props.setGlobalState((_d = {}, _d[formName] = __assign({}, propsDataForm), _d));
79
+ }
73
80
  }
74
81
  }
75
82
  }
@@ -175,7 +182,7 @@ function buildFlatState(e, state, l) {
175
182
  return objSet;
176
183
  }
177
184
  else {
178
- return null;
185
+ return undefined;
179
186
  }
180
187
  }
181
188
  }
package/lib/update.js CHANGED
@@ -3,7 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var core_1 = require("./core");
4
4
  var merge_1 = require("./merge");
5
5
  var state_1 = require("./state");
6
- exports.useUpdate = function (initialState, getLocale, removeErr, getName) {
6
+ var m = 'model';
7
+ var _getModelName = function (f2) {
8
+ return core_1.getModelName(f2, m);
9
+ };
10
+ exports.useUpdate = function (initialState, getName, getLocale, removeErr) {
11
+ return exports.useUpdateWithProps(undefined, initialState, getName, getLocale, removeErr);
12
+ };
13
+ function prepareData(data) {
14
+ }
15
+ exports.useUpdateWithProps = function (props, initialState, getName, getLocale, removeErr, prepareCustomData) {
16
+ if (!prepareCustomData) {
17
+ prepareCustomData = prepareData;
18
+ }
7
19
  var _a = merge_1.useMergeState(initialState), state = _a[0], setState = _a[1];
8
20
  var updatePhoneState = function (event) {
9
21
  var re = /^[0-9\b]+$/;
@@ -24,70 +36,28 @@ exports.useUpdate = function (initialState, getLocale, removeErr, getName) {
24
36
  updateState(event);
25
37
  }
26
38
  };
27
- var _getModelName = function (f2) {
28
- if (f2) {
29
- var a = core_1.getModelName(f2);
30
- if (a && a.length > 0) {
31
- return a;
32
- }
33
- }
34
- return 'model';
35
- };
36
- var getModelName = getName ? getName : _getModelName;
39
+ var getModelName = (typeof getName === 'function' ? getName : _getModelName);
37
40
  var updateState = function (e, callback, lc) {
38
41
  var ctrl = e.currentTarget;
39
- var modelName = getModelName(ctrl.form);
40
- var l = state_1.localeOf(lc, getLocale);
41
- state_1.handleEvent(e, removeErr);
42
- var objSet = state_1.buildState(e, state, ctrl, modelName, l);
43
- if (objSet) {
44
- if (callback) {
45
- setState(objSet, callback);
42
+ var mn = m;
43
+ if (getName) {
44
+ if (typeof getName === 'string') {
45
+ mn = getName;
46
46
  }
47
47
  else {
48
- setState(objSet);
48
+ mn = getName(ctrl.form);
49
49
  }
50
50
  }
51
- };
52
- var updateFlatState = function (e, callback, lc) {
53
- var objSet = state_1.buildFlatState(e, state, lc);
54
- if (objSet) {
55
- if (callback) {
56
- setState(objSet, callback);
57
- }
58
- else {
59
- setState(objSet);
60
- }
51
+ else {
52
+ mn = _getModelName(ctrl.form);
61
53
  }
62
- };
63
- return {
64
- getModelName: getModelName,
65
- updateState: updateState,
66
- updatePhoneState: updatePhoneState,
67
- updateFlatState: updateFlatState,
68
- getLocale: getLocale,
69
- setState: setState,
70
- state: state
71
- };
72
- };
73
- function prepareData(data) {
74
- }
75
- exports.useUpdateWithProps = function (props, initialState, gl, removeErr, getName, prepareCustomData) {
76
- if (!prepareCustomData) {
77
- prepareCustomData = prepareData;
78
- }
79
- var baseProps = exports.useUpdate(initialState, gl, removeErr, getName);
80
- var getModelName = baseProps.getModelName, updatePhoneState = baseProps.updatePhoneState, updateFlatState = baseProps.updateFlatState, getLocale = baseProps.getLocale, state = baseProps.state, setState = baseProps.setState;
81
- var updateState = function (e, callback, lc) {
82
- var ctrl = e.currentTarget;
83
- var modelName = getModelName(ctrl.form);
84
- var l = state_1.localeOf(lc, gl);
54
+ var l = state_1.localeOf(lc, getLocale);
85
55
  state_1.handleEvent(e, removeErr);
86
- if (props.setGlobalState) {
87
- state_1.handleProps(e, props, ctrl, modelName, l, prepareCustomData);
56
+ if (props && props.setGlobalState) {
57
+ state_1.handleProps(e, props, ctrl, mn, l, prepareCustomData);
88
58
  }
89
59
  else {
90
- var objSet = state_1.buildState(e, state, ctrl, modelName, l);
60
+ var objSet = state_1.buildState(e, state, ctrl, mn, l);
91
61
  if (objSet) {
92
62
  if (callback) {
93
63
  setState(objSet, callback);
@@ -98,6 +68,17 @@ exports.useUpdateWithProps = function (props, initialState, gl, removeErr, getNa
98
68
  }
99
69
  }
100
70
  };
71
+ var updateFlatState = function (e, callback, lc) {
72
+ var objSet = state_1.buildFlatState(e, state, lc);
73
+ if (objSet) {
74
+ if (callback) {
75
+ setState(objSet, callback);
76
+ }
77
+ else {
78
+ setState(objSet);
79
+ }
80
+ }
81
+ };
101
82
  return {
102
83
  getModelName: getModelName,
103
84
  updateState: updateState,