intelicoreact 0.1.16 → 0.1.17
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.
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useFormTools;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = require("react");
|
|
19
|
+
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function useFormTools(_ref) {
|
|
25
|
+
var form = _ref.form,
|
|
26
|
+
setForm = _ref.setForm,
|
|
27
|
+
FormType = _ref.FormType,
|
|
28
|
+
FormFields = _ref.FormFields;
|
|
29
|
+
|
|
30
|
+
///////////////////////////////////////////////////////////////
|
|
31
|
+
//--- OnChange Observer ---//--- START ---//
|
|
32
|
+
var _useState = (0, _react.useState)({}),
|
|
33
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
34
|
+
onChangeObservers = _useState2[0],
|
|
35
|
+
setOnChangeObservers = _useState2[1];
|
|
36
|
+
|
|
37
|
+
var addOnChangeObserver = function addOnChangeObserver(key, cb) {
|
|
38
|
+
var observerId = null;
|
|
39
|
+
setOnChangeObservers(function (state) {
|
|
40
|
+
//Set Default Value
|
|
41
|
+
if (!state[key]) state[key] = {};
|
|
42
|
+
observerId = state[key].length;
|
|
43
|
+
state[key][observerId] = cb;
|
|
44
|
+
return state;
|
|
45
|
+
});
|
|
46
|
+
return observerId;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var removeOnChangeObserver = function removeOnChangeObserver(key, id) {
|
|
50
|
+
setOnChangeObservers(function (state) {
|
|
51
|
+
//Set Default Value
|
|
52
|
+
if (!state[key]) return state;
|
|
53
|
+
state[key] = Object.keys(state).filter(function (cbId) {
|
|
54
|
+
return cbId !== id;
|
|
55
|
+
}).map(function (cbId) {
|
|
56
|
+
return state[key][cbId];
|
|
57
|
+
});
|
|
58
|
+
return state;
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var onChangeObserver = function onChangeObserver(key, value) {
|
|
63
|
+
if (!onChangeObservers[key] || (0, _typeof2.default)(onChangeObservers[key]) !== 'object') return;
|
|
64
|
+
var Observers = onChangeObservers[key];
|
|
65
|
+
Object.values(Observers).map(function (cb) {
|
|
66
|
+
cb({
|
|
67
|
+
value: value,
|
|
68
|
+
form: form
|
|
69
|
+
});
|
|
70
|
+
return null;
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var onFieldChange = function onFieldChange(key, value) {
|
|
75
|
+
var _form$fields$key;
|
|
76
|
+
|
|
77
|
+
if (value === (form === null || form === void 0 ? void 0 : (_form$fields$key = form.fields[key]) === null || _form$fields$key === void 0 ? void 0 : _form$fields$key.value)) return false;
|
|
78
|
+
onChangeObserver(key, value);
|
|
79
|
+
setForm(function (form) {
|
|
80
|
+
return _objectSpread(_objectSpread({}, form), {}, {
|
|
81
|
+
fields: _objectSpread(_objectSpread({}, form.fields), {}, (0, _defineProperty2.default)({}, key, _objectSpread(_objectSpread({}, form.fields[key]), {}, {
|
|
82
|
+
error: '',
|
|
83
|
+
value: value
|
|
84
|
+
})))
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
}; //--- OnChange Observer ---//--- END ---//
|
|
88
|
+
///////////////////////////////////////////////////////////////
|
|
89
|
+
///////////////////////////////////////////////////////////////
|
|
90
|
+
//--- Form Submit Blocker ---//--- START ---//
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
var _useState3 = (0, _react.useState)([]),
|
|
94
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
95
|
+
formSubmitBlockers = _useState4[0],
|
|
96
|
+
setFormSubmitBlockers = _useState4[1];
|
|
97
|
+
|
|
98
|
+
var toggleFormSubmitBlock = function toggleFormSubmitBlock(key, value) {
|
|
99
|
+
setFormSubmitBlockers(function (state) {
|
|
100
|
+
return state.includes(key) || !value ? (0, _toConsumableArray2.default)(state.filter(function (k) {
|
|
101
|
+
return k !== key;
|
|
102
|
+
})) : [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
var clearFormSubmitBlockers = function clearFormSubmitBlockers() {
|
|
107
|
+
return setFormSubmitBlockers([]);
|
|
108
|
+
}; //--- Form Submit Blocker ---//--- END ---//
|
|
109
|
+
///////////////////////////////////////////////////////////////
|
|
110
|
+
///////////////////////////////////////////////////////////////
|
|
111
|
+
//--- Property Observer Blocker ---//--- START ---//
|
|
112
|
+
// const [propertyObservers, setPropertyObservers] = useState({});
|
|
113
|
+
// function addPropertyObserver () {
|
|
114
|
+
// };
|
|
115
|
+
//--- Property Observer Blocker ---//--- END ---//
|
|
116
|
+
///////////////////////////////////////////////////////////////
|
|
117
|
+
///////////////////////////////////////////////////////////////
|
|
118
|
+
//--- Render Fields Controller ---//--- START ---//
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
var _useState5 = (0, _react.useState)([]),
|
|
122
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
123
|
+
renderFormFields = _useState6[0],
|
|
124
|
+
setRenderFormFields = _useState6[1];
|
|
125
|
+
|
|
126
|
+
var addRenderFields = function addRenderFields(fields) {
|
|
127
|
+
setForm(function (state) {
|
|
128
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
129
|
+
fields: _objectSpread(_objectSpread({}, state.fields), fields.reduce(function (result, fieldKey) {
|
|
130
|
+
result[fieldKey] = FormFields[fieldKey];
|
|
131
|
+
return result;
|
|
132
|
+
}, {}))
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
setRenderFormFields(function (state) {
|
|
136
|
+
return [].concat((0, _toConsumableArray2.default)(state), (0, _toConsumableArray2.default)(fields));
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
var removeRenderFields = function removeRenderFields(fields) {
|
|
141
|
+
setRenderFormFields(function (state) {
|
|
142
|
+
return state.filter(function (field) {
|
|
143
|
+
return !fields.includes(field);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
}; //On Render Fields Change
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
(0, _react.useEffect)(function () {
|
|
150
|
+
//Add Form Fields
|
|
151
|
+
setForm(function (state) {
|
|
152
|
+
var fields = _objectSpread({}, state.fields);
|
|
153
|
+
|
|
154
|
+
renderFormFields.forEach(function (key) {
|
|
155
|
+
var _FormFields$key2;
|
|
156
|
+
|
|
157
|
+
if (!fields[key]) {
|
|
158
|
+
var _fields$key$className;
|
|
159
|
+
|
|
160
|
+
fields[key] = FormFields[key]; // eslint-disable-next-line no-use-before-define
|
|
161
|
+
|
|
162
|
+
if (!fields[key].className || ((_fields$key$className = fields[key].className) === null || _fields$key$className === void 0 ? void 0 : _fields$key$className.indexOf(getFieldClassName(key, FormType))) === -1) {
|
|
163
|
+
var _FormFields$key;
|
|
164
|
+
|
|
165
|
+
fields[key].className = "".concat((_FormFields$key = FormFields[key]) === null || _FormFields$key === void 0 ? void 0 : _FormFields$key.className, " ").concat(getFieldClassName(key, FormType));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if ((0, _typeof2.default)((_FormFields$key2 = FormFields[key]) === null || _FormFields$key2 === void 0 ? void 0 : _FormFields$key2.label) === 'object') {
|
|
170
|
+
fields[key].label = FormFields[key].label[FormType] || FormFields[key].label.default;
|
|
171
|
+
} // (node, key) => { refs.current[key] = node); }
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
fields[key].ref = /*#__PURE__*/(0, _react.createRef)();
|
|
175
|
+
});
|
|
176
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
177
|
+
fields: fields
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}, [renderFormFields]); //--- Render Fields Controller ---//--- END ---//
|
|
181
|
+
///////////////////////////////////////////////////////////////
|
|
182
|
+
///////////////////////////////////////////////////////////////
|
|
183
|
+
//--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//
|
|
184
|
+
|
|
185
|
+
var hightliteErrorLabels = function hightliteErrorLabels() {
|
|
186
|
+
var filtered = Object.keys(form.fields).reduce(function (result, field) {
|
|
187
|
+
var _form$fields$field;
|
|
188
|
+
|
|
189
|
+
if ((_form$fields$field = form.fields[field]) !== null && _form$fields$field !== void 0 && _form$fields$field.errorLabelHightlite) {
|
|
190
|
+
// eslint-disable-next-line no-use-before-define
|
|
191
|
+
result.push(_objectSpread(_objectSpread({}, form.fields[field]), {}, {
|
|
192
|
+
className: getFieldClassName(field, FormType)
|
|
193
|
+
}));
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return result;
|
|
197
|
+
}, []);
|
|
198
|
+
filtered.map(function (field) {
|
|
199
|
+
var formField = document.querySelector(".".concat(field === null || field === void 0 ? void 0 : field.className));
|
|
200
|
+
if (!formField) return null;
|
|
201
|
+
formField.classList.remove('errorLabelHightlite');
|
|
202
|
+
|
|
203
|
+
if (field !== null && field !== void 0 && field.error) {
|
|
204
|
+
formField.classList.add('errorLabelHightlite');
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return null;
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
(0, _react.useEffect)(function () {
|
|
212
|
+
hightliteErrorLabels();
|
|
213
|
+
}, [form]); //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- END ---//
|
|
214
|
+
///////////////////////////////////////////////////////////////
|
|
215
|
+
///////////////////////////////////////////////////////////////
|
|
216
|
+
//--- Fields Focus Controller ---//--- START ---//
|
|
217
|
+
|
|
218
|
+
var _useState7 = (0, _react.useState)(false),
|
|
219
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
220
|
+
isInitFocused = _useState8[0],
|
|
221
|
+
setIsInitFocused = _useState8[1];
|
|
222
|
+
|
|
223
|
+
var initFocused = function initFocused() {
|
|
224
|
+
return setIsInitFocused(true);
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
var resetIsInitFocused = function resetIsInitFocused() {
|
|
228
|
+
return setIsInitFocused(false);
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
var setFieldFocus = function setFieldFocus(_ref2) {
|
|
232
|
+
var key = _ref2.key,
|
|
233
|
+
_ref2$cb = _ref2.cb,
|
|
234
|
+
cb = _ref2$cb === void 0 ? function () {} : _ref2$cb,
|
|
235
|
+
argForm = _ref2.form;
|
|
236
|
+
if (!key) return null;
|
|
237
|
+
if (!argForm) argForm = form;
|
|
238
|
+
var formField = argForm.fields[key];
|
|
239
|
+
|
|
240
|
+
if (!formField || !formField.ref) {
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
setTimeout(function () {
|
|
245
|
+
formField.ref.current.querySelector((formField === null || formField === void 0 ? void 0 : formField.focusSelector) || 'input').focus();
|
|
246
|
+
cb();
|
|
247
|
+
}, 1);
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
var setFirstFieldFocus = function setFirstFieldFocus() {
|
|
251
|
+
var _renderFormFields = (0, _slicedToArray2.default)(renderFormFields, 1),
|
|
252
|
+
firstField = _renderFormFields[0];
|
|
253
|
+
|
|
254
|
+
setFieldFocus({
|
|
255
|
+
key: firstField,
|
|
256
|
+
cb: initFocused,
|
|
257
|
+
form: form
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
var _useState9 = (0, _react.useState)([]),
|
|
262
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
263
|
+
focusOnRenderFields = _useState10[0],
|
|
264
|
+
setFocusOnRenderFields = _useState10[1];
|
|
265
|
+
|
|
266
|
+
var addFocusFieldOnRender = function addFocusFieldOnRender(key) {
|
|
267
|
+
setFocusOnRenderFields(function (state) {
|
|
268
|
+
return [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
269
|
+
});
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
var removeFocusFieldOnRender = function removeFocusFieldOnRender(key) {
|
|
273
|
+
setFocusOnRenderFields(function (state) {
|
|
274
|
+
return state.filter(function (field) {
|
|
275
|
+
return field !== key;
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
(0, _react.useEffect)(function () {
|
|
281
|
+
Object.keys(form === null || form === void 0 ? void 0 : form.fields).map(function (field) {
|
|
282
|
+
if (focusOnRenderFields.includes(field)) {
|
|
283
|
+
setFieldFocus({
|
|
284
|
+
key: field,
|
|
285
|
+
form: form,
|
|
286
|
+
cb: function cb() {
|
|
287
|
+
return removeFocusFieldOnRender(field);
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
return null;
|
|
293
|
+
});
|
|
294
|
+
}, [form.fields]); //--- Fields Focus Controller ---//--- END ---//
|
|
295
|
+
///////////////////////////////////////////////////////////////
|
|
296
|
+
///////////////////////////////////////////////////////////////
|
|
297
|
+
//--- OnFieldRendered Observer ---//--- START ---//
|
|
298
|
+
|
|
299
|
+
var _useState11 = (0, _react.useState)({}),
|
|
300
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
301
|
+
onFieldRenderedObservers = _useState12[0],
|
|
302
|
+
setOnFieldRenderedObservers = _useState12[1];
|
|
303
|
+
|
|
304
|
+
var _useState13 = (0, _react.useState)([]),
|
|
305
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
306
|
+
workedOutFieldRenderedObservers = _useState14[0],
|
|
307
|
+
setWorkedOutFieldRenderedObservers = _useState14[1];
|
|
308
|
+
|
|
309
|
+
var addWorkedOutField = function addWorkedOutField(key) {
|
|
310
|
+
return setWorkedOutFieldRenderedObservers(function (state) {
|
|
311
|
+
return [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
312
|
+
});
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
var addOnFieldRenderedObserver = function addOnFieldRenderedObserver(key, cb) {
|
|
316
|
+
var isOnceCallable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
317
|
+
var observerId = null;
|
|
318
|
+
setOnFieldRenderedObservers(function (state) {
|
|
319
|
+
//Set Default Value
|
|
320
|
+
if (!state[key]) state[key] = {};
|
|
321
|
+
observerId = Object.keys(state[key]).length || 0;
|
|
322
|
+
state[key][observerId] = {
|
|
323
|
+
f: cb,
|
|
324
|
+
isOnceCallable: isOnceCallable
|
|
325
|
+
};
|
|
326
|
+
return state;
|
|
327
|
+
});
|
|
328
|
+
return observerId;
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
var removeOnFieldRenderedObserver = function removeOnFieldRenderedObserver(key, id) {
|
|
332
|
+
setOnFieldRenderedObservers(function (state) {
|
|
333
|
+
//Set Default Value
|
|
334
|
+
if (!state[key]) return state;
|
|
335
|
+
state[key] = Object.keys(state).filter(function (cbId) {
|
|
336
|
+
return cbId !== id;
|
|
337
|
+
}).map(function (cbId) {
|
|
338
|
+
return state[key][cbId];
|
|
339
|
+
});
|
|
340
|
+
return state;
|
|
341
|
+
});
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
var onFieldRenderedObserver = function onFieldRenderedObserver(key) {
|
|
345
|
+
if (!onFieldRenderedObservers[key] || (0, _typeof2.default)(onFieldRenderedObservers[key]) !== 'object') return;
|
|
346
|
+
var Observers = onFieldRenderedObservers[key];
|
|
347
|
+
Object.values(Observers).map(function (_ref3) {
|
|
348
|
+
var f = _ref3.f,
|
|
349
|
+
isOnceCallable = _ref3.isOnceCallable;
|
|
350
|
+
f();
|
|
351
|
+
if (isOnceCallable) addWorkedOutField(key);
|
|
352
|
+
return null;
|
|
353
|
+
});
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
(0, _react.useEffect)(function () {
|
|
357
|
+
Object.keys(form.fields).map(function (key) {
|
|
358
|
+
//OnFieldRendered
|
|
359
|
+
if (!workedOutFieldRenderedObservers.includes(key)) onFieldRenderedObserver(key);
|
|
360
|
+
return null;
|
|
361
|
+
});
|
|
362
|
+
}, [form.fields]); //--- OnFieldRendered Observer ---//--- END ---//
|
|
363
|
+
///////////////////////////////////////////////////////////////
|
|
364
|
+
///////////////////////////////////////////////////////////////
|
|
365
|
+
|
|
366
|
+
var getFieldClassName = function getFieldClassName(key, type) {
|
|
367
|
+
return "form-".concat(type, "_field-").concat(key);
|
|
368
|
+
}; //Detect What Changed || TRY TO DO
|
|
369
|
+
// const compare = async (prev, current) => {
|
|
370
|
+
// if (!prev) return current;
|
|
371
|
+
// return new Promise((resolve) => {
|
|
372
|
+
// Object.keys(current).reduce((result, key, i, arr) => {
|
|
373
|
+
// //If PROPERTY is NOT EXISTS BEFORE
|
|
374
|
+
// if ([null, undefined].includes(prev[key])) {
|
|
375
|
+
// result[key] = current[key];
|
|
376
|
+
// }
|
|
377
|
+
// //If PROPERTY is AN OBJECT
|
|
378
|
+
// else if (typeof current[key] === 'object') {
|
|
379
|
+
// //If PROPERTY is EXISTS BEFORE
|
|
380
|
+
// const innerCompare = compare(prev[key], current[key]);
|
|
381
|
+
// // //If SOMETHING CHANGED
|
|
382
|
+
// if (innerCompare?.length) result[key] = innerCompare;
|
|
383
|
+
// }
|
|
384
|
+
// //If PROPERTY is AN SIMPLE VALUE and PROPERTY CHANGED
|
|
385
|
+
// else if (prev[key] !== current[key]) {
|
|
386
|
+
// result[key] = current[key];
|
|
387
|
+
// }
|
|
388
|
+
// if (i === arr.length-1) {
|
|
389
|
+
// resolve(result);
|
|
390
|
+
// }
|
|
391
|
+
// return result;
|
|
392
|
+
// }, {});
|
|
393
|
+
// });
|
|
394
|
+
// };
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
return {
|
|
398
|
+
//OnChangeObserver
|
|
399
|
+
addOnChangeObserver: addOnChangeObserver,
|
|
400
|
+
removeOnChangeObserver: removeOnChangeObserver,
|
|
401
|
+
onChangeObservers: onChangeObservers,
|
|
402
|
+
//OnChangeHandler
|
|
403
|
+
onFieldChange: onFieldChange,
|
|
404
|
+
//Form Submit Blocker
|
|
405
|
+
toggleFormSubmitBlock: toggleFormSubmitBlock,
|
|
406
|
+
clearFormSubmitBlockers: clearFormSubmitBlockers,
|
|
407
|
+
isFormSubmitBlocked: Boolean(formSubmitBlockers.length),
|
|
408
|
+
//Property Observers
|
|
409
|
+
// addPropertyObserver,
|
|
410
|
+
//Render Fields
|
|
411
|
+
renderFormFields: renderFormFields,
|
|
412
|
+
setRenderFormFields: setRenderFormFields,
|
|
413
|
+
addRenderFields: addRenderFields,
|
|
414
|
+
removeRenderFields: removeRenderFields,
|
|
415
|
+
getFieldClassName: getFieldClassName,
|
|
416
|
+
//Field Focus Controller
|
|
417
|
+
isInitFocused: isInitFocused,
|
|
418
|
+
initFocused: initFocused,
|
|
419
|
+
resetIsInitFocused: resetIsInitFocused,
|
|
420
|
+
setFieldFocus: setFieldFocus,
|
|
421
|
+
setFirstFieldFocus: setFirstFieldFocus,
|
|
422
|
+
addFocusFieldOnRender: addFocusFieldOnRender,
|
|
423
|
+
removeFocusFieldOnRender: removeFocusFieldOnRender,
|
|
424
|
+
//Field Render Controller
|
|
425
|
+
addOnFieldRenderedObserver: addOnFieldRenderedObserver,
|
|
426
|
+
removeOnFieldRenderedObserver: removeOnFieldRenderedObserver,
|
|
427
|
+
onFieldRenderedObservers: onFieldRenderedObservers
|
|
428
|
+
};
|
|
429
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useLocationParams;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
+
|
|
20
|
+
function useLocationParams() {
|
|
21
|
+
var _useState = (0, _react.useState)({}),
|
|
22
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
23
|
+
params = _useState2[0],
|
|
24
|
+
setParams = _useState2[1];
|
|
25
|
+
|
|
26
|
+
(0, _react.useEffect)(function () {
|
|
27
|
+
setParams(function (state) {
|
|
28
|
+
var arr = window.location.search.replace('?', '').split('&');
|
|
29
|
+
return _objectSpread(_objectSpread({}, state), arr.reduce(function (obj, item) {
|
|
30
|
+
var keyVal = item.split('=');
|
|
31
|
+
var key = keyVal[0];
|
|
32
|
+
var value = keyVal[1];
|
|
33
|
+
return _objectSpread(_objectSpread({}, obj), {}, (0, _defineProperty2.default)({}, key, value));
|
|
34
|
+
}, {}));
|
|
35
|
+
});
|
|
36
|
+
}, [window.location.search]);
|
|
37
|
+
return params;
|
|
38
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "intelicoreact",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "add
|
|
3
|
+
"version": "0.1.17",
|
|
4
|
+
"description": "add useFormTools hook",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": ["dist/*", "node_modules/anme/*", "node_modules/moment/*", "node_modules/moment-timezone/*"],
|
|
7
7
|
"scripts": {
|