intelicoreact 1.4.81 → 1.4.83
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/dist/Atomic/FormElements/ActionAlert/ActionAlert.js +13 -13
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +12 -13
- package/dist/Atomic/FormElements/Calendar/Calendar.js +103 -68
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +26 -26
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +27 -23
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +201 -114
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +69 -46
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +301 -230
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +2 -4
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +201 -145
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +54 -41
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +112 -45
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +63 -34
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +153 -81
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +59 -57
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +98 -66
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +48 -27
- package/dist/Atomic/FormElements/Input/Input.js +209 -148
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +77 -50
- package/dist/Atomic/FormElements/InputColor/InputColor.js +28 -23
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +53 -38
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +139 -106
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +38 -31
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +230 -135
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +122 -85
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -10
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +159 -72
- package/dist/Atomic/FormElements/InputLink/InputLink.js +39 -30
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +8 -8
- package/dist/Atomic/FormElements/InputMask/InputMask.js +800 -521
- package/dist/Atomic/FormElements/InputMask/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask/functions.js +15 -15
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +294 -234
- package/dist/Atomic/FormElements/InputMask2/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask2/functions.js +15 -15
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +332 -265
- package/dist/Atomic/FormElements/InputMask3/config.js +1 -1
- package/dist/Atomic/FormElements/InputMask3/functions.js +15 -15
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +101 -53
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +99 -64
- package/dist/Atomic/FormElements/Label/Label.js +15 -13
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +284 -190
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +34 -24
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +170 -117
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +50 -28
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +29 -18
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +24 -22
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +31 -19
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +83 -56
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +75 -49
- package/dist/Atomic/FormElements/RangeList/RangeList.js +129 -87
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +18 -22
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +250 -143
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +477 -367
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +15 -14
- package/dist/Atomic/FormElements/Switcher/Switcher.js +20 -24
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +30 -24
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +23 -20
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +40 -32
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +31 -25
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +22 -22
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +98 -52
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +34 -22
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +81 -47
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +525 -415
- package/dist/Atomic/FormElements/Text/Text.js +39 -39
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +23 -21
- package/dist/Atomic/FormElements/Textarea/Textarea.js +33 -28
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +98 -67
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +24 -22
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +57 -34
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +94 -56
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +102 -74
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +69 -50
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +33 -30
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +50 -38
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +1 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +59 -47
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +1 -1
- package/dist/Atomic/Layout/Header/Header.js +37 -22
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +59 -34
- package/dist/Atomic/Layout/Spinner/Spinner.js +6 -7
- package/dist/Atomic/UI/Accordion/Accordion.js +31 -17
- package/dist/Atomic/UI/Accordion/AccordionItem.js +41 -30
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +81 -50
- package/dist/Atomic/UI/AccordionText/AccordionText.js +39 -20
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +74 -46
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +37 -21
- package/dist/Atomic/UI/Alert/Alert.js +36 -23
- package/dist/Atomic/UI/Arrow/Arrow.js +21 -14
- package/dist/Atomic/UI/Box/Box.js +12 -11
- package/dist/Atomic/UI/Button/Button.js +26 -26
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +21 -21
- package/dist/Atomic/UI/Chart/Chart.js +60 -44
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +13 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +10 -12
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +82 -60
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +124 -116
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +30 -18
- package/dist/Atomic/UI/Chart/partial/utils.js +30 -16
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +31 -21
- package/dist/Atomic/UI/DateTime/DateTime.js +29 -25
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +23 -11
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +12 -4
- package/dist/Atomic/UI/DoubleString/DoubleString.js +53 -36
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +55 -14
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +114 -54
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +88 -53
- package/dist/Atomic/UI/Hint/Hint.js +87 -58
- package/dist/Atomic/UI/Hint/partials/_utils.js +10 -10
- package/dist/Atomic/UI/Modal/Modal.js +159 -144
- package/dist/Atomic/UI/Modal/ModalHOC.js +17 -14
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +5 -6
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +13 -16
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +118 -73
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +48 -33
- package/dist/Atomic/UI/NavLine/NavLine.js +166 -104
- package/dist/Atomic/UI/PageTitle/PageTitle.js +8 -12
- package/dist/Atomic/UI/PieChart/PieChart.js +11 -10
- package/dist/Atomic/UI/Price/Price.js +5 -7
- package/dist/Atomic/UI/PriceRange/PriceRange.js +4 -6
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +42 -27
- package/dist/Atomic/UI/Status/Status.js +22 -18
- package/dist/Atomic/UI/Table/Partials/TdCell.js +47 -28
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +5 -6
- package/dist/Atomic/UI/Table/Partials/TdRow.js +53 -29
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +28 -15
- package/dist/Atomic/UI/Table/Table.js +36 -27
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +32 -18
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +10 -8
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +2 -4
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +26 -21
- package/dist/Atomic/UI/Tag/Tag.js +72 -52
- package/dist/Atomic/UI/TagList/TagList.js +102 -65
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -13
- package/dist/Atomic/UI/WizardStepper/constructor.js +6 -6
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +16 -20
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +25 -27
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +27 -22
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +41 -39
- package/dist/Classes/AbortableFetch.js +393 -311
- package/dist/Classes/AnimatedHandler.js +53 -45
- package/dist/Classes/RESTAPI/index.js +431 -152
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +400 -320
- package/dist/Classes/RESTAPI/partials/ApiBase.js +59 -24
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +338 -76
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +378 -143
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +375 -159
- package/dist/Classes/RESTAPI/partials/Utils.js +128 -87
- package/dist/Classes/RESTAPI/partials/_utils.js +388 -116
- package/dist/Constants/index.constants.js +7 -7
- package/dist/Functions/Portal.js +19 -11
- package/dist/Functions/customEventListener.js +7 -5
- package/dist/Functions/fieldValueFormatters.js +131 -109
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +128 -69
- package/dist/Functions/locale/createTranslator.js +21 -11
- package/dist/Functions/operations.js +27 -23
- package/dist/Functions/presets/inputMaskPreset.js +176 -0
- package/dist/Functions/presets/inputMaskPresets.js +17 -17
- package/dist/Functions/presets/inputPresets.js +15 -15
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +3 -3
- package/dist/Functions/schemas.js +7 -5
- package/dist/Functions/useBodyScrollLock.js +3 -3
- package/dist/Functions/useClickOutside.js +3 -3
- package/dist/Functions/useDebounce.js +20 -11
- package/dist/Functions/useFieldFocus.js +51 -38
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +46 -36
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +78 -68
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +81 -54
- package/dist/Functions/useFormTools/functions/General.js +80 -71
- package/dist/Functions/useFormTools/functions/RenderFields.js +63 -45
- package/dist/Functions/useFormTools/functions/usePrevious.js +2 -2
- package/dist/Functions/useFormTools/index.js +467 -314
- package/dist/Functions/useInputHighlightError.js +42 -26
- package/dist/Functions/useIsMobile.js +29 -11
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +8 -9
- package/dist/Functions/useKeyPress/useKeyPress.js +26 -17
- package/dist/Functions/useLocalStorage.js +13 -6
- package/dist/Functions/useLocationParams.js +24 -14
- package/dist/Functions/useMediaQuery.js +18 -7
- package/dist/Functions/useMetaInfo.js +40 -16
- package/dist/Functions/useMouseUpOutside.js +2 -2
- package/dist/Functions/useOnlineStatus.js +17 -6
- package/dist/Functions/usePasswordChecker.js +61 -42
- package/dist/Functions/usePrevious.js +2 -2
- package/dist/Functions/useResize.js +24 -12
- package/dist/Functions/useScrollTo.js +13 -4
- package/dist/Functions/useToggle.js +25 -9
- package/dist/Functions/utils.js +272 -147
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +27 -23
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +27 -23
- package/dist/Molecular/CustomIcons/components/AppStore.js +31 -27
- package/dist/Molecular/CustomIcons/components/Arrow.js +37 -33
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +19 -15
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +22 -18
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +22 -18
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +19 -15
- package/dist/Molecular/CustomIcons/components/Bell.js +17 -13
- package/dist/Molecular/CustomIcons/components/Button.js +17 -13
- package/dist/Molecular/CustomIcons/components/Campaigns.js +18 -14
- package/dist/Molecular/CustomIcons/components/Check.js +18 -14
- package/dist/Molecular/CustomIcons/components/Check2.js +17 -13
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +17 -13
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +17 -13
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +17 -13
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +17 -13
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +17 -13
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +32 -28
- package/dist/Molecular/CustomIcons/components/Close.js +19 -15
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +44 -40
- package/dist/Molecular/CustomIcons/components/Delete.js +18 -14
- package/dist/Molecular/CustomIcons/components/Edit.js +17 -13
- package/dist/Molecular/CustomIcons/components/Email.js +35 -31
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +25 -21
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +33 -29
- package/dist/Molecular/CustomIcons/components/Flows.js +17 -13
- package/dist/Molecular/CustomIcons/components/Gift.js +22 -18
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +31 -27
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +31 -27
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +20 -16
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +21 -17
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +20 -16
- package/dist/Molecular/CustomIcons/components/Home.js +20 -16
- package/dist/Molecular/CustomIcons/components/Home2.js +23 -19
- package/dist/Molecular/CustomIcons/components/Key.js +25 -21
- package/dist/Molecular/CustomIcons/components/Landers.js +21 -17
- package/dist/Molecular/CustomIcons/components/Lock.js +17 -13
- package/dist/Molecular/CustomIcons/components/Mail.js +25 -21
- package/dist/Molecular/CustomIcons/components/Mastercard.js +65 -61
- package/dist/Molecular/CustomIcons/components/Minus.js +30 -26
- package/dist/Molecular/CustomIcons/components/Offers.js +18 -14
- package/dist/Molecular/CustomIcons/components/Pause.js +30 -26
- package/dist/Molecular/CustomIcons/components/PayPal.js +44 -40
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +31 -27
- package/dist/Molecular/CustomIcons/components/Phone.js +32 -28
- package/dist/Molecular/CustomIcons/components/Play.js +30 -26
- package/dist/Molecular/CustomIcons/components/Plus.js +30 -26
- package/dist/Molecular/CustomIcons/components/Profile.js +22 -18
- package/dist/Molecular/CustomIcons/components/QRCode.js +32 -28
- package/dist/Molecular/CustomIcons/components/Rectangle.js +17 -13
- package/dist/Molecular/CustomIcons/components/Revert.js +20 -16
- package/dist/Molecular/CustomIcons/components/Star.js +14 -10
- package/dist/Molecular/CustomIcons/components/Star2.js +18 -14
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +20 -16
- package/dist/Molecular/CustomIcons/components/Trash.js +17 -13
- package/dist/Molecular/CustomIcons/components/TrashRed.js +17 -13
- package/dist/Molecular/CustomIcons/components/Triggers.js +17 -13
- package/dist/Molecular/CustomIcons/components/User.js +22 -18
- package/dist/Molecular/CustomIcons/components/Visa.js +33 -29
- package/dist/Molecular/CustomIcons/components/X.js +17 -13
- package/dist/Molecular/CustomIcons/index.js +61 -61
- package/dist/Molecular/FormElement/FormElement.js +17 -19
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +93 -73
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +27 -28
- package/dist/Molecular/InputAddress/InputAddress.js +213 -126
- package/dist/Molecular/InputPassword/InputPassword.js +23 -13
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = useFormTools;
|
|
9
9
|
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
+
|
|
18
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
+
|
|
20
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
+
|
|
10
22
|
var _react = require("react");
|
|
11
23
|
|
|
12
24
|
var _ArrayWithObjects = _interopRequireDefault(require("./form-drivers/ArrayWithObjects"));
|
|
@@ -15,31 +27,36 @@ var _ObjectWithIterableObjects = _interopRequireDefault(require("./form-drivers/
|
|
|
15
27
|
|
|
16
28
|
var _ObjectWithNamedKeyObjects = _interopRequireDefault(require("./form-drivers/ObjectWithNamedKeyObjects"));
|
|
17
29
|
|
|
18
|
-
var
|
|
30
|
+
var _General2 = _interopRequireDefault(require("./functions/General"));
|
|
19
31
|
|
|
20
32
|
var _RenderFields = _interopRequireDefault(require("./functions/RenderFields"));
|
|
21
33
|
|
|
22
|
-
|
|
23
|
-
|
|
34
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
35
|
+
|
|
36
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
|
+
|
|
38
|
+
var DefaultFocusControllerProps = {
|
|
24
39
|
setAutoFocus: true,
|
|
25
40
|
onlyEmptyFieldAutoFocus: false
|
|
26
41
|
};
|
|
27
42
|
|
|
28
43
|
function useFormTools() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
45
|
+
form = _ref.form,
|
|
46
|
+
setForm = _ref.setForm,
|
|
47
|
+
FormType = _ref.FormType,
|
|
48
|
+
FormFields = _ref.FormFields,
|
|
49
|
+
_ref$FormDataDriverNa = _ref.FormDataDriverName,
|
|
50
|
+
FormDataDriverName = _ref$FormDataDriverNa === void 0 ? "ArrayWithObjects" || "ObjectWithIterableObjects" || "ObjectWithNamedKeyObjects" : _ref$FormDataDriverNa,
|
|
51
|
+
_ref$FormDataDriver = _ref.FormDataDriver,
|
|
52
|
+
FormDataDriver = _ref$FormDataDriver === void 0 ? null : _ref$FormDataDriver,
|
|
53
|
+
_ref$FocusControllerP = _ref.FocusControllerProps,
|
|
54
|
+
FocusControllerProps = _ref$FocusControllerP === void 0 ? DefaultFocusControllerProps : _ref$FocusControllerP,
|
|
55
|
+
_ref$goToNextFieldOnE = _ref.goToNextFieldOnEnterPressed,
|
|
56
|
+
goToNextFieldOnEnterPressed = _ref$goToNextFieldOnE === void 0 ? true : _ref$goToNextFieldOnE;
|
|
57
|
+
|
|
58
|
+
FocusControllerProps = _objectSpread(_objectSpread({}, DefaultFocusControllerProps), FocusControllerProps);
|
|
59
|
+
var FormDataDrivers = {
|
|
43
60
|
ArrayWithObjects: {
|
|
44
61
|
handlers: _ArrayWithObjects.default,
|
|
45
62
|
default: true
|
|
@@ -52,46 +69,53 @@ function useFormTools() {
|
|
|
52
69
|
}
|
|
53
70
|
};
|
|
54
71
|
|
|
55
|
-
|
|
72
|
+
var getFormDataDriver = function getFormDataDriver(name) {
|
|
56
73
|
var _FormDataDrivers$name, _Object$values$find;
|
|
57
74
|
|
|
58
|
-
return FormDataDriver || ((_FormDataDrivers$name = FormDataDrivers[name]) === null || _FormDataDrivers$name === void 0 ? void 0 : _FormDataDrivers$name.handlers) || ((_Object$values$find = Object.values(FormDataDrivers).find(
|
|
75
|
+
return FormDataDriver || ((_FormDataDrivers$name = FormDataDrivers[name]) === null || _FormDataDrivers$name === void 0 ? void 0 : _FormDataDrivers$name.handlers) || ((_Object$values$find = Object.values(FormDataDrivers).find(function (df) {
|
|
76
|
+
return df.default === true;
|
|
77
|
+
})) === null || _Object$values$find === void 0 ? void 0 : _Object$values$find.handlers) || function () {
|
|
78
|
+
return {};
|
|
79
|
+
};
|
|
59
80
|
};
|
|
60
81
|
|
|
61
|
-
|
|
82
|
+
var getFormDataDriverInstance = function getFormDataDriverInstance(name) {
|
|
62
83
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
63
84
|
args[_key - 1] = arguments[_key];
|
|
64
85
|
}
|
|
65
86
|
|
|
66
|
-
return getFormDataDriver(name)(
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}); ///////////////////////////////////////////////////////////////
|
|
87
|
+
return getFormDataDriver(name).apply(void 0, args);
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
var _General = (0, _General2.default)(),
|
|
91
|
+
getFieldClassName = _General.getFieldClassName,
|
|
92
|
+
updateFormField = _General.updateFormField;
|
|
93
|
+
|
|
94
|
+
var _getFormDataDriverIns = getFormDataDriverInstance(FormDataDriverName, {
|
|
95
|
+
form: form,
|
|
96
|
+
setForm: setForm,
|
|
97
|
+
FormFields: FormFields
|
|
98
|
+
}),
|
|
99
|
+
getFieldData = _getFormDataDriverIns.getFieldData,
|
|
100
|
+
getFormField = _getFormDataDriverIns.getFormField,
|
|
101
|
+
setFormFields = _getFormDataDriverIns.setFormFields,
|
|
102
|
+
_setFormField = _getFormDataDriverIns.setFormField,
|
|
103
|
+
getFormFieldsAsArray = _getFormDataDriverIns.getFormFieldsAsArray,
|
|
104
|
+
getFormFieldsKeys = _getFormDataDriverIns.getFormFieldsKeys,
|
|
105
|
+
removeAllFormFields = _getFormDataDriverIns.removeAllFormFields,
|
|
106
|
+
removeFormField = _getFormDataDriverIns.removeFormField,
|
|
107
|
+
removeFormFields = _getFormDataDriverIns.removeFormFields; ///////////////////////////////////////////////////////////////
|
|
88
108
|
//--- OnChange Observer ---//--- START ---//
|
|
89
109
|
|
|
90
|
-
const [onChangeObservers, setOnChangeObservers] = (0, _react.useState)({});
|
|
91
110
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
111
|
+
var _useState = (0, _react.useState)({}),
|
|
112
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
113
|
+
onChangeObservers = _useState2[0],
|
|
114
|
+
setOnChangeObservers = _useState2[1];
|
|
115
|
+
|
|
116
|
+
var addOnChangeObserver = function addOnChangeObserver(key, cb) {
|
|
117
|
+
var observerId = null;
|
|
118
|
+
setOnChangeObservers(function (state) {
|
|
95
119
|
//Set Default Value
|
|
96
120
|
if (!state[key]) state[key] = {};
|
|
97
121
|
observerId = state[key].length;
|
|
@@ -101,49 +125,65 @@ function useFormTools() {
|
|
|
101
125
|
return observerId;
|
|
102
126
|
};
|
|
103
127
|
|
|
104
|
-
|
|
105
|
-
setOnChangeObservers(state
|
|
128
|
+
var removeOnChangeObserver = function removeOnChangeObserver(key, id) {
|
|
129
|
+
setOnChangeObservers(function (state) {
|
|
106
130
|
//Set Default Value
|
|
107
131
|
if (!state[key]) return state;
|
|
108
|
-
state[key] = Object.keys(state).filter(
|
|
132
|
+
state[key] = Object.keys(state).filter(function (cbId) {
|
|
133
|
+
return cbId !== id;
|
|
134
|
+
}).map(function (cbId) {
|
|
135
|
+
return state[key][cbId];
|
|
136
|
+
});
|
|
109
137
|
return state;
|
|
110
138
|
});
|
|
111
139
|
};
|
|
112
140
|
|
|
113
|
-
|
|
114
|
-
if (!onChangeObservers[key] ||
|
|
115
|
-
|
|
116
|
-
Object.values(Observers).map(cb
|
|
141
|
+
var onChangeObserver = function onChangeObserver(key, value) {
|
|
142
|
+
if (!onChangeObservers[key] || (0, _typeof2.default)(onChangeObservers[key]) !== "object") return;
|
|
143
|
+
var Observers = onChangeObservers[key];
|
|
144
|
+
Object.values(Observers).map(function (cb) {
|
|
117
145
|
cb({
|
|
118
|
-
value,
|
|
119
|
-
form
|
|
146
|
+
value: value,
|
|
147
|
+
form: form
|
|
120
148
|
});
|
|
121
149
|
return null;
|
|
122
150
|
});
|
|
123
151
|
};
|
|
124
152
|
|
|
125
|
-
|
|
153
|
+
var onFieldChange = function onFieldChange(key, value) {
|
|
126
154
|
var _getFormField;
|
|
127
155
|
|
|
128
156
|
if (value === ((_getFormField = getFormField(key)) === null || _getFormField === void 0 ? void 0 : _getFormField.value)) return false;
|
|
129
157
|
onChangeObserver(key, value);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
158
|
+
|
|
159
|
+
_setFormField(function (field) {
|
|
160
|
+
return _objectSpread(_objectSpread({}, field), {}, {
|
|
161
|
+
error: "",
|
|
162
|
+
value: value
|
|
163
|
+
});
|
|
164
|
+
}, key);
|
|
134
165
|
}; //--- OnChange Observer ---//--- END ---//
|
|
135
166
|
///////////////////////////////////////////////////////////////
|
|
136
167
|
///////////////////////////////////////////////////////////////
|
|
137
168
|
//--- Form Submit Blocker ---//--- START ---//
|
|
138
169
|
|
|
139
170
|
|
|
140
|
-
|
|
171
|
+
var _useState3 = (0, _react.useState)([]),
|
|
172
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
173
|
+
formSubmitBlockers = _useState4[0],
|
|
174
|
+
setFormSubmitBlockers = _useState4[1];
|
|
141
175
|
|
|
142
|
-
|
|
143
|
-
setFormSubmitBlockers(
|
|
176
|
+
var toggleFormSubmitBlock = function toggleFormSubmitBlock(key, value) {
|
|
177
|
+
setFormSubmitBlockers(function (state) {
|
|
178
|
+
return state.includes(key) || !value ? (0, _toConsumableArray2.default)(state.filter(function (k) {
|
|
179
|
+
return k !== key;
|
|
180
|
+
})) : [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
181
|
+
});
|
|
144
182
|
};
|
|
145
183
|
|
|
146
|
-
|
|
184
|
+
var clearFormSubmitBlockers = function clearFormSubmitBlockers() {
|
|
185
|
+
return setFormSubmitBlockers([]);
|
|
186
|
+
}; //--- Form Submit Blocker ---//--- END ---//
|
|
147
187
|
///////////////////////////////////////////////////////////////
|
|
148
188
|
///////////////////////////////////////////////////////////////
|
|
149
189
|
//--- Property Observer Blocker ---//--- START ---//
|
|
@@ -156,10 +196,17 @@ function useFormTools() {
|
|
|
156
196
|
//--- Render Fields Controller ---//--- START ---//
|
|
157
197
|
|
|
158
198
|
|
|
159
|
-
|
|
160
|
-
|
|
199
|
+
var _useState5 = (0, _react.useState)(false),
|
|
200
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
201
|
+
isFormFieldsAdded = _useState6[0],
|
|
202
|
+
setIsFormFieldsAdded = _useState6[1];
|
|
203
|
+
|
|
204
|
+
var _useState7 = (0, _react.useState)([]),
|
|
205
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
206
|
+
renderFormFields = _useState8[0],
|
|
207
|
+
setRenderFormFieldsState = _useState8[1];
|
|
161
208
|
|
|
162
|
-
|
|
209
|
+
var setRenderFormFields = function setRenderFormFields(data) {
|
|
163
210
|
setIsFormFieldsAdded(true); // eslint-disable-next-line no-use-before-define
|
|
164
211
|
|
|
165
212
|
removeRenderFields(renderFormFields); // eslint-disable-next-line no-use-before-define
|
|
@@ -168,48 +215,104 @@ function useFormTools() {
|
|
|
168
215
|
setRenderFormFieldsState(data);
|
|
169
216
|
};
|
|
170
217
|
|
|
171
|
-
|
|
172
|
-
setRenderFormFieldsState(
|
|
218
|
+
var addRenderFields = function addRenderFields(fields) {
|
|
219
|
+
setRenderFormFieldsState(function (state) {
|
|
220
|
+
return [].concat((0, _toConsumableArray2.default)(state), (0, _toConsumableArray2.default)(fields));
|
|
221
|
+
});
|
|
173
222
|
};
|
|
174
223
|
|
|
175
|
-
|
|
176
|
-
setRenderFormFieldsState(
|
|
224
|
+
var removeRenderFields = function removeRenderFields(fields) {
|
|
225
|
+
setRenderFormFieldsState(function (state) {
|
|
226
|
+
return state.filter(function (field) {
|
|
227
|
+
return !fields.includes(field);
|
|
228
|
+
});
|
|
229
|
+
});
|
|
177
230
|
};
|
|
178
231
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
232
|
+
var _useState9 = (0, _react.useState)(false),
|
|
233
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
234
|
+
isFormRendered = _useState10[0],
|
|
235
|
+
setIsFormRendered = _useState10[1];
|
|
182
236
|
|
|
183
|
-
|
|
237
|
+
var submitIsFormRendered = function submitIsFormRendered() {
|
|
238
|
+
return setIsFormRendered(true);
|
|
239
|
+
};
|
|
184
240
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const focusable = document.querySelectorAll('a, button, input, [tabindex]:not([tabindex="-1"])');
|
|
188
|
-
const currentIndex = await new Promise(resolve => {
|
|
189
|
-
focusable.forEach((node, i) => {
|
|
190
|
-
if (node === e.target) resolve(i);
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
if (!currentIndex) return false;
|
|
194
|
-
const nextIndex = currentIndex + 1;
|
|
195
|
-
if (nextIndex >= focusable.length) return false;
|
|
196
|
-
const nextItem = focusable[nextIndex];
|
|
197
|
-
nextItem.focus();
|
|
241
|
+
var resetIsFormRendered = function resetIsFormRendered() {
|
|
242
|
+
return setIsFormRendered(false);
|
|
198
243
|
};
|
|
199
244
|
|
|
200
|
-
|
|
245
|
+
var onEnterDown = /*#__PURE__*/function () {
|
|
246
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(e) {
|
|
247
|
+
var focusable, currentIndex, nextIndex, nextItem;
|
|
248
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
249
|
+
while (1) {
|
|
250
|
+
switch (_context.prev = _context.next) {
|
|
251
|
+
case 0:
|
|
252
|
+
if (goToNextFieldOnEnterPressed) {
|
|
253
|
+
_context.next = 2;
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
return _context.abrupt("return", false);
|
|
258
|
+
|
|
259
|
+
case 2:
|
|
260
|
+
focusable = document.querySelectorAll('a, button, input, [tabindex]:not([tabindex="-1"])');
|
|
261
|
+
_context.next = 5;
|
|
262
|
+
return new Promise(function (resolve) {
|
|
263
|
+
focusable.forEach(function (node, i) {
|
|
264
|
+
if (node === e.target) resolve(i);
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
case 5:
|
|
269
|
+
currentIndex = _context.sent;
|
|
270
|
+
|
|
271
|
+
if (currentIndex) {
|
|
272
|
+
_context.next = 8;
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
return _context.abrupt("return", false);
|
|
277
|
+
|
|
278
|
+
case 8:
|
|
279
|
+
nextIndex = currentIndex + 1;
|
|
280
|
+
|
|
281
|
+
if (!(nextIndex >= focusable.length)) {
|
|
282
|
+
_context.next = 11;
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return _context.abrupt("return", false);
|
|
287
|
+
|
|
288
|
+
case 11:
|
|
289
|
+
nextItem = focusable[nextIndex];
|
|
290
|
+
nextItem.focus();
|
|
291
|
+
|
|
292
|
+
case 13:
|
|
293
|
+
case "end":
|
|
294
|
+
return _context.stop();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}, _callee);
|
|
298
|
+
}));
|
|
299
|
+
|
|
300
|
+
return function onEnterDown(_x) {
|
|
301
|
+
return _ref2.apply(this, arguments);
|
|
302
|
+
};
|
|
303
|
+
}();
|
|
304
|
+
|
|
305
|
+
var onKeyDown = function onKeyDown() {
|
|
201
306
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
202
307
|
args[_key2] = arguments[_key2];
|
|
203
308
|
}
|
|
204
309
|
|
|
205
|
-
|
|
310
|
+
var event = args.reduce(function (e, item) {
|
|
206
311
|
if ((item === null || item === void 0 ? void 0 : item.nativeEvent) instanceof KeyboardEvent) return item;
|
|
207
312
|
return e;
|
|
208
313
|
}, null);
|
|
209
314
|
if (!event) return false;
|
|
210
|
-
|
|
211
|
-
keyCode
|
|
212
|
-
} = event;
|
|
315
|
+
var keyCode = event.keyCode;
|
|
213
316
|
|
|
214
317
|
switch (keyCode) {
|
|
215
318
|
//OnEnterDown
|
|
@@ -223,26 +326,26 @@ function useFormTools() {
|
|
|
223
326
|
}; //On Type Change
|
|
224
327
|
|
|
225
328
|
|
|
226
|
-
(0, _react.useEffect)(()
|
|
329
|
+
(0, _react.useEffect)(function () {
|
|
227
330
|
resetIsFormRendered();
|
|
228
331
|
}, [FormType]); //On Render Fields Change
|
|
229
332
|
|
|
230
|
-
(0, _react.useEffect)(()
|
|
333
|
+
(0, _react.useEffect)(function () {
|
|
231
334
|
if (isFormFieldsAdded) resetIsFormRendered(false); //Add Form Fields
|
|
232
335
|
|
|
233
336
|
if (renderFormFields.length !== 0) {
|
|
234
|
-
setFormFields(fields
|
|
235
|
-
return renderFormFields.reduce((result, key)
|
|
337
|
+
setFormFields(function (fields) {
|
|
338
|
+
return renderFormFields.reduce(function (result, key) {
|
|
236
339
|
var _field$className;
|
|
237
340
|
|
|
238
|
-
|
|
239
|
-
|
|
341
|
+
var fieldData = getFieldData(key);
|
|
342
|
+
var field = getFormField(key) ? getFormField(key) : fieldData;
|
|
240
343
|
|
|
241
344
|
if (!(field !== null && field !== void 0 && field.className) || (field === null || field === void 0 ? void 0 : (_field$className = field.className) === null || _field$className === void 0 ? void 0 : _field$className.indexOf(getFieldClassName(key, FormType))) === -1) {
|
|
242
345
|
field.className = "".concat(field === null || field === void 0 ? void 0 : field.className, " ").concat(getFieldClassName(key, FormType));
|
|
243
346
|
}
|
|
244
347
|
|
|
245
|
-
if (
|
|
348
|
+
if ((0, _typeof2.default)(fieldData === null || fieldData === void 0 ? void 0 : fieldData.label) === "object") {
|
|
246
349
|
field.label = fieldData.label[FormType] || fieldData.label.default;
|
|
247
350
|
}
|
|
248
351
|
|
|
@@ -251,24 +354,26 @@ function useFormTools() {
|
|
|
251
354
|
field.isValueChangedByUser = false;
|
|
252
355
|
|
|
253
356
|
if (goToNextFieldOnEnterPressed) {
|
|
254
|
-
|
|
357
|
+
var onKeyDownProp = field.onKeyDown || function () {};
|
|
255
358
|
|
|
256
359
|
field.onKeyDown = function () {
|
|
257
|
-
onKeyDown(
|
|
258
|
-
onKeyDownProp(
|
|
360
|
+
onKeyDown.apply(void 0, arguments);
|
|
361
|
+
onKeyDownProp.apply(void 0, arguments);
|
|
259
362
|
};
|
|
260
363
|
} //Is Field Value Changed By USER
|
|
261
364
|
// eslint-disable-next-line no-use-before-define
|
|
262
365
|
|
|
263
366
|
|
|
264
|
-
addOnFieldRenderedObserver(key, ()
|
|
367
|
+
addOnFieldRenderedObserver(key, function () {
|
|
265
368
|
var _getFormField2, _getFormField2$ref, _getFormField2$ref$cu;
|
|
266
369
|
|
|
267
|
-
|
|
370
|
+
var element = (_getFormField2 = getFormField(key)) === null || _getFormField2 === void 0 ? void 0 : (_getFormField2$ref = _getFormField2.ref) === null || _getFormField2$ref === void 0 ? void 0 : (_getFormField2$ref$cu = _getFormField2$ref.current) === null || _getFormField2$ref$cu === void 0 ? void 0 : _getFormField2$ref$cu.querySelector((field === null || field === void 0 ? void 0 : field.focusSelector) || "input");
|
|
268
371
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
372
|
+
var handler = function handler() {
|
|
373
|
+
return _setFormField({
|
|
374
|
+
isValueChangedByUser: true
|
|
375
|
+
}, key);
|
|
376
|
+
};
|
|
272
377
|
|
|
273
378
|
element === null || element === void 0 ? void 0 : element.addEventListener("paste", handler, {
|
|
274
379
|
once: true
|
|
@@ -282,43 +387,53 @@ function useFormTools() {
|
|
|
282
387
|
});
|
|
283
388
|
}
|
|
284
389
|
}, [renderFormFields]);
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
390
|
+
|
|
391
|
+
var _useState11 = (0, _react.useState)([]),
|
|
392
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
393
|
+
onFormRenderObservers = _useState12[0],
|
|
394
|
+
setOnFormRenderObservers = _useState12[1];
|
|
395
|
+
|
|
396
|
+
var addOnFormRenderObserver = function addOnFormRenderObserver(cb) {
|
|
397
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
398
|
+
_ref3$once = _ref3.once,
|
|
399
|
+
once = _ref3$once === void 0 ? false : _ref3$once;
|
|
400
|
+
|
|
401
|
+
setOnFormRenderObservers(function (state) {
|
|
402
|
+
return [].concat((0, _toConsumableArray2.default)(state), [{
|
|
403
|
+
cb: cb,
|
|
404
|
+
once: once,
|
|
405
|
+
isWorkedOut: false
|
|
406
|
+
}]);
|
|
407
|
+
});
|
|
296
408
|
}; // eslint-disable-next-line no-unused-vars
|
|
297
409
|
|
|
298
410
|
|
|
299
|
-
|
|
300
|
-
setOnFormRenderObservers(state
|
|
301
|
-
|
|
302
|
-
copy[key] = {
|
|
303
|
-
...data
|
|
304
|
-
};
|
|
411
|
+
var updateOnFormRenderObserver = function updateOnFormRenderObserver(key, data) {
|
|
412
|
+
setOnFormRenderObservers(function (state) {
|
|
413
|
+
var copy = (0, _toConsumableArray2.default)(state);
|
|
414
|
+
copy[key] = _objectSpread(_objectSpread({}, state[key]), data);
|
|
305
415
|
return copy;
|
|
306
416
|
});
|
|
307
417
|
};
|
|
308
418
|
|
|
309
|
-
|
|
310
|
-
setOnFormRenderObservers(
|
|
419
|
+
var removeOnFormRenderObserver = function removeOnFormRenderObserver(key) {
|
|
420
|
+
setOnFormRenderObservers(function (state) {
|
|
421
|
+
return state.slice().filter(function (v, i) {
|
|
422
|
+
return i !== key;
|
|
423
|
+
});
|
|
424
|
+
});
|
|
311
425
|
};
|
|
312
426
|
|
|
313
|
-
|
|
427
|
+
var onFormRenderWorker = function onFormRenderWorker() {
|
|
314
428
|
// eslint-disable-next-line default-param-last
|
|
315
429
|
onFormRenderObservers.map(function () {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
430
|
+
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
431
|
+
once = _ref4.once,
|
|
432
|
+
isWorkedOut = _ref4.isWorkedOut,
|
|
433
|
+
_ref4$cb = _ref4.cb,
|
|
434
|
+
cb = _ref4$cb === void 0 ? function () {} : _ref4$cb;
|
|
435
|
+
|
|
436
|
+
var key = arguments.length > 1 ? arguments[1] : undefined;
|
|
322
437
|
if (once && isWorkedOut) return null;
|
|
323
438
|
cb(form);
|
|
324
439
|
if (once) removeOnFormRenderObserver(key);else updateOnFormRenderObserver(key, {
|
|
@@ -329,10 +444,10 @@ function useFormTools() {
|
|
|
329
444
|
}; //On Form Rendered
|
|
330
445
|
|
|
331
446
|
|
|
332
|
-
(0, _react.useEffect)(()
|
|
447
|
+
(0, _react.useEffect)(function () {
|
|
333
448
|
if (!isFormRendered && onFormRenderObservers.length) {
|
|
334
|
-
|
|
335
|
-
|
|
449
|
+
var formFieldsKeys = getFormFieldsKeys(form);
|
|
450
|
+
var isAllFieldsRendered = renderFormFields.reduce(function (result, key) {
|
|
336
451
|
if (!formFieldsKeys.includes(key)) result = false;
|
|
337
452
|
return result;
|
|
338
453
|
}, true);
|
|
@@ -347,20 +462,20 @@ function useFormTools() {
|
|
|
347
462
|
///////////////////////////////////////////////////////////////
|
|
348
463
|
//--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- START ---//
|
|
349
464
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
465
|
+
var hightliteErrorLabels = function hightliteErrorLabels() {
|
|
466
|
+
var fields = getFormFieldsAsArray();
|
|
467
|
+
var filtered = fields === null || fields === void 0 ? void 0 : fields.reduce(function (result, field) {
|
|
353
468
|
if (field !== null && field !== void 0 && field.errorLabelHightlite) {
|
|
354
469
|
// eslint-disable-next-line no-use-before-define
|
|
355
|
-
result.push({
|
|
470
|
+
result.push(_objectSpread(_objectSpread({}, field), {}, {
|
|
356
471
|
className: getFieldClassName(field === null || field === void 0 ? void 0 : field.key, FormType)
|
|
357
|
-
});
|
|
472
|
+
}));
|
|
358
473
|
}
|
|
359
474
|
|
|
360
475
|
return result;
|
|
361
476
|
}, []);
|
|
362
|
-
filtered === null || filtered === void 0 ? void 0 : filtered.map(field
|
|
363
|
-
|
|
477
|
+
filtered === null || filtered === void 0 ? void 0 : filtered.map(function (field) {
|
|
478
|
+
var formField = document.querySelector(".".concat(field === null || field === void 0 ? void 0 : field.className));
|
|
364
479
|
if (!formField) return null;
|
|
365
480
|
formField.classList.remove("errorLabelHightlite");
|
|
366
481
|
|
|
@@ -372,38 +487,48 @@ function useFormTools() {
|
|
|
372
487
|
});
|
|
373
488
|
};
|
|
374
489
|
|
|
375
|
-
(0, _react.useEffect)(()
|
|
490
|
+
(0, _react.useEffect)(function () {
|
|
376
491
|
hightliteErrorLabels();
|
|
377
492
|
}, [form]); //--- HIGHTLIGHT LABELS IF FIELD WITH ERROR ---//--- END ---//
|
|
378
493
|
///////////////////////////////////////////////////////////////
|
|
379
494
|
///////////////////////////////////////////////////////////////
|
|
380
495
|
//--- Fields Focus Controller ---//--- START ---//
|
|
381
496
|
|
|
382
|
-
|
|
383
|
-
|
|
497
|
+
var _useState13 = (0, _react.useState)(false),
|
|
498
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
499
|
+
isInitFocused = _useState14[0],
|
|
500
|
+
setIsInitFocused = _useState14[1];
|
|
384
501
|
|
|
385
|
-
|
|
502
|
+
var _useState15 = (0, _react.useState)(null),
|
|
503
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
504
|
+
autoFocusedField = _useState16[0],
|
|
505
|
+
setAutoFocusedField = _useState16[1];
|
|
386
506
|
|
|
387
|
-
|
|
507
|
+
var setFirstFieldInitFocused = function setFirstFieldInitFocused() {
|
|
508
|
+
return setIsInitFocused(true);
|
|
509
|
+
};
|
|
388
510
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
511
|
+
var resetIsInitFocused = function resetIsInitFocused() {
|
|
512
|
+
return setIsInitFocused(false);
|
|
513
|
+
};
|
|
514
|
+
|
|
515
|
+
var toggleFieldFocus = function toggleFieldFocus(_ref5) {
|
|
516
|
+
var key = _ref5.key,
|
|
517
|
+
_ref5$cb = _ref5.cb,
|
|
518
|
+
cb = _ref5$cb === void 0 ? function () {} : _ref5$cb,
|
|
519
|
+
argForm = _ref5.form,
|
|
520
|
+
field = _ref5.field;
|
|
521
|
+
var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "focus";
|
|
397
522
|
if (!key && !field) return null;
|
|
398
523
|
if (!argForm) argForm = form;
|
|
399
|
-
|
|
524
|
+
var formField = field || getFormField(key, argForm);
|
|
400
525
|
|
|
401
526
|
if (!formField || !formField.ref) {
|
|
402
527
|
return false;
|
|
403
528
|
}
|
|
404
529
|
|
|
405
530
|
if (action === "focus" && FocusControllerProps.onlyEmptyFieldAutoFocus && Boolean(formField === null || formField === void 0 ? void 0 : formField.value)) return null;
|
|
406
|
-
setTimeout(()
|
|
531
|
+
setTimeout(function () {
|
|
407
532
|
var _formField$ref$curren, _formField$ref$curren2;
|
|
408
533
|
|
|
409
534
|
(_formField$ref$curren = formField.ref.current) === null || _formField$ref$curren === void 0 ? void 0 : (_formField$ref$curren2 = _formField$ref$curren.querySelector((formField === null || formField === void 0 ? void 0 : formField.focusSelector) || "input")) === null || _formField$ref$curren2 === void 0 ? void 0 : _formField$ref$curren2[action]();
|
|
@@ -411,44 +536,42 @@ function useFormTools() {
|
|
|
411
536
|
}, 50);
|
|
412
537
|
};
|
|
413
538
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
} = _ref2;
|
|
539
|
+
var setFieldFocus = function setFieldFocus(_ref6) {
|
|
540
|
+
var key = _ref6.key,
|
|
541
|
+
_ref6$cb = _ref6.cb,
|
|
542
|
+
cb = _ref6$cb === void 0 ? function () {} : _ref6$cb,
|
|
543
|
+
argForm = _ref6.form,
|
|
544
|
+
field = _ref6.field;
|
|
421
545
|
return toggleFieldFocus({
|
|
422
|
-
key,
|
|
423
|
-
cb,
|
|
546
|
+
key: key,
|
|
547
|
+
cb: cb,
|
|
424
548
|
form: argForm,
|
|
425
|
-
field
|
|
549
|
+
field: field
|
|
426
550
|
}, "focus");
|
|
427
551
|
};
|
|
428
552
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
} = _ref3;
|
|
553
|
+
var setFieldBlur = function setFieldBlur(_ref7) {
|
|
554
|
+
var key = _ref7.key,
|
|
555
|
+
_ref7$cb = _ref7.cb,
|
|
556
|
+
cb = _ref7$cb === void 0 ? function () {} : _ref7$cb,
|
|
557
|
+
argForm = _ref7.form,
|
|
558
|
+
field = _ref7.field;
|
|
436
559
|
return toggleFieldFocus({
|
|
437
|
-
key,
|
|
438
|
-
cb,
|
|
560
|
+
key: key,
|
|
561
|
+
cb: cb,
|
|
439
562
|
form: argForm,
|
|
440
|
-
field
|
|
563
|
+
field: field
|
|
441
564
|
}, "blur");
|
|
442
565
|
};
|
|
443
566
|
|
|
444
|
-
|
|
567
|
+
var setFirstFieldFocus = function setFirstFieldFocus() {
|
|
445
568
|
var _field;
|
|
446
569
|
|
|
447
|
-
|
|
570
|
+
var field = null;
|
|
448
571
|
|
|
449
|
-
for (
|
|
450
|
-
|
|
451
|
-
|
|
572
|
+
for (var i = 0; i < renderFormFields.length && !field; ++i) {
|
|
573
|
+
var key = renderFormFields[i];
|
|
574
|
+
var tmpField = getFormField(key);
|
|
452
575
|
if (tmpField && !(tmpField !== null && tmpField !== void 0 && tmpField.disabled)) field = tmpField;
|
|
453
576
|
}
|
|
454
577
|
|
|
@@ -461,69 +584,86 @@ function useFormTools() {
|
|
|
461
584
|
|
|
462
585
|
setAutoFocusedField(field.key);
|
|
463
586
|
|
|
464
|
-
|
|
465
|
-
|
|
587
|
+
var callback = function callback() {
|
|
588
|
+
_setFormField({
|
|
466
589
|
value: field.value
|
|
467
590
|
}, field.key);
|
|
591
|
+
|
|
468
592
|
setFirstFieldInitFocused();
|
|
469
593
|
};
|
|
470
594
|
|
|
471
|
-
setTimeout(()
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
595
|
+
setTimeout(function () {
|
|
596
|
+
return setFieldFocus({
|
|
597
|
+
key: field.key,
|
|
598
|
+
cb: callback,
|
|
599
|
+
form: form
|
|
600
|
+
});
|
|
601
|
+
}, 50);
|
|
476
602
|
};
|
|
477
603
|
|
|
478
|
-
|
|
604
|
+
var _useState17 = (0, _react.useState)({}),
|
|
605
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
606
|
+
onFieldFocusCallbacks = _useState18[0],
|
|
607
|
+
setOnFieldFocusCallbacks = _useState18[1];
|
|
608
|
+
|
|
609
|
+
var addOnFieldFocusCallback = function addOnFieldFocusCallback(key, cb) {
|
|
610
|
+
setOnFieldFocusCallbacks(function (state) {
|
|
611
|
+
var stateCopy = _objectSpread({}, state);
|
|
479
612
|
|
|
480
|
-
const addOnFieldFocusCallback = (key, cb) => {
|
|
481
|
-
setOnFieldFocusCallbacks(state => {
|
|
482
|
-
const stateCopy = { ...state
|
|
483
|
-
};
|
|
484
613
|
if (!state[key]) stateCopy[key] = [];
|
|
485
614
|
stateCopy[key].push(cb);
|
|
486
615
|
return stateCopy;
|
|
487
616
|
});
|
|
488
617
|
};
|
|
489
618
|
|
|
490
|
-
|
|
619
|
+
var callOnFieldFocusCallbacks = function callOnFieldFocusCallbacks(key) {
|
|
491
620
|
var _onFieldFocusCallback;
|
|
492
621
|
|
|
493
622
|
if (!Array.isArray(onFieldFocusCallbacks[key])) return null;
|
|
494
|
-
(_onFieldFocusCallback = onFieldFocusCallbacks[key]) === null || _onFieldFocusCallback === void 0 ? void 0 : _onFieldFocusCallback.map(
|
|
623
|
+
(_onFieldFocusCallback = onFieldFocusCallbacks[key]) === null || _onFieldFocusCallback === void 0 ? void 0 : _onFieldFocusCallback.map(function (cb) {
|
|
624
|
+
return cb();
|
|
625
|
+
});
|
|
495
626
|
};
|
|
496
627
|
|
|
497
|
-
|
|
628
|
+
var _useState19 = (0, _react.useState)([]),
|
|
629
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
630
|
+
focusOnRenderFields = _useState20[0],
|
|
631
|
+
setFocusOnRenderFields = _useState20[1];
|
|
498
632
|
|
|
499
|
-
|
|
500
|
-
setFocusOnRenderFields(
|
|
633
|
+
var addFocusFieldOnRender = function addFocusFieldOnRender(key, cb) {
|
|
634
|
+
setFocusOnRenderFields(function (state) {
|
|
635
|
+
return [].concat((0, _toConsumableArray2.default)(state), [key]);
|
|
636
|
+
});
|
|
501
637
|
if (cb) addOnFieldFocusCallback(key, cb);
|
|
502
638
|
};
|
|
503
639
|
|
|
504
|
-
|
|
505
|
-
setFocusOnRenderFields(
|
|
640
|
+
var removeFocusFieldOnRender = function removeFocusFieldOnRender(key) {
|
|
641
|
+
setFocusOnRenderFields(function (state) {
|
|
642
|
+
return state.filter(function (field) {
|
|
643
|
+
return field !== key;
|
|
644
|
+
});
|
|
645
|
+
});
|
|
506
646
|
};
|
|
507
647
|
|
|
508
|
-
(0, _react.useEffect)(()
|
|
648
|
+
(0, _react.useEffect)(function () {
|
|
509
649
|
if (FocusControllerProps.setAutoFocus && !isInitFocused && !autoFocusedField && isFormRendered) setFirstFieldFocus();
|
|
510
650
|
|
|
511
651
|
if (focusOnRenderFields.length) {
|
|
512
652
|
var _getFormFieldsKeys;
|
|
513
653
|
|
|
514
|
-
(_getFormFieldsKeys = getFormFieldsKeys(form)) === null || _getFormFieldsKeys === void 0 ? void 0 : _getFormFieldsKeys.map(key
|
|
654
|
+
(_getFormFieldsKeys = getFormFieldsKeys(form)) === null || _getFormFieldsKeys === void 0 ? void 0 : _getFormFieldsKeys.map(function (key) {
|
|
515
655
|
var _getFormField3, _getFormField3$value;
|
|
516
656
|
|
|
517
657
|
if (focusOnRenderFields.includes(key) && ((_getFormField3 = getFormField(key)) === null || _getFormField3 === void 0 ? void 0 : (_getFormField3$value = _getFormField3.value) === null || _getFormField3$value === void 0 ? void 0 : _getFormField3$value.length) === 0) {
|
|
518
|
-
|
|
658
|
+
var cb = function cb() {
|
|
519
659
|
removeFocusFieldOnRender(key);
|
|
520
660
|
callOnFieldFocusCallbacks(key);
|
|
521
661
|
};
|
|
522
662
|
|
|
523
663
|
setFieldFocus({
|
|
524
|
-
key,
|
|
525
|
-
form,
|
|
526
|
-
cb
|
|
664
|
+
key: key,
|
|
665
|
+
form: form,
|
|
666
|
+
cb: cb
|
|
527
667
|
});
|
|
528
668
|
}
|
|
529
669
|
|
|
@@ -531,10 +671,10 @@ function useFormTools() {
|
|
|
531
671
|
});
|
|
532
672
|
}
|
|
533
673
|
}, [form, focusOnRenderFields, isInitFocused, isFormRendered]);
|
|
534
|
-
(0, _react.useEffect)(()
|
|
674
|
+
(0, _react.useEffect)(function () {
|
|
535
675
|
setAutoFocusedField(null);
|
|
536
676
|
}, [isInitFocused]);
|
|
537
|
-
(0, _react.useEffect)(()
|
|
677
|
+
(0, _react.useEffect)(function () {
|
|
538
678
|
resetIsInitFocused();
|
|
539
679
|
}, [FormType]); //Remove Focus From Autocomplete field !!! TODO
|
|
540
680
|
// useEffect(() => {
|
|
@@ -549,70 +689,82 @@ function useFormTools() {
|
|
|
549
689
|
///////////////////////////////////////////////////////////////
|
|
550
690
|
//--- OnFieldRendered Observer ---//--- START ---//
|
|
551
691
|
|
|
552
|
-
|
|
553
|
-
|
|
692
|
+
var _useState21 = (0, _react.useState)({}),
|
|
693
|
+
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
|
694
|
+
onFieldRenderedObservers = _useState22[0],
|
|
695
|
+
setOnFieldRenderedObservers = _useState22[1];
|
|
696
|
+
|
|
697
|
+
var _useState23 = (0, _react.useState)(false),
|
|
698
|
+
_useState24 = (0, _slicedToArray2.default)(_useState23, 2),
|
|
699
|
+
isFieldObserversReset = _useState24[0],
|
|
700
|
+
setIsFieldObserversReset = _useState24[1];
|
|
554
701
|
|
|
555
|
-
|
|
702
|
+
var resetOnFieldRenderObserversWorkedOut = function resetOnFieldRenderObserversWorkedOut() {
|
|
556
703
|
if (!isFieldObserversReset && renderFormFields.length) {
|
|
557
|
-
renderFormFields.map(key
|
|
558
|
-
|
|
704
|
+
renderFormFields.map(function (key) {
|
|
705
|
+
_setFormField({
|
|
559
706
|
isOnRenderObserversWorkedOut: false
|
|
560
707
|
}, key);
|
|
708
|
+
|
|
561
709
|
return key;
|
|
562
710
|
});
|
|
563
711
|
setIsFieldObserversReset(true);
|
|
564
712
|
}
|
|
565
713
|
};
|
|
566
714
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
setOnFieldRenderedObservers(state
|
|
715
|
+
var addOnFieldRenderedObserver = function addOnFieldRenderedObserver(key, cb) {
|
|
716
|
+
var isOnceCallable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
717
|
+
var observerId = null;
|
|
718
|
+
setOnFieldRenderedObservers(function (state) {
|
|
571
719
|
//Set Default Value
|
|
572
720
|
if (!state[key]) state[key] = {};
|
|
573
721
|
observerId = Object.keys(state[key]).length || 0;
|
|
574
722
|
state[key][observerId] = {
|
|
575
723
|
f: cb,
|
|
576
|
-
isOnceCallable
|
|
724
|
+
isOnceCallable: isOnceCallable
|
|
577
725
|
};
|
|
578
726
|
return state;
|
|
579
727
|
});
|
|
580
728
|
return observerId;
|
|
581
729
|
};
|
|
582
730
|
|
|
583
|
-
|
|
584
|
-
setOnFieldRenderedObservers(state
|
|
731
|
+
var updateOnFieldRenderedObserver = function updateOnFieldRenderedObserver(key, id, data) {
|
|
732
|
+
setOnFieldRenderedObservers(function (state) {
|
|
585
733
|
//Set Default Value
|
|
586
734
|
if (!state[key]) return state;
|
|
587
|
-
state[key][id] = {
|
|
588
|
-
...data
|
|
589
|
-
};
|
|
735
|
+
state[key][id] = _objectSpread(_objectSpread({}, state[key][id]), data);
|
|
590
736
|
return state;
|
|
591
737
|
});
|
|
592
738
|
};
|
|
593
739
|
|
|
594
|
-
|
|
595
|
-
setOnFieldRenderedObservers(state
|
|
740
|
+
var removeOnFieldRenderedObserver = function removeOnFieldRenderedObserver(key, id) {
|
|
741
|
+
setOnFieldRenderedObservers(function (state) {
|
|
596
742
|
//Set Default Value
|
|
597
743
|
if (!state[key]) return state;
|
|
598
|
-
state[key] = Object.keys(state).filter(
|
|
744
|
+
state[key] = Object.keys(state).filter(function (cbId) {
|
|
745
|
+
return cbId !== id;
|
|
746
|
+
}).map(function (cbId) {
|
|
747
|
+
return state[key][cbId];
|
|
748
|
+
});
|
|
599
749
|
return state;
|
|
600
750
|
});
|
|
601
751
|
};
|
|
602
752
|
|
|
603
|
-
|
|
604
|
-
if (!onFieldRenderedObservers[key] ||
|
|
605
|
-
|
|
606
|
-
|
|
753
|
+
var onFieldRenderedObserver = function onFieldRenderedObserver(key, data) {
|
|
754
|
+
if (!onFieldRenderedObservers[key] || (0, _typeof2.default)(onFieldRenderedObservers[key]) !== "object") return;
|
|
755
|
+
var Observers = onFieldRenderedObservers[key];
|
|
756
|
+
var FilteredObservers = Object.values(Observers).filter(function (observer) {
|
|
757
|
+
return !(observer !== null && observer !== void 0 && observer.isObserverWorkedOut);
|
|
758
|
+
});
|
|
607
759
|
if (FilteredObservers.length === 0) return null;
|
|
608
|
-
|
|
760
|
+
|
|
761
|
+
_setFormField({
|
|
609
762
|
isOnRenderObserversWorkedOut: true
|
|
610
763
|
}, key);
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
} = _ref4;
|
|
764
|
+
|
|
765
|
+
FilteredObservers.map(function (_ref8, id) {
|
|
766
|
+
var f = _ref8.f,
|
|
767
|
+
isOnceCallable = _ref8.isOnceCallable;
|
|
616
768
|
f(data);
|
|
617
769
|
if (isOnceCallable) updateOnFieldRenderedObserver(key, id, {
|
|
618
770
|
isObserverWorkedOut: true
|
|
@@ -621,33 +773,33 @@ function useFormTools() {
|
|
|
621
773
|
});
|
|
622
774
|
};
|
|
623
775
|
|
|
624
|
-
|
|
776
|
+
var onRenderObserverWorker = function onRenderObserverWorker() {
|
|
625
777
|
var _getFormFieldsKeys2;
|
|
626
778
|
|
|
627
|
-
return (_getFormFieldsKeys2 = getFormFieldsKeys(form)) === null || _getFormFieldsKeys2 === void 0 ? void 0 : _getFormFieldsKeys2.map(key
|
|
779
|
+
return (_getFormFieldsKeys2 = getFormFieldsKeys(form)) === null || _getFormFieldsKeys2 === void 0 ? void 0 : _getFormFieldsKeys2.map(function (key) {
|
|
628
780
|
//OnFieldRendered
|
|
629
|
-
|
|
781
|
+
var fieldData = getFormField(key);
|
|
630
782
|
|
|
631
783
|
if (!(fieldData !== null && fieldData !== void 0 && fieldData.isOnRenderObserversWorkedOut)) {
|
|
632
784
|
onFieldRenderedObserver(key, fieldData);
|
|
633
785
|
return {
|
|
634
|
-
key,
|
|
786
|
+
key: key,
|
|
635
787
|
isWorkedOut: true
|
|
636
788
|
};
|
|
637
789
|
}
|
|
638
790
|
|
|
639
791
|
return {
|
|
640
|
-
key,
|
|
792
|
+
key: key,
|
|
641
793
|
isWorkedOut: false
|
|
642
794
|
};
|
|
643
795
|
});
|
|
644
796
|
};
|
|
645
797
|
|
|
646
|
-
(0, _react.useEffect)(()
|
|
798
|
+
(0, _react.useEffect)(function () {
|
|
647
799
|
resetOnFieldRenderObserversWorkedOut();
|
|
648
800
|
onRenderObserverWorker();
|
|
649
801
|
}, [form]);
|
|
650
|
-
(0, _react.useEffect)(()
|
|
802
|
+
(0, _react.useEffect)(function () {
|
|
651
803
|
setIsFieldObserversReset(false);
|
|
652
804
|
}, [FormType]); //--- OnFieldRendered Observer ---//--- END ---//
|
|
653
805
|
///////////////////////////////////////////////////////////////
|
|
@@ -683,23 +835,23 @@ function useFormTools() {
|
|
|
683
835
|
///////////////////////////////////////////////////////////////
|
|
684
836
|
//--- WindowScrollController ---//--- START ---//
|
|
685
837
|
|
|
686
|
-
|
|
838
|
+
var scrollToField = function scrollToField(_ref9) {
|
|
687
839
|
var _field2, _field3, _wrapperRef$current;
|
|
688
840
|
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
841
|
+
var _ref9$key = _ref9.key,
|
|
842
|
+
key = _ref9$key === void 0 ? null : _ref9$key,
|
|
843
|
+
_ref9$field = _ref9.field,
|
|
844
|
+
field = _ref9$field === void 0 ? null : _ref9$field,
|
|
845
|
+
argForm = _ref9.form;
|
|
694
846
|
if (!key && !field) return false;
|
|
695
847
|
if (!argForm) argForm = form;
|
|
696
848
|
if (!field) field = getFormField(key, argForm);
|
|
697
|
-
|
|
849
|
+
var wrapperRef = ((_field2 = field) === null || _field2 === void 0 ? void 0 : _field2.wrapperRef) || ((_field3 = field) === null || _field3 === void 0 ? void 0 : _field3.ref); // eslint-disable-next-line no-unsafe-optional-chaining
|
|
698
850
|
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
851
|
+
var _wrapperRef$current$g = wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.getBoundingClientRect(),
|
|
852
|
+
topOffset = _wrapperRef$current$g.top;
|
|
853
|
+
|
|
854
|
+
var scrollTop = Math.abs(Math.abs(topOffset) - Math.abs(window.scrollY)) - 16;
|
|
703
855
|
window.scrollTo({
|
|
704
856
|
top: scrollTop
|
|
705
857
|
});
|
|
@@ -708,86 +860,87 @@ function useFormTools() {
|
|
|
708
860
|
///////////////////////////////////////////////////////////////
|
|
709
861
|
|
|
710
862
|
|
|
711
|
-
|
|
712
|
-
|
|
863
|
+
var addErrorsToForm = function addErrorsToForm(errors) {
|
|
864
|
+
var argForm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : form;
|
|
713
865
|
if (!argForm) argForm = form;
|
|
714
|
-
setFormFields(fields
|
|
715
|
-
return errors.reduce((fields,
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
propertyPath: errKey
|
|
719
|
-
} = _ref6;
|
|
866
|
+
setFormFields(function (fields) {
|
|
867
|
+
return errors.reduce(function (fields, _ref10) {
|
|
868
|
+
var error = _ref10.message,
|
|
869
|
+
errKey = _ref10.propertyPath;
|
|
720
870
|
return updateFormField(fields, {
|
|
721
|
-
error
|
|
871
|
+
error: error
|
|
722
872
|
}, errKey);
|
|
723
873
|
}, fields);
|
|
724
874
|
});
|
|
725
875
|
};
|
|
726
876
|
|
|
727
877
|
return {
|
|
728
|
-
FormDataDrivers,
|
|
878
|
+
FormDataDrivers: FormDataDrivers,
|
|
729
879
|
//OnChangeObserver
|
|
730
|
-
addOnChangeObserver,
|
|
731
|
-
removeOnChangeObserver,
|
|
732
|
-
onChangeObservers,
|
|
880
|
+
addOnChangeObserver: addOnChangeObserver,
|
|
881
|
+
removeOnChangeObserver: removeOnChangeObserver,
|
|
882
|
+
onChangeObservers: onChangeObservers,
|
|
733
883
|
//OnChangeHandler
|
|
734
|
-
onFieldChange,
|
|
884
|
+
onFieldChange: onFieldChange,
|
|
735
885
|
//Form Submit Blocker
|
|
736
|
-
toggleFormSubmitBlock,
|
|
737
|
-
clearFormSubmitBlockers,
|
|
886
|
+
toggleFormSubmitBlock: toggleFormSubmitBlock,
|
|
887
|
+
clearFormSubmitBlockers: clearFormSubmitBlockers,
|
|
738
888
|
isFormSubmitBlocked: Boolean(formSubmitBlockers.length),
|
|
739
889
|
//Property Observers
|
|
740
890
|
// addPropertyObserver,
|
|
741
891
|
//Render Fields
|
|
742
|
-
renderFormFields,
|
|
743
|
-
setRenderFormFields,
|
|
744
|
-
addRenderFields,
|
|
745
|
-
removeRenderFields,
|
|
746
|
-
getFieldClassName,
|
|
892
|
+
renderFormFields: renderFormFields,
|
|
893
|
+
setRenderFormFields: setRenderFormFields,
|
|
894
|
+
addRenderFields: addRenderFields,
|
|
895
|
+
removeRenderFields: removeRenderFields,
|
|
896
|
+
getFieldClassName: getFieldClassName,
|
|
747
897
|
//Field Focus Controller
|
|
748
|
-
isInitFocused,
|
|
749
|
-
setFirstFieldInitFocused,
|
|
750
|
-
resetIsInitFocused,
|
|
751
|
-
setFieldFocus,
|
|
752
|
-
setFieldBlur,
|
|
753
|
-
setFirstFieldFocus,
|
|
754
|
-
autoFocusedField,
|
|
755
|
-
addFocusFieldOnRender,
|
|
756
|
-
removeFocusFieldOnRender,
|
|
898
|
+
isInitFocused: isInitFocused,
|
|
899
|
+
setFirstFieldInitFocused: setFirstFieldInitFocused,
|
|
900
|
+
resetIsInitFocused: resetIsInitFocused,
|
|
901
|
+
setFieldFocus: setFieldFocus,
|
|
902
|
+
setFieldBlur: setFieldBlur,
|
|
903
|
+
setFirstFieldFocus: setFirstFieldFocus,
|
|
904
|
+
autoFocusedField: autoFocusedField,
|
|
905
|
+
addFocusFieldOnRender: addFocusFieldOnRender,
|
|
906
|
+
removeFocusFieldOnRender: removeFocusFieldOnRender,
|
|
757
907
|
//Field Render Controller
|
|
758
|
-
addOnFieldRenderedObserver,
|
|
759
|
-
removeOnFieldRenderedObserver,
|
|
760
|
-
onFieldRenderedObservers,
|
|
761
|
-
updateFormField,
|
|
762
|
-
addOnFormRenderObserver,
|
|
763
|
-
submitIsFormRendered,
|
|
764
|
-
resetIsFormRendered,
|
|
765
|
-
renderFields:
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
908
|
+
addOnFieldRenderedObserver: addOnFieldRenderedObserver,
|
|
909
|
+
removeOnFieldRenderedObserver: removeOnFieldRenderedObserver,
|
|
910
|
+
onFieldRenderedObservers: onFieldRenderedObservers,
|
|
911
|
+
updateFormField: updateFormField,
|
|
912
|
+
addOnFormRenderObserver: addOnFormRenderObserver,
|
|
913
|
+
submitIsFormRendered: submitIsFormRendered,
|
|
914
|
+
resetIsFormRendered: resetIsFormRendered,
|
|
915
|
+
renderFields: function renderFields(_ref11) {
|
|
916
|
+
var _ref11$form = _ref11.form,
|
|
917
|
+
argForm = _ref11$form === void 0 ? form : _ref11$form,
|
|
918
|
+
_ref11$fields = _ref11.fields,
|
|
919
|
+
argFields = _ref11$fields === void 0 ? renderFormFields : _ref11$fields,
|
|
920
|
+
_ref11$cols = _ref11.cols,
|
|
921
|
+
argCols = _ref11$cols === void 0 ? 1 : _ref11$cols,
|
|
922
|
+
RenderFieldComponent = _ref11.RenderFieldComponent;
|
|
772
923
|
return (0, _RenderFields.default)({
|
|
773
924
|
form: argForm,
|
|
774
925
|
fields: argFields,
|
|
775
926
|
cols: argCols,
|
|
776
|
-
RenderFieldComponent,
|
|
777
|
-
onFieldChange,
|
|
927
|
+
RenderFieldComponent: RenderFieldComponent,
|
|
928
|
+
onFieldChange: onFieldChange,
|
|
778
929
|
FormDataDriver: getFormDataDriver(FormDataDriverName)
|
|
779
930
|
});
|
|
780
931
|
},
|
|
781
|
-
scrollToField,
|
|
782
|
-
getFieldData,
|
|
783
|
-
getFormField,
|
|
784
|
-
setFormFields,
|
|
785
|
-
setFormField:
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
932
|
+
scrollToField: scrollToField,
|
|
933
|
+
getFieldData: getFieldData,
|
|
934
|
+
getFormField: getFormField,
|
|
935
|
+
setFormFields: setFormFields,
|
|
936
|
+
setFormField: function setFormField(data, key) {
|
|
937
|
+
return _setFormField(data, key);
|
|
938
|
+
},
|
|
939
|
+
getFormFieldsAsArray: getFormFieldsAsArray,
|
|
940
|
+
getFormFieldsKeys: getFormFieldsKeys,
|
|
941
|
+
removeAllFormFields: removeAllFormFields,
|
|
942
|
+
removeFormField: removeFormField,
|
|
943
|
+
removeFormFields: removeFormFields,
|
|
944
|
+
addErrorsToForm: addErrorsToForm
|
|
792
945
|
};
|
|
793
946
|
}
|