intelicoreact 1.5.26 → 1.5.28
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 +10 -1
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +10 -1
- package/dist/Atomic/FormElements/Calendar/Calendar.js +24 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +10 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +14 -2
- package/dist/Atomic/FormElements/Datepicker/Datepicker.js +54 -5
- package/dist/Atomic/FormElements/Datepicker/components/Calendar.js +21 -3
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +144 -51
- package/dist/Atomic/FormElements/Dropdown/components/DropdownLoader.js +7 -1
- package/dist/Atomic/FormElements/DropdownLiveSearch/DropdownLiveSearch.js +90 -24
- package/dist/Atomic/FormElements/FileLoader/FileLoader.js +15 -3
- package/dist/Atomic/FormElements/FileLoader/partial/LoadZone.js +29 -15
- package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +15 -5
- package/dist/Atomic/FormElements/FileLoaderDescription/FileLoaderDescription.js +36 -16
- package/dist/Atomic/FormElements/FileLoaderLocal/FileLoaderLocal.js +26 -6
- package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +38 -18
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN.js +31 -18
- package/dist/Atomic/FormElements/FormattedRawSSN/FormattedRawSSN_old.js +38 -9
- package/dist/Atomic/FormElements/Input/Input.js +63 -26
- package/dist/Atomic/FormElements/InputCalendar/InputCalendar.js +31 -4
- package/dist/Atomic/FormElements/InputColor/InputColor.js +14 -4
- package/dist/Atomic/FormElements/InputCurrency/InputCurrency.js +29 -6
- package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +43 -8
- package/dist/Atomic/FormElements/InputDateRange/components/DateInput.js +21 -3
- package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +81 -58
- package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +41 -6
- package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +8 -1
- package/dist/Atomic/FormElements/InputDateRange/dependencies.js +46 -16
- package/dist/Atomic/FormElements/InputLink/InputLink.js +23 -6
- package/dist/Atomic/FormElements/InputMask/InputCarretPosition.js +4 -0
- package/dist/Atomic/FormElements/InputMask/InputMask.js +208 -77
- package/dist/Atomic/FormElements/InputMask/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask2/InputMask2.js +119 -43
- package/dist/Atomic/FormElements/InputMask2/functions.js +28 -2
- package/dist/Atomic/FormElements/InputMask3/InputMask3.js +140 -49
- package/dist/Atomic/FormElements/InputMask3/functions.js +28 -2
- package/dist/Atomic/FormElements/InputWithAction/InputWithAction.js +17 -3
- package/dist/Atomic/FormElements/InputsRow/InputsRow.js +24 -5
- package/dist/Atomic/FormElements/Label/Label.js +9 -1
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +73 -35
- package/dist/Atomic/FormElements/MultiSelect/MultiSelect.js +15 -3
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +44 -23
- package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +17 -7
- package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +14 -3
- package/dist/Atomic/FormElements/RadioInput/RadioInput.js +10 -1
- package/dist/Atomic/FormElements/RadioRowSwitcher/RadioRowSwitcher.js +14 -3
- package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +23 -3
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +34 -17
- package/dist/Atomic/FormElements/RangeList/RangeList.js +25 -6
- package/dist/Atomic/FormElements/RangeList/partial/RangeListRow.js +11 -1
- package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +85 -14
- package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +132 -43
- package/dist/Atomic/FormElements/SwitchableRow/SwitchableRow.js +10 -1
- package/dist/Atomic/FormElements/Switcher/Switcher.js +10 -1
- package/dist/Atomic/FormElements/SwitcherCheckbox/SwitcherCheckbox.js +13 -1
- package/dist/Atomic/FormElements/SwitcherHide/SwitcherHide.js +10 -1
- package/dist/Atomic/FormElements/SwitcherRadio/SwitcherRadio.js +17 -2
- package/dist/Atomic/FormElements/SwitcherRange/SwitcherRange.js +17 -3
- package/dist/Atomic/FormElements/SwitcherRangeList/SwitcherRangeList.js +11 -1
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/SwitcherTagsDropdown.js +29 -6
- package/dist/Atomic/FormElements/SwitcherTagsDropdown/partial/States.js +3 -2
- package/dist/Atomic/FormElements/SwitcherTextarea/SwitcherTextarea.js +12 -1
- package/dist/Atomic/FormElements/TagListToDropdown/TagListToDropdown.js +23 -6
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +223 -105
- package/dist/Atomic/FormElements/Text/Text.js +16 -10
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +9 -1
- package/dist/Atomic/FormElements/Textarea/Textarea.js +16 -5
- package/dist/Atomic/FormElements/TieredCheckboxes/TieredCheckboxes.js +35 -6
- package/dist/Atomic/FormElements/TieredCheckboxes/partial/AccordionWithCheckbox.js +13 -4
- package/dist/Atomic/FormElements/TimeRange/TimeRange.js +21 -7
- package/dist/Atomic/FormElements/UserContacts/UserContacts.js +35 -8
- package/dist/Atomic/FormElements/UserContacts/partial/defaultIcons.js +91 -0
- package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +18 -5
- package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +10 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +11 -3
- package/dist/Atomic/FormElements/WidgetPseudoTable/partial/constructor.js +2 -1
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +12 -5
- package/dist/Atomic/FormElements/WidgetWithSwitchableRows/partial/constructor.js +3 -3
- package/dist/Atomic/Layout/Header/Header.js +15 -3
- package/dist/Atomic/Layout/MainMenu/MainMenu.js +20 -3
- package/dist/Atomic/Layout/Spinner/Spinner.js +8 -1
- package/dist/Atomic/UI/Accordion/Accordion.js +19 -3
- package/dist/Atomic/UI/Accordion/AccordionItem.js +23 -9
- package/dist/Atomic/UI/AccordionTable/AccordionTable.js +32 -7
- package/dist/Atomic/UI/AccordionText/AccordionText.js +17 -3
- package/dist/Atomic/UI/AdvancedTag/AdvTag.js +21 -4
- package/dist/Atomic/UI/AdvancedTag/AdvancedTags.js +15 -3
- package/dist/Atomic/UI/Alert/Alert.js +19 -3
- package/dist/Atomic/UI/Arrow/Arrow.js +16 -3
- package/dist/Atomic/UI/Box/Box.js +9 -3
- package/dist/Atomic/UI/Button/Button.js +11 -2
- package/dist/Atomic/UI/ButtonsBar/ButtonsBar.js +10 -1
- package/dist/Atomic/UI/Chart/Chart.js +29 -4
- package/dist/Atomic/UI/Chart/partial/Chart.constants.js +19 -11
- package/dist/Atomic/UI/Chart/partial/ChartTypeSwitcherIcon/ChartTypeSwitcherIcon.js +12 -1
- package/dist/Atomic/UI/Chart/partial/datasetSetters.js +34 -11
- package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +56 -82
- package/dist/Atomic/UI/Chart/partial/optionsSetters.js +19 -15
- package/dist/Atomic/UI/Chart/partial/utils.js +20 -6
- package/dist/Atomic/UI/CircleProgressBar/CircleProgressBar.js +13 -3
- package/dist/Atomic/UI/DateTime/DateTime.js +14 -3
- package/dist/Atomic/UI/DebugContainer/DebugContainer.js +16 -4
- package/dist/Atomic/UI/DebugContainer/useDebugContainer.js +11 -3
- package/dist/Atomic/UI/DoubleString/DoubleString.js +18 -5
- package/dist/Atomic/UI/DynamicIcon/DynamicIcon.js +10 -3
- package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +52 -17
- package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +29 -1
- package/dist/Atomic/UI/Hint/Hint.js +43 -11
- package/dist/Atomic/UI/Hint/partials/_utils.js +19 -4
- package/dist/Atomic/UI/Modal/Modal.js +28 -6
- package/dist/Atomic/UI/Modal/ModalHOC.js +9 -1
- package/dist/Atomic/UI/Modal/partials/ModalFooter.js +7 -1
- package/dist/Atomic/UI/Modal/partials/ModalTitle.js +8 -1
- package/dist/Atomic/UI/Modal/partials/useMobileModal.js +49 -32
- package/dist/Atomic/UI/ModalBackup/Modal.js +174 -0
- package/dist/Atomic/UI/ModalBackup/Modal.scss +333 -0
- package/dist/Atomic/UI/ModalBackup/ModalHOC.js +51 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalFooter.js +24 -0
- package/dist/Atomic/UI/ModalBackup/partials/ModalTitle.js +41 -0
- package/dist/Atomic/UI/MonoAccordion/MonoAccordion.js +21 -6
- package/dist/Atomic/UI/NavLine/NavLine.js +71 -42
- package/dist/Atomic/UI/NavLine/Tabs.js +3 -2
- package/dist/Atomic/UI/PageTitle/PageTitle.js +10 -2
- package/dist/Atomic/UI/PieChart/PieChart.js +10 -1
- package/dist/Atomic/UI/Price/Price.js +7 -1
- package/dist/Atomic/UI/PriceRange/PriceRange.js +7 -1
- package/dist/Atomic/UI/ProgressLine/ProgressLine.js +16 -1
- package/dist/Atomic/UI/Status/Status.js +8 -1
- package/dist/Atomic/UI/Table/Partials/TdCell.js +29 -5
- package/dist/Atomic/UI/Table/Partials/TdHeader.js +11 -1
- package/dist/Atomic/UI/Table/Partials/TdRow.js +17 -5
- package/dist/Atomic/UI/Table/Partials/TdTitle.js +14 -3
- package/dist/Atomic/UI/Table/Table.js +12 -1
- package/dist/Atomic/UI/Table/TdTypes/TdActions.js +18 -2
- package/dist/Atomic/UI/Table/TdTypes/TdPriority.js +9 -1
- package/dist/Atomic/UI/Table/TdTypes/TdRange.js +4 -1
- package/dist/Atomic/UI/Table/TdTypes/TdWeight.js +13 -1
- package/dist/Atomic/UI/Tag/Tag.js +26 -11
- package/dist/Atomic/UI/TagList/TagList.js +47 -21
- package/dist/Atomic/UI/UserBox/UserBox.js +13 -1
- package/dist/Atomic/UI/WizardStepper/constructor.js +11 -3
- package/dist/Atomic/UI/WizardStepper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/StateIcon.js +10 -0
- package/dist/Atomic/UI/WizardStepper/ui/StateIcon/index.js +4 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/StepRow.js +17 -2
- package/dist/Atomic/UI/WizardStepper/ui/StepRow/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/StepWrapper.js +15 -1
- package/dist/Atomic/UI/WizardStepper/ui/StepWrapper/index.js +5 -1
- package/dist/Atomic/UI/WizardStepper/ui/icons.js +9 -2
- package/dist/Atomic/UI/WizardStepper/ui/index.js +5 -1
- package/dist/Classes/AbortableFetch.js +93 -36
- package/dist/Classes/AnimatedHandler.js +7 -3
- package/dist/Classes/RESTAPI/index.js +43 -39
- package/dist/Classes/RESTAPI/partials/AbortableFetch.js +93 -35
- package/dist/Classes/RESTAPI/partials/ApiBase.js +9 -1
- package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +32 -24
- package/dist/Classes/RESTAPI/partials/ApiUtils.js +41 -34
- package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +46 -21
- package/dist/Classes/RESTAPI/partials/Utils.js +19 -6
- package/dist/Classes/RESTAPI/partials/_outerDependencies.js +6 -2
- package/dist/Classes/RESTAPI/partials/_utils.js +43 -19
- package/dist/Constants/index.constants.js +15 -8
- package/dist/Functions/Portal.js +16 -5
- package/dist/Functions/customEventListener.js +17 -4
- package/dist/Functions/dateTime.js +15 -5
- package/dist/Functions/fieldValueFormatters.js +90 -58
- package/dist/Functions/hooks/useFormFieldsChangesManager.js +26 -23
- package/dist/Functions/locale/createTranslator.js +9 -4
- package/dist/Functions/operations.js +22 -12
- package/dist/Functions/presets/inputMaskPresets.js +11 -9
- package/dist/Functions/presets/inputPresets.js +11 -8
- package/dist/Functions/presets/mobileKeyboardTypesPresets.js +9 -7
- package/dist/Functions/schemas.js +13 -6
- package/dist/Functions/useBodyScrollLock.js +6 -1
- package/dist/Functions/useClickOutside.js +4 -0
- package/dist/Functions/useDebounce.js +7 -2
- package/dist/Functions/useFieldFocus.js +18 -6
- package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +9 -0
- package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +23 -12
- package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +15 -6
- package/dist/Functions/useFormTools/functions/General.js +28 -18
- package/dist/Functions/useFormTools/functions/RenderFields.js +11 -2
- package/dist/Functions/useFormTools/functions/usePrevious.js +5 -1
- package/dist/Functions/useFormTools/index.js +144 -85
- package/dist/Functions/useInputHighlightError.js +12 -3
- package/dist/Functions/useIsMobile.js +13 -7
- package/dist/Functions/useKeyPress/useHandleKeyPress.js +7 -1
- package/dist/Functions/useKeyPress/useKeyPress.js +9 -1
- package/dist/Functions/useLocalStorage.js +9 -1
- package/dist/Functions/useLocationParams.js +5 -4
- package/dist/Functions/useMediaQuery.js +6 -1
- package/dist/Functions/useMetaInfo.js +10 -3
- package/dist/Functions/useMouseUpOutside.js +3 -0
- package/dist/Functions/useOnlineStatus.js +9 -1
- package/dist/Functions/usePasswordChecker.js +20 -4
- package/dist/Functions/usePrevious.js +5 -1
- package/dist/Functions/useResize.js +10 -2
- package/dist/Functions/useScrollTo.js +7 -2
- package/dist/Functions/useToggle.js +5 -1
- package/dist/Functions/utils.js +151 -76
- package/dist/Molecular/CustomIcons/components/AffiliateNetworks.js +9 -2
- package/dist/Molecular/CustomIcons/components/AlertCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/AppStore.js +9 -2
- package/dist/Molecular/CustomIcons/components/Arrow.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ArrowUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/Bell.js +9 -2
- package/dist/Molecular/CustomIcons/components/Button.js +9 -2
- package/dist/Molecular/CustomIcons/components/Campaigns.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check.js +9 -2
- package/dist/Molecular/CustomIcons/components/Check2.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronDownDisabled.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronLeft.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronRight.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUp.js +9 -2
- package/dist/Molecular/CustomIcons/components/ChevronUpDown.js +9 -2
- package/dist/Molecular/CustomIcons/components/Close.js +9 -2
- package/dist/Molecular/CustomIcons/components/ColumnsOrder.js +9 -2
- package/dist/Molecular/CustomIcons/components/Delete.js +9 -2
- package/dist/Molecular/CustomIcons/components/Edit.js +9 -2
- package/dist/Molecular/CustomIcons/components/Email.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo.js +9 -2
- package/dist/Molecular/CustomIcons/components/FinturfLogo2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Flows.js +9 -2
- package/dist/Molecular/CustomIcons/components/Gift.js +9 -2
- package/dist/Molecular/CustomIcons/components/GoogleAuth.js +9 -2
- package/dist/Molecular/CustomIcons/components/GooglePlay.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircle2.js +9 -2
- package/dist/Molecular/CustomIcons/components/HelpCircleFilled.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home.js +9 -2
- package/dist/Molecular/CustomIcons/components/Home2.js +9 -2
- package/dist/Molecular/CustomIcons/components/Key.js +9 -2
- package/dist/Molecular/CustomIcons/components/Landers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Lock.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mail.js +9 -2
- package/dist/Molecular/CustomIcons/components/Mastercard.js +9 -2
- package/dist/Molecular/CustomIcons/components/Minus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Offers.js +9 -2
- package/dist/Molecular/CustomIcons/components/Pause.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPal.js +9 -2
- package/dist/Molecular/CustomIcons/components/PayPalLightLarge.js +9 -2
- package/dist/Molecular/CustomIcons/components/Phone.js +9 -2
- package/dist/Molecular/CustomIcons/components/Play.js +9 -2
- package/dist/Molecular/CustomIcons/components/Plus.js +9 -2
- package/dist/Molecular/CustomIcons/components/Profile.js +9 -2
- package/dist/Molecular/CustomIcons/components/QRCode.js +9 -2
- package/dist/Molecular/CustomIcons/components/Rectangle.js +9 -2
- package/dist/Molecular/CustomIcons/components/Revert.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star.js +9 -2
- package/dist/Molecular/CustomIcons/components/Star2.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrafficSources.js +9 -2
- package/dist/Molecular/CustomIcons/components/Trash.js +9 -2
- package/dist/Molecular/CustomIcons/components/TrashRed.js +9 -2
- package/dist/Molecular/CustomIcons/components/Triggers.js +9 -2
- package/dist/Molecular/CustomIcons/components/User.js +9 -2
- package/dist/Molecular/CustomIcons/components/Visa.js +9 -2
- package/dist/Molecular/CustomIcons/components/X.js +9 -2
- package/dist/Molecular/CustomIcons/index.js +122 -0
- package/dist/Molecular/FormElement/FormElement.js +12 -1
- package/dist/Molecular/FormWithDependOn/FormWithDependOn.js +33 -33
- package/dist/Molecular/FormWithDependOn/partials/_utils.js +13 -11
- package/dist/Molecular/InputAddress/InputAddress.js +114 -65
- package/dist/Molecular/InputPassword/InputPassword.js +19 -5
- package/dist/index.js +2 -0
- package/package.json +1 -1
- package/dist/Atomic/UI/Hint/partial/_utils.js +0 -52
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -9,20 +10,26 @@ exports.clone = void 0;
|
|
|
9
10
|
exports.getInstanceOfFetchSystem = getInstanceOfFetchSystem;
|
|
10
11
|
exports.getIsOnlyAnObject = getIsOnlyAnObject;
|
|
11
12
|
exports.omitKeys = exports.getResponseClone = void 0;
|
|
13
|
+
|
|
12
14
|
var _AbortableFetch = _interopRequireDefault(require("./AbortableFetch"));
|
|
15
|
+
|
|
13
16
|
function getIsOnlyAnObject(input) {
|
|
14
17
|
return typeof input === "object" && input instanceof Object && !Array.isArray(input);
|
|
15
18
|
}
|
|
19
|
+
|
|
16
20
|
const clone = input => {
|
|
17
21
|
if (input === null || typeof input !== "object") return input;
|
|
18
22
|
const data = input instanceof Array ? [] : {};
|
|
23
|
+
|
|
19
24
|
for (const i in input) data[i] = clone(input[i]);
|
|
20
|
-
return data;
|
|
21
|
-
};
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
return data;
|
|
27
|
+
}; //принимает обьект и массив ключей обьекта
|
|
24
28
|
//возвращает обьект с теми полями, которых нет в массиве ключей
|
|
29
|
+
|
|
30
|
+
|
|
25
31
|
exports.clone = clone;
|
|
32
|
+
|
|
26
33
|
const omitKeys = function () {
|
|
27
34
|
let obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
28
35
|
let keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -34,9 +41,13 @@ const omitKeys = function () {
|
|
|
34
41
|
return rest;
|
|
35
42
|
}, obj);
|
|
36
43
|
};
|
|
44
|
+
|
|
37
45
|
exports.omitKeys = omitKeys;
|
|
46
|
+
|
|
38
47
|
const getResponseClone = async res => typeof (res === null || res === void 0 ? void 0 : res.clone) === "function" ? await res.clone() : clone(res);
|
|
48
|
+
|
|
39
49
|
exports.getResponseClone = getResponseClone;
|
|
50
|
+
|
|
40
51
|
function addCustomMethods(data, prefix) {
|
|
41
52
|
const preparedPrefix = (prefix || "").toString();
|
|
42
53
|
Object.keys(data).forEach(key => {
|
|
@@ -44,49 +55,54 @@ function addCustomMethods(data, prefix) {
|
|
|
44
55
|
if (typeof data[key] === "function" && getIsOnlyAnObject(this)) this[preparedKey] = data[key];
|
|
45
56
|
});
|
|
46
57
|
}
|
|
58
|
+
|
|
47
59
|
async function getInstanceOfFetchSystem(isGetBody) {
|
|
48
60
|
var _API_CONTEXT$addAsCom;
|
|
61
|
+
|
|
49
62
|
const API_CONTEXT = this;
|
|
50
63
|
const CREDENTIALS_CONTEXT = API_CONTEXT.credentialsProcessing;
|
|
51
|
-
let credentials = {};
|
|
52
|
-
|
|
64
|
+
let credentials = {}; //? Наличие credentialsProcessing включает добавление токена в принципе (если авторизованы в системе)
|
|
65
|
+
|
|
53
66
|
if (CREDENTIALS_CONTEXT) {
|
|
54
67
|
//? Метод getCredentials - классовый метод, обертка над getCredentials, переданным при создании экземпляра
|
|
55
68
|
//? В классовом getCredentials уже инкапсулирована логика использования importCredentials
|
|
56
69
|
const cred = await CREDENTIALS_CONTEXT.getCredentials();
|
|
57
70
|
credentials = CREDENTIALS_CONTEXT.isUseRefreshTokensPropcessing ? await CREDENTIALS_CONTEXT.waitRefresh(cred.isNeedRefresh && !CREDENTIALS_CONTEXT.getIsTokenStartRefresh()).then(async () => CREDENTIALS_CONTEXT.processCredentials(await CREDENTIALS_CONTEXT.getCredentials())) : cred;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
//? На уровне получения instance может уже сложиться ситуация, что сходили на рефреш и он неудачный.
|
|
71
|
+
} //? На уровне получения instance может уже сложиться ситуация, что сходили на рефреш и он неудачный.
|
|
61
72
|
//? Прерываем получение instance, даем возможность отработать callbackAfterRejectRefresh (смотри class CredentialsProcessing)
|
|
73
|
+
|
|
74
|
+
|
|
62
75
|
if (credentials.isRefreshFailed) return null;
|
|
76
|
+
|
|
63
77
|
if (API_CONTEXT.addAsCommon && typeof API_CONTEXT.addAsCommon !== "function") {
|
|
64
78
|
throw new Error("addAsCommon must be function [getInstanceOfFetchSystem]");
|
|
65
79
|
}
|
|
80
|
+
|
|
66
81
|
const {
|
|
67
82
|
headers: headersToAbortableFetchInstance,
|
|
68
83
|
queryParameters: queryParamsToAbortableFetchInstance,
|
|
69
84
|
options: optionsToAbortableFetchInstance
|
|
70
85
|
} = (await ((_API_CONTEXT$addAsCom = API_CONTEXT.addAsCommon) === null || _API_CONTEXT$addAsCom === void 0 ? void 0 : _API_CONTEXT$addAsCom.call(API_CONTEXT))) || {};
|
|
86
|
+
|
|
71
87
|
if (headersToAbortableFetchInstance && !getIsOnlyAnObject(headersToAbortableFetchInstance) || optionsToAbortableFetchInstance && !getIsOnlyAnObject(optionsToAbortableFetchInstance) || queryParamsToAbortableFetchInstance && !(typeof queryParamsToAbortableFetchInstance === "string" || getIsOnlyAnObject(queryParamsToAbortableFetchInstance) || Array.isArray(queryParamsToAbortableFetchInstance))) {
|
|
72
88
|
throw new Error("Bad output format from addAsCommon [getInstanceOfFetchSystem]");
|
|
73
|
-
}
|
|
89
|
+
} //? По итогу возвращается экземпляр класса AbortableFetch (который мы конфигурируем большим объектом настроек)
|
|
90
|
+
|
|
74
91
|
|
|
75
|
-
//? По итогу возвращается экземпляр класса AbortableFetch (который мы конфигурируем большим объектом настроек)
|
|
76
92
|
return (CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && CREDENTIALS_CONTEXT.isUseRefreshTokensPropcessing ? CREDENTIALS_CONTEXT.waitRefresh() : Promise.resolve()).then(async () => {
|
|
77
93
|
var _CREDENTIALS_CONTEXT$;
|
|
94
|
+
|
|
78
95
|
return new _AbortableFetch.default({
|
|
79
96
|
//? Метод по умолчанию
|
|
80
97
|
method: "GET",
|
|
81
98
|
//? Заголовки по умолчанию
|
|
82
|
-
headers: {
|
|
83
|
-
...headersToAbortableFetchInstance,
|
|
99
|
+
headers: { ...headersToAbortableFetchInstance,
|
|
84
100
|
//? (*) Тут обрабатываются кейсы
|
|
85
101
|
//? - когда нет this.credentialsProcessing
|
|
86
102
|
//? (мы НЕ хотим добавлять токены в принципе, не зашли в верхнюю if-ку)
|
|
87
103
|
//? - когда есть this.credentialsProcessing, но нет credentials.token (не авторизованы)
|
|
88
104
|
//? (зашли в верхнюю if-ку, попробовали получить/обновить креды)
|
|
89
|
-
...(credentials.token ? (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0
|
|
105
|
+
...(credentials.token ? (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : (_CREDENTIALS_CONTEXT$ = CREDENTIALS_CONTEXT.getHeadersForAuthorize) === null || _CREDENTIALS_CONTEXT$ === void 0 ? void 0 : _CREDENTIALS_CONTEXT$.call(CREDENTIALS_CONTEXT, credentials.token)) || {} : {})
|
|
90
106
|
},
|
|
91
107
|
queryParameters: await API_CONTEXT.processQueryParams(queryParamsToAbortableFetchInstance),
|
|
92
108
|
//? Опции по умолчанию
|
|
@@ -98,37 +114,44 @@ async function getInstanceOfFetchSystem(isGetBody) {
|
|
|
98
114
|
//? Каждый запрос (каждый запрос мультизапроса), сделаный методом request этого экземпляра выполнит этот колбек
|
|
99
115
|
everyPromiseCallback: async function everyPromiseCallback(response) {
|
|
100
116
|
var _CREDENTIALS_CONTEXT$2, _CREDENTIALS_CONTEXT$3;
|
|
117
|
+
|
|
101
118
|
//? this - это НЕ API_CONTEXT и НЕ CREDENTIALS_CONTEXT, a итоговый эекземпляр AbortableFetch
|
|
102
119
|
const ABORTABLE_FETCH_INSTANCE = this;
|
|
120
|
+
|
|
103
121
|
if (!response.status) {
|
|
104
122
|
var _request$mesageOption;
|
|
123
|
+
|
|
105
124
|
const request = ABORTABLE_FETCH_INSTANCE.requestInput.find(item => item.path === response.request.path);
|
|
106
|
-
const isUseErrorToast = request === null || request === void 0
|
|
125
|
+
const isUseErrorToast = request === null || request === void 0 ? void 0 : (_request$mesageOption = request.mesageOptions) === null || _request$mesageOption === void 0 ? void 0 : _request$mesageOption.isUseErrorToast;
|
|
126
|
+
|
|
107
127
|
if (isUseErrorToast) {
|
|
108
128
|
var _API_CONTEXT$sendMess;
|
|
109
|
-
|
|
129
|
+
|
|
130
|
+
(_API_CONTEXT$sendMess = API_CONTEXT.sendMessage) === null || _API_CONTEXT$sendMess === void 0 ? void 0 : _API_CONTEXT$sendMess.call(API_CONTEXT, API_CONTEXT.NO_INET, request.mesageOptions, response);
|
|
110
131
|
}
|
|
111
132
|
}
|
|
133
|
+
|
|
112
134
|
return API_CONTEXT.REJECT_CODES.includes(response.status) || CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && CREDENTIALS_CONTEXT.isUseRefreshTokensPropcessing && CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && (_CREDENTIALS_CONTEXT$2 = CREDENTIALS_CONTEXT.CODES_USING_THE_REFRESH_ATTEMPT) !== null && _CREDENTIALS_CONTEXT$2 !== void 0 && (_CREDENTIALS_CONTEXT$3 = _CREDENTIALS_CONTEXT$2.includes) !== null && _CREDENTIALS_CONTEXT$3 !== void 0 && _CREDENTIALS_CONTEXT$3.call(_CREDENTIALS_CONTEXT$2, response.status) ? Promise.reject(new Error("status:".concat(response.status))) : Promise.resolve(!isGetBody ? response : await API_CONTEXT.getResponseBody(response));
|
|
113
135
|
},
|
|
114
136
|
//? Если хоть один запрос из пачки будет зареджекчен, зареджектится вся пачка.
|
|
115
137
|
//? В этом случае будет выполнен этот колбэк
|
|
116
138
|
catchCallback: async function catchCallback(res) {
|
|
117
139
|
var _CREDENTIALS_CONTEXT$4, _CREDENTIALS_CONTEXT$5;
|
|
140
|
+
|
|
118
141
|
//? this - это НЕ API_CONTEXT и НЕ CREDENTIALS_CONTEXT, a итоговый эекземпляр AbortableFetch
|
|
119
142
|
const ABORTABLE_FETCH_INSTANCE = this;
|
|
120
143
|
const code = Number(res.message.split(":")[1]);
|
|
144
|
+
|
|
121
145
|
if (CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && (_CREDENTIALS_CONTEXT$4 = CREDENTIALS_CONTEXT.CODES_USING_THE_REFRESH_ATTEMPT) !== null && _CREDENTIALS_CONTEXT$4 !== void 0 && (_CREDENTIALS_CONTEXT$5 = _CREDENTIALS_CONTEXT$4.includes) !== null && _CREDENTIALS_CONTEXT$5 !== void 0 && _CREDENTIALS_CONTEXT$5.call(_CREDENTIALS_CONTEXT$4, code)) {
|
|
122
146
|
var _CREDENTIALS_CONTEXT$6;
|
|
147
|
+
|
|
123
148
|
const isDoRefresh = !(CREDENTIALS_CONTEXT !== null && CREDENTIALS_CONTEXT !== void 0 && (_CREDENTIALS_CONTEXT$6 = CREDENTIALS_CONTEXT.getIsTokenStartRefresh) !== null && _CREDENTIALS_CONTEXT$6 !== void 0 && _CREDENTIALS_CONTEXT$6.call(CREDENTIALS_CONTEXT));
|
|
124
149
|
return CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.waitRefresh(isDoRefresh).then(async () => {
|
|
125
150
|
//? Пробуем зарефрешить
|
|
126
|
-
const newCredentials = await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.processCredentials({
|
|
127
|
-
...(await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.getCredentials(true))),
|
|
151
|
+
const newCredentials = await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.processCredentials({ ...(await (CREDENTIALS_CONTEXT === null || CREDENTIALS_CONTEXT === void 0 ? void 0 : CREDENTIALS_CONTEXT.getCredentials(true))),
|
|
128
152
|
isCatchCallbackProcess: isDoRefresh
|
|
129
153
|
}));
|
|
130
|
-
ABORTABLE_FETCH_INSTANCE.setHeaders({
|
|
131
|
-
...ABORTABLE_FETCH_INSTANCE.getHeaders(),
|
|
154
|
+
ABORTABLE_FETCH_INSTANCE.setHeaders({ ...ABORTABLE_FETCH_INSTANCE.getHeaders(),
|
|
132
155
|
...(newCredentials !== null && newCredentials !== void 0 && newCredentials.token ? {
|
|
133
156
|
Authorization: "Bearer ".concat(newCredentials === null || newCredentials === void 0 ? void 0 : newCredentials.token)
|
|
134
157
|
} : {})
|
|
@@ -137,6 +160,7 @@ async function getInstanceOfFetchSystem(isGetBody) {
|
|
|
137
160
|
return Promise.reject(res);
|
|
138
161
|
});
|
|
139
162
|
}
|
|
163
|
+
|
|
140
164
|
return Promise.reject(res);
|
|
141
165
|
}
|
|
142
166
|
});
|
|
@@ -4,18 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.OS = exports.MAX_PHONE_LENGTH = exports.MAX_NAME_LENGTH = exports.KEYBOARD_SERVICE_KEYS = exports.KEYBOARD_KEY_CODES = exports.DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = exports.DEFAULT_COLORS = void 0;
|
|
7
|
-
const KEYBOARD_SERVICE_KEYS =
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
7
|
+
const KEYBOARD_SERVICE_KEYS = ["Escape", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "Tab", "CapsLock", "Shift", "Control", "Meta", "Option", "Alt", "ContextMenu", "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "NumLock", "Backspace", "Delete", "Enter", "Return", "Insert", "Home", "End", "PageUp", "PageDown", "PrintScreen", "ScrollLock", "Pause"];
|
|
8
|
+
exports.KEYBOARD_SERVICE_KEYS = KEYBOARD_SERVICE_KEYS;
|
|
9
|
+
const MAX_PHONE_LENGTH = 10;
|
|
10
|
+
exports.MAX_PHONE_LENGTH = MAX_PHONE_LENGTH;
|
|
11
|
+
const MAX_NAME_LENGTH = 128;
|
|
12
|
+
exports.MAX_NAME_LENGTH = MAX_NAME_LENGTH;
|
|
13
|
+
const DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = "_";
|
|
14
|
+
exports.DEFAULT_DATE_MASK_NO_VALUE_SYMBOL = DEFAULT_DATE_MASK_NO_VALUE_SYMBOL;
|
|
15
|
+
const DEFAULT_COLORS = ["#D9C1FF", "#FFBAF0", "#FFB8CE", "#FFC3A2", "#FFDB7C", "#F9F871", "#C3FCF1", "#F6F2CB", "#E0F8D1", "#B1DFFB", "#8DECFE", "#76F7ED", "#8AFEC8"];
|
|
16
|
+
exports.DEFAULT_COLORS = DEFAULT_COLORS;
|
|
17
|
+
const KEYBOARD_KEY_CODES = {
|
|
13
18
|
Backspace: 8,
|
|
14
19
|
Delete: 46,
|
|
15
20
|
ARROW_LEFT: 37,
|
|
16
21
|
ARROW_RIGHT: 39
|
|
17
22
|
};
|
|
18
|
-
|
|
23
|
+
exports.KEYBOARD_KEY_CODES = KEYBOARD_KEY_CODES;
|
|
24
|
+
const OS = {
|
|
19
25
|
iOS: "iOS",
|
|
20
26
|
Android: "Android",
|
|
21
27
|
WP: "Windows Phone",
|
|
@@ -23,4 +29,5 @@ const OS = exports.OS = {
|
|
|
23
29
|
Windows: "Windows",
|
|
24
30
|
MacOS: "MacOS",
|
|
25
31
|
Unknown: "unknown"
|
|
26
|
-
};
|
|
32
|
+
};
|
|
33
|
+
exports.OS = OS;
|
package/dist/Functions/Portal.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
|
-
|
|
11
|
-
function
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
12
18
|
const Portal = _ref => {
|
|
13
19
|
let {
|
|
14
20
|
children,
|
|
@@ -17,14 +23,19 @@ const Portal = _ref => {
|
|
|
17
23
|
const [container] = (0, _react.useState)(() => document.createElement("div"));
|
|
18
24
|
(0, _react.useEffect)(() => {
|
|
19
25
|
var _parent;
|
|
26
|
+
|
|
20
27
|
let parent;
|
|
21
28
|
if (parentSelector) parent = document.querySelector(parentSelector);else parent = document.body;
|
|
22
|
-
(_parent = parent) === null || _parent === void 0
|
|
29
|
+
(_parent = parent) === null || _parent === void 0 ? void 0 : _parent.appendChild(container);
|
|
23
30
|
return () => {
|
|
24
31
|
var _parent2;
|
|
25
|
-
|
|
32
|
+
|
|
33
|
+
(_parent2 = parent) === null || _parent2 === void 0 ? void 0 : _parent2.removeChild(container);
|
|
26
34
|
};
|
|
27
35
|
}, []);
|
|
28
36
|
return /*#__PURE__*/_reactDom.default.createPortal(children, container);
|
|
29
37
|
};
|
|
30
|
-
|
|
38
|
+
|
|
39
|
+
var _default = /*#__PURE__*/_react.default.memo(Portal);
|
|
40
|
+
|
|
41
|
+
exports.default = _default;
|
|
@@ -2,43 +2,55 @@
|
|
|
2
2
|
|
|
3
3
|
(function () {
|
|
4
4
|
Element.prototype._addEventListener = Element.prototype.addEventListener;
|
|
5
|
+
|
|
5
6
|
Element.prototype.addEventListener = function (a, b, c) {
|
|
6
7
|
if (c == undefined) c = false;
|
|
8
|
+
|
|
7
9
|
this._addEventListener(a, b, c);
|
|
10
|
+
|
|
8
11
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
9
|
-
if (!this.eventListenerList[a]) this.eventListenerList[a] = [];
|
|
10
|
-
|
|
12
|
+
if (!this.eventListenerList[a]) this.eventListenerList[a] = []; //this.removeEventListener(a,b,c); // TODO - handle duplicates..
|
|
13
|
+
|
|
11
14
|
this.eventListenerList[a].push({
|
|
12
15
|
listener: b,
|
|
13
16
|
useCapture: c
|
|
14
17
|
});
|
|
15
18
|
};
|
|
19
|
+
|
|
16
20
|
Element.prototype.getEventListeners = function (a) {
|
|
17
21
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
18
22
|
if (a == undefined) return this.eventListenerList;
|
|
19
23
|
return this.eventListenerList[a];
|
|
20
24
|
};
|
|
25
|
+
|
|
21
26
|
Element.prototype.clearEventListeners = function (a) {
|
|
22
27
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
28
|
+
|
|
23
29
|
if (a == undefined) {
|
|
24
30
|
for (const x in this.getEventListeners()) this.clearEventListeners(x);
|
|
31
|
+
|
|
25
32
|
return;
|
|
26
33
|
}
|
|
34
|
+
|
|
27
35
|
const el = this.getEventListeners(a);
|
|
28
36
|
if (el == undefined) return;
|
|
37
|
+
|
|
29
38
|
for (let i = el.length - 1; i >= 0; --i) {
|
|
30
39
|
const ev = el[i];
|
|
31
40
|
this.removeEventListener(a, ev.listener, ev.useCapture);
|
|
32
41
|
}
|
|
33
42
|
};
|
|
43
|
+
|
|
34
44
|
Element.prototype._removeEventListener = Element.prototype.removeEventListener;
|
|
45
|
+
|
|
35
46
|
Element.prototype.removeEventListener = function (a, b, c) {
|
|
36
47
|
if (c == undefined) c = false;
|
|
48
|
+
|
|
37
49
|
this._removeEventListener(a, b, c);
|
|
50
|
+
|
|
38
51
|
if (!this.eventListenerList) this.eventListenerList = {};
|
|
39
|
-
if (!this.eventListenerList[a]) this.eventListenerList[a] = [];
|
|
52
|
+
if (!this.eventListenerList[a]) this.eventListenerList[a] = []; // Find the event in the list
|
|
40
53
|
|
|
41
|
-
// Find the event in the list
|
|
42
54
|
for (let i = 0; i < this.eventListenerList[a].length; i++) {
|
|
43
55
|
if (this.eventListenerList[a][i].listener == b, this.eventListenerList[a][i].useCapture == c) {
|
|
44
56
|
// Hmm..
|
|
@@ -46,6 +58,7 @@
|
|
|
46
58
|
break;
|
|
47
59
|
}
|
|
48
60
|
}
|
|
61
|
+
|
|
49
62
|
if (this.eventListenerList[a].length == 0) delete this.eventListenerList[a];
|
|
50
63
|
};
|
|
51
64
|
})();
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.DATE_UNITS = exports.DATETIME_FORMATS = void 0;
|
|
8
9
|
exports.parseAndFormatDate = parseAndFormatDate;
|
|
10
|
+
|
|
9
11
|
var _moment = _interopRequireDefault(require("moment"));
|
|
12
|
+
|
|
10
13
|
/**
|
|
11
14
|
* @constant {Object} DATETIME_FORMATS
|
|
12
15
|
* @description Все доступные форматы дат и времени.
|
|
13
16
|
*/
|
|
14
|
-
const DATETIME_FORMATS =
|
|
17
|
+
const DATETIME_FORMATS = Object.freeze({
|
|
15
18
|
// Основные форматы
|
|
16
19
|
DATE_FORMAT: "YYYY-MM-DD",
|
|
17
20
|
// Стандартный формат даты
|
|
@@ -29,7 +32,6 @@ const DATETIME_FORMATS = exports.DATETIME_FORMATS = Object.freeze({
|
|
|
29
32
|
// Время с T (ISO формат)
|
|
30
33
|
DATE_FORMAT_WITH_SLASH: "MM/DD/YYYY",
|
|
31
34
|
// Дата с разделителем /
|
|
32
|
-
|
|
33
35
|
// Дополнительные форматы
|
|
34
36
|
DATE_WITH_DASHES: "MM-DD-YYYY",
|
|
35
37
|
// Дата с дефисами
|
|
@@ -58,7 +60,9 @@ const DATETIME_FORMATS = exports.DATETIME_FORMATS = Object.freeze({
|
|
|
58
60
|
MONTH_DAY: "MM/DD",
|
|
59
61
|
// Только месяц и день
|
|
60
62
|
YEAR_MONTH_DAY: "YYYY/MM/DD" // Год/Месяц/День
|
|
63
|
+
|
|
61
64
|
});
|
|
65
|
+
exports.DATETIME_FORMATS = DATETIME_FORMATS;
|
|
62
66
|
const formatMap = Object.freeze({
|
|
63
67
|
[DATETIME_FORMATS.DATE_FORMAT]: "YYYY-MM-DD",
|
|
64
68
|
// Стандартный формат даты
|
|
@@ -103,13 +107,14 @@ const formatMap = Object.freeze({
|
|
|
103
107
|
[DATETIME_FORMATS.MONTH_DAY]: "MM/DD",
|
|
104
108
|
// Только месяц и день
|
|
105
109
|
[DATETIME_FORMATS.YEAR_MONTH_DAY]: "YYYY/MM/DD" // Год/Месяц/День
|
|
106
|
-
});
|
|
107
110
|
|
|
111
|
+
});
|
|
108
112
|
/**
|
|
109
113
|
* @constant {Object} DATE_UNITS
|
|
110
114
|
* @description Единицы времени, которые могут быть использованы для работы с датами.
|
|
111
115
|
*/
|
|
112
|
-
|
|
116
|
+
|
|
117
|
+
const DATE_UNITS = Object.freeze({
|
|
113
118
|
YEARS: Object.freeze({
|
|
114
119
|
YEARS: "years",
|
|
115
120
|
YEAR: "year",
|
|
@@ -160,7 +165,6 @@ const DATE_UNITS = exports.DATE_UNITS = Object.freeze({
|
|
|
160
165
|
MS: "ms"
|
|
161
166
|
})
|
|
162
167
|
});
|
|
163
|
-
|
|
164
168
|
/**
|
|
165
169
|
* Функция для парсинга и форматирования строки с датой в указанный формат.
|
|
166
170
|
*
|
|
@@ -172,14 +176,20 @@ const DATE_UNITS = exports.DATE_UNITS = Object.freeze({
|
|
|
172
176
|
*
|
|
173
177
|
* @throws {Error} - Если значение даты некорректно (не строка или пустое).
|
|
174
178
|
*/
|
|
179
|
+
|
|
180
|
+
exports.DATE_UNITS = DATE_UNITS;
|
|
181
|
+
|
|
175
182
|
function parseAndFormatDate(value) {
|
|
176
183
|
let outputFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DATETIME_FORMATS.INPUT_DATE_FORMAT;
|
|
177
184
|
if (!value || typeof value !== "string") return value;
|
|
185
|
+
|
|
178
186
|
for (let format in formatMap) {
|
|
179
187
|
const parsedDate = (0, _moment.default)(value, formatMap[format], true);
|
|
188
|
+
|
|
180
189
|
if (parsedDate.isValid()) {
|
|
181
190
|
return parsedDate.format(outputFormat);
|
|
182
191
|
}
|
|
183
192
|
}
|
|
193
|
+
|
|
184
194
|
return value;
|
|
185
195
|
}
|