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/core.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var formutil_1 = require("./formutil");
4
+ exports.pageSizes = [12, 24, 60, 100, 120, 180, 300, 600];
4
5
  function createEditStatus(status) {
5
6
  if (status) {
6
7
  return status;
@@ -39,7 +40,13 @@ var resource = (function () {
39
40
  }());
40
41
  exports.resource = resource;
41
42
  function getCurrencyCode(form) {
42
- return (form ? form.getAttribute('currency-code') : null);
43
+ if (form) {
44
+ var x = form.getAttribute('currency-code');
45
+ if (x) {
46
+ return x;
47
+ }
48
+ }
49
+ return undefined;
43
50
  }
44
51
  exports.getCurrencyCode = getCurrencyCode;
45
52
  function removePhoneFormat(phone) {
@@ -51,28 +58,35 @@ function removePhoneFormat(phone) {
51
58
  }
52
59
  }
53
60
  exports.removePhoneFormat = removePhoneFormat;
61
+ function getString(key, gv) {
62
+ if (typeof gv === 'function') {
63
+ return gv(key);
64
+ }
65
+ else {
66
+ return gv[key];
67
+ }
68
+ }
69
+ exports.getString = getString;
54
70
  function message(gv, msg, title, yes, no) {
55
- var m2 = (msg && msg.length > 0 ? gv(msg) : '');
56
- var m = {
57
- message: m2
58
- };
71
+ var m2 = (msg && msg.length > 0 ? getString(msg, gv) : '');
72
+ var m = { message: m2, title: '' };
59
73
  if (title && title.length > 0) {
60
- m.title = gv(title);
74
+ m.title = getString(title, gv);
61
75
  }
62
76
  if (yes && yes.length > 0) {
63
- m.yes = gv(yes);
77
+ m.yes = getString(yes, gv);
64
78
  }
65
79
  if (no && no.length > 0) {
66
- m.no = gv(no);
80
+ m.no = getString(no, gv);
67
81
  }
68
82
  return m;
69
83
  }
70
84
  exports.message = message;
71
85
  function messageByHttpStatus(status, gv) {
72
86
  var k = 'status_' + status;
73
- var msg = gv(k);
87
+ var msg = getString(k, gv);
74
88
  if (!msg || msg.length === 0) {
75
- msg = gv('error_internal');
89
+ msg = getString('error_internal', gv);
76
90
  }
77
91
  return msg;
78
92
  }
@@ -165,7 +179,11 @@ function error(err, gv, ae) {
165
179
  }
166
180
  }
167
181
  exports.error = error;
168
- function getModelName(form) {
182
+ function getName(d, n) {
183
+ return (n && n.length > 0 ? n : d);
184
+ }
185
+ exports.getName = getName;
186
+ function getModelName(form, name) {
169
187
  if (form) {
170
188
  var a = form.getAttribute('model-name');
171
189
  if (a && a.length > 0) {
@@ -179,30 +197,75 @@ function getModelName(form) {
179
197
  return b;
180
198
  }
181
199
  }
200
+ if (name && name.length > 0) {
201
+ return name;
202
+ }
182
203
  return '';
183
204
  }
184
205
  exports.getModelName = getModelName;
185
206
  exports.scrollToFocus = function (e, isUseTimeOut) {
186
207
  try {
187
208
  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);
209
+ var form = element.form;
210
+ if (form) {
211
+ var container_1 = form.childNodes[1];
212
+ var elementRect_1 = element.getBoundingClientRect();
213
+ var absoluteElementTop = elementRect_1.top + window.pageYOffset;
214
+ var middle_1 = absoluteElementTop - (window.innerHeight / 2);
215
+ var scrollTop_1 = container_1.scrollTop;
216
+ var timeOut = isUseTimeOut ? 300 : 0;
217
+ var isChrome_1 = navigator.userAgent.search('Chrome') > 0;
218
+ setTimeout(function () {
219
+ if (isChrome_1) {
220
+ var scrollPosition = scrollTop_1 === 0 ? (elementRect_1.top + 64) : (scrollTop_1 + middle_1);
221
+ container_1.scrollTo(0, Math.abs(scrollPosition));
222
+ }
223
+ else {
224
+ container_1.scrollTo(0, Math.abs(scrollTop_1 + middle_1));
225
+ }
226
+ }, timeOut);
227
+ }
204
228
  }
205
229
  catch (e) {
206
230
  console.log(e);
207
231
  }
208
232
  };
233
+ function showLoading(s) {
234
+ if (s) {
235
+ s.showLoading();
236
+ }
237
+ }
238
+ exports.showLoading = showLoading;
239
+ function hideLoading(s) {
240
+ if (s) {
241
+ s.hideLoading();
242
+ }
243
+ }
244
+ exports.hideLoading = hideLoading;
245
+ function getRemoveError(u, rmErr) {
246
+ if (rmErr) {
247
+ return rmErr;
248
+ }
249
+ return (u && u.ui ? u.ui.removeError : undefined);
250
+ }
251
+ exports.getRemoveError = getRemoveError;
252
+ function removeFormError(u, f) {
253
+ if (f && u && u.ui) {
254
+ u.ui.removeFormError(f);
255
+ }
256
+ }
257
+ exports.removeFormError = removeFormError;
258
+ function getValidateForm(u, vf) {
259
+ if (vf) {
260
+ return vf;
261
+ }
262
+ return (u && u.ui ? u.ui.validateForm : undefined);
263
+ }
264
+ exports.getValidateForm = getValidateForm;
265
+ function getDecodeFromForm(u, d) {
266
+ if (d) {
267
+ return d;
268
+ }
269
+ return (u && u.ui ? u.ui.decodeFromForm : undefined);
270
+ }
271
+ 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,24 @@ __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
+ };
27
+ exports.Loading = function (props) {
28
+ var loadingStyle = {
29
+ top: '30%',
30
+ backgroundColor: 'white',
31
+ border: 'none',
32
+ 'WebkitBoxShadow': 'none',
33
+ 'boxShadow': 'none'
34
+ };
35
+ if (props.error) {
36
+ return React.createElement('div', null, 'Error Load Module!');
37
+ }
38
+ else {
39
+ return (React.createElement('div', { className: 'loader-wrapper' }, React.createElement('div', { className: 'loader-sign', style: loadingStyle }, React.createElement('div', { className: 'loader' }))));
40
+ }
41
+ };
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,