@steroidsjs/core 3.0.0-beta.8 → 3.0.0-beta.81
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/README.md +23 -6
- package/actions/list.d.ts +71 -4
- package/actions/list.js +7 -9
- package/base/Enum.d.ts +3 -3
- package/components/ClientStorageComponent.d.ts +27 -1
- package/components/ClientStorageComponent.js +4 -3
- package/components/HttpComponent.d.ts +1 -0
- package/components/HttpComponent.js +4 -3
- package/components/LocaleComponent.d.ts +53 -6
- package/components/LocaleComponent.js +9 -8
- package/components/ResourceComponent.d.ts +88 -6
- package/components/ResourceComponent.js +11 -11
- package/components/UiComponent.d.ts +130 -1
- package/docs-autogen-result.json +29385 -0
- package/en.json +786 -0
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +3 -1
- package/hooks/useAddressBar.d.ts +11 -0
- package/hooks/useApplication.d.ts +4 -1
- package/hooks/useApplication.js +13 -1
- package/hooks/useDataProvider.d.ts +29 -29
- package/hooks/useDataProvider.js +4 -5
- package/hooks/useDataSelect.d.ts +10 -3
- package/hooks/useDataSelect.js +37 -23
- package/hooks/useFetch.d.ts +5 -6
- package/hooks/useFetch.js +0 -3
- package/hooks/useFile.d.ts +51 -2
- package/hooks/useForm.d.ts +0 -1
- package/hooks/useForm.js +0 -1
- package/hooks/useList.d.ts +14 -5
- package/hooks/useList.js +6 -2
- package/hooks/useTheme.d.ts +2 -0
- package/hooks/useTheme.js +8 -0
- package/index.d.ts +28 -15
- package/package.json +12 -7
- package/providers/ComponentsProvider.d.ts +8 -5
- package/providers/ThemeProvider.d.ts +14 -0
- package/providers/ThemeProvider.js +62 -0
- package/reducers/list.d.ts +1 -0
- package/reducers/list.js +4 -1
- package/reducers/router.d.ts +0 -1
- package/reducers/router.js +2 -2
- package/ui/content/Accordion/Accordion.d.ts +40 -15
- package/ui/content/Accordion/AccordionItem.d.ts +4 -3
- package/ui/content/Alert/Alert.d.ts +29 -10
- package/ui/content/Avatar/Avatar.d.ts +26 -24
- package/ui/content/Avatar/Avatar.js +1 -1
- package/ui/content/Avatar/AvatarGroup.d.ts +3 -3
- package/ui/content/Badge/Badge.d.ts +29 -16
- package/ui/content/Badge/Badge.js +1 -1
- package/ui/content/Calendar/Calendar.d.ts +15 -11
- package/ui/content/Calendar/Calendar.js +3 -1
- package/ui/content/Card/Card.d.ts +75 -45
- package/ui/content/Card/Card.js +0 -5
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +68 -8
- package/ui/content/CopyToClipboard/CopyToClipboard.js +26 -59
- package/ui/content/Detail/Detail.d.ts +16 -11
- package/ui/content/Detail/DetailItem.d.ts +1 -1
- package/ui/content/DropDown/DropDown.d.ts +21 -9
- package/ui/content/DropDown/DropDown.js +14 -2
- package/ui/content/Icon/Icon.d.ts +13 -7
- package/ui/content/Icon/Icon.js +4 -1
- package/ui/content/Menu/Menu.d.ts +56 -0
- package/ui/content/Menu/Menu.js +23 -0
- package/ui/content/Menu/index.d.ts +2 -0
- package/ui/{list/LayoutNames/demo/basic.js → content/Menu/index.js} +2 -7
- package/ui/content/Slider/Slider.d.ts +28 -0
- package/ui/content/Slider/Slider.js +19 -0
- package/ui/content/Slider/index.d.ts +2 -0
- package/ui/content/Slider/index.js +7 -0
- package/ui/content/index.d.ts +6 -1
- package/ui/content/index.js +12 -1
- package/ui/crud/Crud/Crud.d.ts +116 -4
- package/ui/crud/Crud/CrudContent.d.ts +1 -2
- package/ui/crud/Crud/utils.js +10 -14
- package/ui/crud/index.d.ts +0 -1
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +26 -6
- package/ui/form/AutoCompleteField/AutoCompleteField.js +17 -3
- package/ui/form/BlankField/BlankField.d.ts +19 -1
- package/ui/form/Button/Button.d.ts +19 -26
- package/ui/form/Button/Button.js +1 -10
- package/ui/form/CheckboxField/CheckboxField.d.ts +6 -9
- package/ui/form/CheckboxField/CheckboxField.js +36 -6
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +10 -10
- package/ui/form/CheckboxListField/CheckboxListField.js +32 -7
- package/ui/form/DateField/DateField.d.ts +20 -15
- package/ui/form/DateField/DateField.js +7 -2
- package/ui/form/DateField/useDateInputState.js +4 -3
- package/ui/form/DateField/useDateTime.js +3 -2
- package/ui/form/DateRangeField/DateRangeField.d.ts +12 -21
- package/ui/form/DateRangeField/DateRangeField.js +3 -2
- package/ui/form/DateTimeField/DateTimeField.d.ts +9 -15
- package/ui/form/DateTimeField/DateTimeField.js +4 -2
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +7 -21
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +3 -2
- package/ui/form/DropDownField/DropDownField.d.ts +94 -23
- package/ui/form/DropDownField/DropDownField.js +113 -8
- package/ui/form/Field/Field.d.ts +3 -2
- package/ui/form/Field/fieldWrapper.d.ts +29 -9
- package/ui/form/Field/fieldWrapper.js +5 -5
- package/ui/form/FieldLayout/FieldLayout.d.ts +13 -20
- package/ui/form/FieldLayout/FieldLayout.js +1 -13
- package/ui/form/FieldList/FieldList.d.ts +11 -20
- package/ui/form/FieldList/FieldList.js +2 -3
- package/ui/form/FieldSet/FieldSet.d.ts +1 -1
- package/ui/form/FieldSet/FieldSet.js +2 -4
- package/ui/form/FileField/FileField.d.ts +54 -34
- package/ui/form/FileField/FileField.js +30 -10
- package/ui/form/Form/Form.d.ts +32 -40
- package/ui/form/Form/Form.js +26 -34
- package/ui/form/HtmlField/HtmlField.d.ts +2 -11
- package/ui/form/ImageField/ImageField.d.ts +15 -14
- package/ui/form/ImageField/ImageField.js +4 -0
- package/ui/form/InputField/InputField.d.ts +52 -50
- package/ui/form/InputField/InputField.js +51 -16
- package/ui/form/MaskField/MaskField.d.ts +10 -0
- package/ui/form/MaskField/MaskField.js +34 -0
- package/ui/form/MaskField/index.d.ts +2 -0
- package/ui/form/MaskField/index.js +7 -0
- package/ui/form/NavField/NavField.d.ts +6 -3
- package/ui/form/NumberField/NumberField.d.ts +10 -10
- package/ui/form/NumberField/NumberField.js +2 -7
- package/ui/form/PasswordField/PasswordField.d.ts +20 -14
- package/ui/form/PasswordField/PasswordField.js +20 -11
- package/ui/form/RadioField/RadioField.d.ts +31 -0
- package/{hoc/file.js → ui/form/RadioField/RadioField.js} +21 -5
- package/ui/form/RadioField/index.d.ts +2 -0
- package/ui/form/RadioField/index.js +7 -0
- package/ui/form/RadioListField/RadioListField.d.ts +10 -9
- package/ui/form/RadioListField/RadioListField.js +32 -2
- package/ui/form/RateField/RateField.d.ts +11 -13
- package/ui/form/RateField/RateField.js +2 -1
- package/ui/form/RateField/demo/errors.js +1 -1
- package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +66 -5
- package/ui/form/ReCaptchaField/ReCaptchaField.js +22 -1
- package/ui/form/SliderField/SliderField.d.ts +3 -12
- package/ui/form/SliderField/SliderField.js +1 -1
- package/ui/form/SwitcherField/SwitcherField.d.ts +21 -15
- package/ui/form/SwitcherField/SwitcherField.js +34 -4
- package/ui/form/SwitcherField/demo/errors.js +1 -1
- package/ui/form/TextField/TextField.d.ts +8 -27
- package/ui/form/TextField/TextField.js +8 -8
- package/ui/form/TimeField/TimeField.d.ts +2 -16
- package/ui/form/TimeField/TimeField.js +3 -2
- package/ui/form/TimeField/demo/errors.js +1 -1
- package/ui/form/TimeRangeField/TimeRangeField.d.ts +58 -0
- package/ui/form/TimeRangeField/TimeRangeField.js +85 -0
- package/ui/form/TimeRangeField/index.d.ts +2 -0
- package/ui/form/TimeRangeField/index.js +7 -0
- package/ui/form/index.d.ts +37 -1
- package/ui/form/index.js +37 -1
- package/ui/form/validate.js +3 -2
- package/ui/format/BooleanFormatter/BooleanFormatter.d.ts +13 -0
- package/ui/format/DateFormatter/DateFormatter.d.ts +11 -1
- package/ui/format/DateFormatter/DateFormatter.js +1 -1
- package/ui/format/DateTimeFormatter/DateTimeFormatter.d.ts +11 -1
- package/ui/format/DateTimeFormatter/DateTimeFormatter.js +4 -3
- package/ui/format/EnumFormatter/EnumFormatter.d.ts +10 -0
- package/ui/format/FileSize/FileSize.d.ts +8 -3
- package/ui/format/FileSize/FileSize.js +1 -1
- package/ui/format/Format/Format.d.ts +6 -0
- package/ui/format/MoneyFormatter/MoneyFormatter.d.ts +9 -1
- package/ui/format/MoneyFormatter/MoneyFormatter.js +3 -2
- package/ui/layout/Header/Header.d.ts +92 -9
- package/ui/layout/Header/Header.js +20 -1
- package/ui/layout/Loader/Loader.d.ts +15 -1
- package/ui/layout/Meta/Meta.js +3 -3
- package/ui/layout/Notifications/Notifications.d.ts +32 -1
- package/ui/layout/ProgressBar/ProgressBar.js +8 -4
- package/ui/layout/Sidebar/Sidebar.d.ts +87 -0
- package/{hoc/layout.js → ui/layout/Sidebar/Sidebar.js} +24 -12
- package/ui/layout/Sidebar/index.d.ts +2 -0
- package/ui/layout/Sidebar/index.js +7 -0
- package/ui/layout/Skeleton/Skeleton.d.ts +25 -2
- package/ui/layout/Tooltip/Tooltip.d.ts +31 -5
- package/ui/layout/Tooltip/Tooltip.js +3 -0
- package/ui/layout/Tooltip/calculate.d.ts +3 -3
- package/ui/layout/Tooltip/calculate.js +4 -1
- package/ui/layout/index.d.ts +2 -1
- package/ui/layout/index.js +3 -1
- package/ui/list/CheckboxColumn/CheckboxColumn.d.ts +3 -2
- package/ui/list/CheckboxColumn/CheckboxColumn.js +4 -1
- package/ui/list/ControlsColumn/ControlsColumn.d.ts +4 -3
- package/ui/list/Empty/Empty.d.ts +1 -10
- package/ui/list/Empty/Empty.js +2 -2
- package/ui/list/FlexGrid/FlexGrid.d.ts +85 -0
- package/ui/list/FlexGrid/FlexGrid.js +51 -0
- package/ui/list/FlexGrid/index.d.ts +2 -0
- package/ui/list/FlexGrid/index.js +7 -0
- package/ui/list/Grid/Grid.d.ts +69 -3
- package/ui/list/Grid/Grid.js +12 -3
- package/ui/list/List/List.d.ts +2 -0
- package/ui/list/List/List.js +1 -0
- package/ui/list/Pagination/Pagination.d.ts +18 -5
- package/ui/list/Pagination/Pagination.js +15 -7
- package/ui/list/PaginationSize/PaginationSize.d.ts +10 -12
- package/ui/list/PaginationSize/PaginationSize.js +10 -9
- package/ui/list/SearchForm/SearchForm.d.ts +3 -0
- package/ui/list/SearchForm/demo/basic.js +5 -2
- package/ui/list/Steps/Steps.d.ts +6 -3
- package/ui/list/Steps/Steps.js +11 -5
- package/ui/modal/Modal/Modal.d.ts +5 -5
- package/ui/modal/Modal/Modal.js +1 -1
- package/ui/modal/ModalPortal/ModalPortal.d.ts +3 -0
- package/ui/modal/TwoFactorModal/TwoFactorModal.d.ts +10 -2
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +12 -2
- package/ui/nav/ButtonGroup/ButtonGroup.d.ts +44 -0
- package/ui/nav/ButtonGroup/ButtonGroup.js +59 -0
- package/ui/nav/ButtonGroup/index.d.ts +2 -0
- package/ui/nav/ButtonGroup/index.js +7 -0
- package/ui/nav/Controls/Controls.d.ts +3 -3
- package/ui/nav/Controls/Controls.js +6 -5
- package/ui/nav/Link/Link.d.ts +1 -0
- package/ui/nav/Link/Link.js +1 -1
- package/ui/nav/Nav/Nav.d.ts +13 -6
- package/ui/nav/Nav/Nav.js +29 -14
- package/ui/nav/Router/Router.d.ts +0 -10
- package/ui/nav/Router/Router.js +15 -77
- package/ui/nav/Router/helpers.d.ts +4 -0
- package/ui/nav/Router/helpers.js +81 -0
- package/ui/nav/Tree/Tree.d.ts +7 -2
- package/ui/nav/Tree/Tree.js +37 -14
- package/ui/nav/index.d.ts +2 -1
- package/ui/nav/index.js +3 -1
- package/ui/typography/Text/Text.d.ts +38 -0
- package/ui/typography/Text/Text.js +22 -0
- package/ui/typography/Text/index.d.ts +2 -0
- package/ui/typography/Text/index.js +7 -0
- package/ui/typography/Title/Title.d.ts +38 -0
- package/ui/typography/Title/Title.js +22 -0
- package/ui/typography/Title/index.d.ts +2 -0
- package/ui/typography/Title/index.js +7 -0
- package/ui/typography/index.d.ts +3 -0
- package/ui/typography/index.js +10 -0
- package/utils/calendar.d.ts +1 -1
- package/utils/calendar.js +15 -15
- package/utils/form.d.ts +0 -2
- package/utils/form.js +1 -12
- package/components/ApiComponent.d.ts +0 -23
- package/components/ApiComponent.js +0 -75
- package/hoc/application.d.ts +0 -8
- package/hoc/application.js +0 -50
- package/hoc/bem.d.ts +0 -14
- package/hoc/bem.js +0 -42
- package/hoc/components.d.ts +0 -11
- package/hoc/components.js +0 -62
- package/hoc/connect.d.ts +0 -6
- package/hoc/connect.js +0 -3
- package/hoc/fetch.d.ts +0 -13
- package/hoc/fetch.js +0 -60
- package/hoc/file.d.ts +0 -28
- package/hoc/http.d.ts +0 -7
- package/hoc/http.js +0 -53
- package/hoc/index.d.ts +0 -8
- package/hoc/index.js +0 -20
- package/hoc/layout.d.ts +0 -30
- package/ui/content/Card/demo/basic.d.ts +0 -8
- package/ui/content/Card/demo/basic.js +0 -39
- package/ui/content/Card/demo/border color.d.ts +0 -3
- package/ui/content/Card/demo/border color.js +0 -52
- package/ui/content/Card/demo/color.d.ts +0 -3
- package/ui/content/Card/demo/color.js +0 -52
- package/ui/content/Card/demo/header.d.ts +0 -3
- package/ui/content/Card/demo/header.js +0 -47
- package/ui/content/Card/demo/hover.d.ts +0 -3
- package/ui/content/Card/demo/hover.js +0 -42
- package/ui/content/Card/demo/link.d.ts +0 -3
- package/ui/content/Card/demo/link.js +0 -43
- package/ui/content/Card/demo/orientation.d.ts +0 -3
- package/ui/content/Card/demo/orientation.js +0 -46
- package/ui/content/Detail/demo/basic.d.ts +0 -8
- package/ui/content/Detail/demo/basic.js +0 -60
- package/ui/content/Detail/demo/colors.d.ts +0 -3
- package/ui/content/Detail/demo/colors.js +0 -44
- package/ui/content/Detail/demo/controls.d.ts +0 -8
- package/ui/content/Detail/demo/controls.js +0 -60
- package/ui/content/Detail/demo/layout.d.ts +0 -8
- package/ui/content/Detail/demo/layout.js +0 -60
- package/ui/content/Detail/demo/responsive.d.ts +0 -8
- package/ui/content/Detail/demo/responsive.js +0 -75
- package/ui/content/Detail/demo/sizes.d.ts +0 -8
- package/ui/content/Detail/demo/sizes.js +0 -65
- package/ui/content/Icon/demo/icon.d.ts +0 -3
- package/ui/content/Icon/demo/icon.js +0 -32
- package/ui/crud/Crud/demo/default.d.ts +0 -8
- package/ui/crud/Crud/demo/default.js +0 -76
- package/ui/form/AutoCompleteField/demo/basic.d.ts +0 -12
- package/ui/form/AutoCompleteField/demo/basic.js +0 -52
- package/ui/form/AutoCompleteField/demo/disabled.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/disabled.js +0 -38
- package/ui/form/AutoCompleteField/demo/errors.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/errors.js +0 -38
- package/ui/form/AutoCompleteField/demo/placeholder.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/placeholder.js +0 -38
- package/ui/form/AutoCompleteField/demo/required.d.ts +0 -8
- package/ui/form/AutoCompleteField/demo/required.js +0 -38
- package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -3
- package/ui/form/AutoCompleteField/demo/sizes.js +0 -43
- package/ui/form/BlankField/demo/basic.d.ts +0 -12
- package/ui/form/BlankField/demo/basic.js +0 -55
- package/ui/form/CheckboxListField/demo/basic.d.ts +0 -9
- package/ui/form/CheckboxListField/demo/basic.js +0 -43
- package/ui/form/CheckboxListField/demo/disabled.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/disabled.js +0 -38
- package/ui/form/CheckboxListField/demo/errors.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/errors.js +0 -38
- package/ui/form/CheckboxListField/demo/required.d.ts +0 -8
- package/ui/form/CheckboxListField/demo/required.js +0 -38
- package/ui/form/DateField/demo/basic.d.ts +0 -8
- package/ui/form/DateField/demo/basic.js +0 -37
- package/ui/form/DateField/demo/disabled.d.ts +0 -8
- package/ui/form/DateField/demo/disabled.js +0 -37
- package/ui/form/DateField/demo/errors.d.ts +0 -8
- package/ui/form/DateField/demo/errors.js +0 -37
- package/ui/form/DateField/demo/icon.d.ts +0 -8
- package/ui/form/DateField/demo/icon.js +0 -39
- package/ui/form/DateField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateField/demo/placeholder.js +0 -37
- package/ui/form/DateField/demo/required.d.ts +0 -8
- package/ui/form/DateField/demo/required.js +0 -37
- package/ui/form/DateField/demo/sizes.d.ts +0 -8
- package/ui/form/DateField/demo/sizes.js +0 -43
- package/ui/form/DateRangeField/demo/basic.d.ts +0 -8
- package/ui/form/DateRangeField/demo/basic.js +0 -37
- package/ui/form/DateRangeField/demo/disabled.d.ts +0 -8
- package/ui/form/DateRangeField/demo/disabled.js +0 -37
- package/ui/form/DateRangeField/demo/errors.d.ts +0 -8
- package/ui/form/DateRangeField/demo/errors.js +0 -37
- package/ui/form/DateRangeField/demo/icon.d.ts +0 -8
- package/ui/form/DateRangeField/demo/icon.js +0 -39
- package/ui/form/DateRangeField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateRangeField/demo/placeholder.js +0 -37
- package/ui/form/DateRangeField/demo/required.d.ts +0 -8
- package/ui/form/DateRangeField/demo/required.js +0 -37
- package/ui/form/DateTimeField/demo/basic.d.ts +0 -8
- package/ui/form/DateTimeField/demo/basic.js +0 -37
- package/ui/form/DateTimeField/demo/disabled.d.ts +0 -8
- package/ui/form/DateTimeField/demo/disabled.js +0 -38
- package/ui/form/DateTimeField/demo/errors.d.ts +0 -8
- package/ui/form/DateTimeField/demo/errors.js +0 -37
- package/ui/form/DateTimeField/demo/icon.d.ts +0 -8
- package/ui/form/DateTimeField/demo/icon.js +0 -39
- package/ui/form/DateTimeField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateTimeField/demo/placeholder.js +0 -37
- package/ui/form/DateTimeField/demo/required.d.ts +0 -8
- package/ui/form/DateTimeField/demo/required.js +0 -37
- package/ui/form/DateTimeField/demo/showRemove.d.ts +0 -8
- package/ui/form/DateTimeField/demo/showRemove.js +0 -36
- package/ui/form/DateTimeRangeField/demo/basic.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/basic.js +0 -36
- package/ui/form/DateTimeRangeField/demo/disabled.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/disabled.js +0 -36
- package/ui/form/DateTimeRangeField/demo/errors.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/errors.js +0 -37
- package/ui/form/DateTimeRangeField/demo/icon.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/icon.js +0 -36
- package/ui/form/DateTimeRangeField/demo/placeholder.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/placeholder.js +0 -37
- package/ui/form/DateTimeRangeField/demo/required.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/required.js +0 -37
- package/ui/form/DateTimeRangeField/demo/showRemove.d.ts +0 -8
- package/ui/form/DateTimeRangeField/demo/showRemove.js +0 -36
- package/ui/form/DropDownField/demo/auto-complete.d.ts +0 -8
- package/ui/form/DropDownField/demo/auto-complete.js +0 -38
- package/ui/form/DropDownField/demo/basic.d.ts +0 -12
- package/ui/form/DropDownField/demo/basic.js +0 -56
- package/ui/form/DropDownField/demo/disabled.d.ts +0 -8
- package/ui/form/DropDownField/demo/disabled.js +0 -38
- package/ui/form/DropDownField/demo/errors.d.ts +0 -8
- package/ui/form/DropDownField/demo/errors.js +0 -38
- package/ui/form/DropDownField/demo/multiple.d.ts +0 -8
- package/ui/form/DropDownField/demo/multiple.js +0 -38
- package/ui/form/DropDownField/demo/no-border.d.ts +0 -8
- package/ui/form/DropDownField/demo/no-border.js +0 -38
- package/ui/form/DropDownField/demo/placeholder.d.ts +0 -8
- package/ui/form/DropDownField/demo/placeholder.js +0 -38
- package/ui/form/DropDownField/demo/required.d.ts +0 -8
- package/ui/form/DropDownField/demo/required.js +0 -38
- package/ui/form/DropDownField/demo/show-reset.d.ts +0 -8
- package/ui/form/DropDownField/demo/show-reset.js +0 -38
- package/ui/form/DropDownField/demo/size.d.ts +0 -8
- package/ui/form/DropDownField/demo/size.js +0 -45
- package/ui/form/Field/demo/basic.d.ts +0 -8
- package/ui/form/Field/demo/basic.js +0 -37
- package/ui/form/Field/demo/component.d.ts +0 -8
- package/ui/form/Field/demo/component.js +0 -38
- package/ui/form/Field/demo/model.d.ts +0 -8
- package/ui/form/Field/demo/model.js +0 -48
- package/ui/form/FieldLayout/demo/errors.d.ts +0 -8
- package/ui/form/FieldLayout/demo/errors.js +0 -38
- package/ui/form/FieldLayout/demo/layouts.d.ts +0 -8
- package/ui/form/FieldLayout/demo/layouts.js +0 -43
- package/ui/form/FieldLayout/demo/required.d.ts +0 -8
- package/ui/form/FieldLayout/demo/required.js +0 -38
- package/ui/form/FieldList/demo/basic.d.ts +0 -8
- package/ui/form/FieldList/demo/basic.js +0 -62
- package/ui/form/FieldList/demo/disabled.d.ts +0 -8
- package/ui/form/FieldList/demo/disabled.js +0 -62
- package/ui/form/FieldSet/demo/basic.d.ts +0 -8
- package/ui/form/FieldSet/demo/basic.js +0 -53
- package/ui/form/FileField/demo/basic.d.ts +0 -8
- package/ui/form/FileField/demo/basic.js +0 -37
- package/ui/form/Form/demo/basic.d.ts +0 -8
- package/ui/form/Form/demo/basic.js +0 -62
- package/ui/form/Form/demo/border.d.ts +0 -8
- package/ui/form/Form/demo/border.js +0 -62
- package/ui/form/Form/demo/horizontal.d.ts +0 -8
- package/ui/form/Form/demo/horizontal.js +0 -55
- package/ui/form/Form/demo/inline.d.ts +0 -8
- package/ui/form/Form/demo/inline.js +0 -53
- package/ui/form/HtmlField/demo/basic.d.ts +0 -8
- package/ui/form/HtmlField/demo/basic.js +0 -37
- package/ui/form/InputField/demo/addons.d.ts +0 -8
- package/ui/form/InputField/demo/addons.js +0 -37
- package/ui/form/InputField/demo/basic.d.ts +0 -8
- package/ui/form/InputField/demo/basic.js +0 -36
- package/ui/form/InputField/demo/disabled.d.ts +0 -8
- package/ui/form/InputField/demo/disabled.js +0 -36
- package/ui/form/InputField/demo/errors.d.ts +0 -8
- package/ui/form/InputField/demo/errors.js +0 -37
- package/ui/form/InputField/demo/mask.d.ts +0 -8
- package/ui/form/InputField/demo/mask.js +0 -39
- package/ui/form/InputField/demo/placeholder.d.ts +0 -8
- package/ui/form/InputField/demo/placeholder.js +0 -37
- package/ui/form/InputField/demo/required.d.ts +0 -8
- package/ui/form/InputField/demo/required.js +0 -37
- package/ui/form/InputField/demo/sizes.d.ts +0 -3
- package/ui/form/InputField/demo/sizes.js +0 -42
- package/ui/form/InputField/demo/textAddons.d.ts +0 -8
- package/ui/form/InputField/demo/textAddons.js +0 -37
- package/ui/form/InputField/demo/types.d.ts +0 -3
- package/ui/form/InputField/demo/types.js +0 -44
- package/ui/form/NavField/demo/basic.d.ts +0 -12
- package/ui/form/NavField/demo/basic.js +0 -56
- package/ui/form/NavField/demo/disabled.d.ts +0 -8
- package/ui/form/NavField/demo/disabled.js +0 -38
- package/ui/form/NavField/demo/errors.d.ts +0 -8
- package/ui/form/NavField/demo/errors.js +0 -38
- package/ui/form/NavField/demo/layouts.d.ts +0 -12
- package/ui/form/NavField/demo/layouts.js +0 -61
- package/ui/form/NavField/demo/required.d.ts +0 -8
- package/ui/form/NavField/demo/required.js +0 -38
- package/ui/form/NumberField/demo/basic.d.ts +0 -8
- package/ui/form/NumberField/demo/basic.js +0 -37
- package/ui/form/NumberField/demo/disabled.d.ts +0 -8
- package/ui/form/NumberField/demo/disabled.js +0 -37
- package/ui/form/NumberField/demo/errors.d.ts +0 -8
- package/ui/form/NumberField/demo/errors.js +0 -37
- package/ui/form/NumberField/demo/placeholder.d.ts +0 -8
- package/ui/form/NumberField/demo/placeholder.js +0 -37
- package/ui/form/NumberField/demo/required.d.ts +0 -8
- package/ui/form/NumberField/demo/required.js +0 -37
- package/ui/form/NumberField/demo/sizes.d.ts +0 -8
- package/ui/form/NumberField/demo/sizes.js +0 -42
- package/ui/form/PasswordField/demo/basic.d.ts +0 -8
- package/ui/form/PasswordField/demo/basic.js +0 -37
- package/ui/form/PasswordField/demo/disabled.d.ts +0 -8
- package/ui/form/PasswordField/demo/disabled.js +0 -37
- package/ui/form/PasswordField/demo/errors.d.ts +0 -8
- package/ui/form/PasswordField/demo/errors.js +0 -37
- package/ui/form/PasswordField/demo/placeholder.d.ts +0 -8
- package/ui/form/PasswordField/demo/placeholder.js +0 -37
- package/ui/form/PasswordField/demo/required.d.ts +0 -8
- package/ui/form/PasswordField/demo/required.js +0 -37
- package/ui/form/PasswordField/demo/security.d.ts +0 -8
- package/ui/form/PasswordField/demo/security.js +0 -37
- package/ui/form/PasswordField/demo/sizes.d.ts +0 -8
- package/ui/form/PasswordField/demo/sizes.js +0 -42
- package/ui/form/RadioListField/demo/basic.d.ts +0 -12
- package/ui/form/RadioListField/demo/basic.js +0 -56
- package/ui/form/RadioListField/demo/disabled.d.ts +0 -8
- package/ui/form/RadioListField/demo/disabled.js +0 -38
- package/ui/form/RadioListField/demo/errors.d.ts +0 -8
- package/ui/form/RadioListField/demo/errors.js +0 -38
- package/ui/form/RadioListField/demo/required.d.ts +0 -8
- package/ui/form/RadioListField/demo/required.js +0 -38
- package/ui/form/ReCaptchaField/demo/basic.d.ts +0 -8
- package/ui/form/ReCaptchaField/demo/basic.js +0 -43
- package/ui/form/SliderField/demo/basic.d.ts +0 -8
- package/ui/form/SliderField/demo/basic.js +0 -37
- package/ui/form/SliderField/demo/disabled.d.ts +0 -8
- package/ui/form/SliderField/demo/disabled.js +0 -37
- package/ui/form/SliderField/demo/errors.d.ts +0 -8
- package/ui/form/SliderField/demo/errors.js +0 -37
- package/ui/form/SliderField/demo/marks.d.ts +0 -3
- package/ui/form/SliderField/demo/marks.js +0 -49
- package/ui/form/SliderField/demo/min-max.d.ts +0 -8
- package/ui/form/SliderField/demo/min-max.js +0 -37
- package/ui/form/SliderField/demo/onAfterChange.d.ts +0 -8
- package/ui/form/SliderField/demo/onAfterChange.js +0 -43
- package/ui/form/SliderField/demo/onChange.d.ts +0 -8
- package/ui/form/SliderField/demo/onChange.js +0 -43
- package/ui/form/SliderField/demo/range.d.ts +0 -8
- package/ui/form/SliderField/demo/range.js +0 -37
- package/ui/form/TextField/demo/basic.d.ts +0 -8
- package/ui/form/TextField/demo/basic.js +0 -37
- package/ui/form/TextField/demo/disabled.d.ts +0 -8
- package/ui/form/TextField/demo/disabled.js +0 -37
- package/ui/form/TextField/demo/errors.d.ts +0 -8
- package/ui/form/TextField/demo/errors.js +0 -37
- package/ui/form/TextField/demo/placeholder.d.ts +0 -8
- package/ui/form/TextField/demo/placeholder.js +0 -37
- package/ui/form/TextField/demo/required.d.ts +0 -8
- package/ui/form/TextField/demo/required.js +0 -37
- package/ui/form/TextField/demo/sizes.d.ts +0 -3
- package/ui/form/TextField/demo/sizes.js +0 -43
- package/ui/form/TextField/demo/submit.d.ts +0 -8
- package/ui/form/TextField/demo/submit.js +0 -37
- package/ui/format/DateFormatter/demo/basic.d.ts +0 -3
- package/ui/format/DateFormatter/demo/basic.js +0 -32
- package/ui/format/DateTimeFormatter/demo/basic.d.ts +0 -3
- package/ui/format/DateTimeFormatter/demo/basic.js +0 -32
- package/ui/layout/Notifications/demo/basic.d.ts +0 -8
- package/ui/layout/Notifications/demo/basic.js +0 -57
- package/ui/layout/Notifications/demo/position.d.ts +0 -3
- package/ui/layout/Notifications/demo/position.js +0 -49
- package/ui/layout/Notifications/demo/timeOut.d.ts +0 -3
- package/ui/layout/Notifications/demo/timeOut.js +0 -49
- package/ui/layout/Tooltip/demo/basic.d.ts +0 -8
- package/ui/layout/Tooltip/demo/basic.js +0 -56
- package/ui/list/CheckboxColumn/demo/basic.d.ts +0 -8
- package/ui/list/CheckboxColumn/demo/basic.js +0 -51
- package/ui/list/ControlsColumn/demo/basic.d.ts +0 -8
- package/ui/list/ControlsColumn/demo/basic.js +0 -49
- package/ui/list/Empty/demo/basic.d.ts +0 -8
- package/ui/list/Empty/demo/basic.js +0 -37
- package/ui/list/Empty/demo/custom-text.d.ts +0 -8
- package/ui/list/Empty/demo/custom-text.js +0 -37
- package/ui/list/Grid/demo/basic.d.ts +0 -18
- package/ui/list/Grid/demo/basic.js +0 -72
- package/ui/list/Grid/demo/controls.d.ts +0 -8
- package/ui/list/Grid/demo/controls.js +0 -44
- package/ui/list/Grid/demo/empty.d.ts +0 -8
- package/ui/list/Grid/demo/empty.js +0 -38
- package/ui/list/Grid/demo/formatter.d.ts +0 -8
- package/ui/list/Grid/demo/formatter.js +0 -67
- package/ui/list/Grid/demo/indexing.d.ts +0 -8
- package/ui/list/Grid/demo/indexing.js +0 -52
- package/ui/list/Grid/demo/inner-search-form.d.ts +0 -16
- package/ui/list/Grid/demo/inner-search-form.js +0 -60
- package/ui/list/Grid/demo/load-more.d.ts +0 -8
- package/ui/list/Grid/demo/load-more.js +0 -43
- package/ui/list/Grid/demo/pagination.d.ts +0 -8
- package/ui/list/Grid/demo/pagination.js +0 -41
- package/ui/list/Grid/demo/search-form.d.ts +0 -8
- package/ui/list/Grid/demo/search-form.js +0 -50
- package/ui/list/Grid/demo/sort.d.ts +0 -8
- package/ui/list/Grid/demo/sort.js +0 -48
- package/ui/list/Grid/demo/visible.d.ts +0 -8
- package/ui/list/Grid/demo/visible.js +0 -52
- package/ui/list/LayoutNames/demo/basic.d.ts +0 -7
- package/ui/list/List/demo/basic.d.ts +0 -12
- package/ui/list/List/demo/basic.js +0 -61
- package/ui/list/List/demo/condition.d.ts +0 -8
- package/ui/list/List/demo/condition.js +0 -90
- package/ui/list/List/demo/empty.d.ts +0 -8
- package/ui/list/List/demo/empty.js +0 -36
- package/ui/list/List/demo/layout.d.ts +0 -8
- package/ui/list/List/demo/layout.js +0 -49
- package/ui/list/List/demo/load-more.d.ts +0 -8
- package/ui/list/List/demo/load-more.js +0 -45
- package/ui/list/List/demo/pagination.d.ts +0 -8
- package/ui/list/List/demo/pagination.js +0 -45
- package/ui/list/List/demo/search-form.d.ts +0 -30
- package/ui/list/List/demo/search-form.js +0 -107
- package/ui/list/List/demo/sort.d.ts +0 -17
- package/ui/list/List/demo/sort.js +0 -92
- package/ui/list/Pagination/demo/basic.d.ts +0 -8
- package/ui/list/Pagination/demo/basic.js +0 -45
- package/ui/list/Pagination/demo/load-more.d.ts +0 -8
- package/ui/list/Pagination/demo/load-more.js +0 -41
- package/ui/list/Pagination/demo/sizes.d.ts +0 -8
- package/ui/list/Pagination/demo/sizes.js +0 -48
- package/ui/list/PaginationSize/demo/basic.d.ts +0 -8
- package/ui/list/PaginationSize/demo/basic.js +0 -41
- package/ui/list/PaginationSize/demo/size.d.ts +0 -8
- package/ui/list/PaginationSize/demo/size.js +0 -49
- package/ui/modal/Modal/demo/basic.d.ts +0 -8
- package/ui/modal/Modal/demo/basic.js +0 -63
- package/ui/modal/Modal/demo/closeTimeout.d.ts +0 -8
- package/ui/modal/Modal/demo/closeTimeout.js +0 -64
- package/ui/modal/Modal/demo/closing.d.ts +0 -9
- package/ui/modal/Modal/demo/closing.js +0 -67
- package/ui/modal/Modal/demo/component.d.ts +0 -10
- package/ui/modal/Modal/demo/component.js +0 -55
- package/ui/modal/Modal/demo/controls.d.ts +0 -8
- package/ui/modal/Modal/demo/controls.js +0 -66
- package/ui/modal/Modal/demo/size.d.ts +0 -8
- package/ui/modal/Modal/demo/size.js +0 -70
- package/ui/nav/Breadcrumbs/demo/basic.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/basic.js +0 -37
- package/ui/nav/Breadcrumbs/demo/items.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/items.js +0 -42
- package/ui/nav/Breadcrumbs/demo/page-title.d.ts +0 -8
- package/ui/nav/Breadcrumbs/demo/page-title.js +0 -37
- package/ui/nav/Controls/demo/basic.d.ts +0 -12
- package/ui/nav/Controls/demo/basic.js +0 -59
- package/ui/nav/Link/demo/badge.d.ts +0 -8
- package/ui/nav/Link/demo/badge.js +0 -37
- package/ui/nav/Link/demo/basic.d.ts +0 -8
- package/ui/nav/Link/demo/basic.js +0 -37
- package/ui/nav/Link/demo/colors.d.ts +0 -8
- package/ui/nav/Link/demo/colors.js +0 -46
- package/ui/nav/Link/demo/confirm.d.ts +0 -8
- package/ui/nav/Link/demo/confirm.js +0 -37
- package/ui/nav/Link/demo/disabled.d.ts +0 -8
- package/ui/nav/Link/demo/disabled.js +0 -37
- package/ui/nav/Link/demo/hint.d.ts +0 -8
- package/ui/nav/Link/demo/hint.js +0 -37
- package/ui/nav/Link/demo/icon.d.ts +0 -8
- package/ui/nav/Link/demo/icon.js +0 -37
- package/ui/nav/Link/demo/sizes.d.ts +0 -8
- package/ui/nav/Link/demo/sizes.js +0 -41
- package/ui/nav/Nav/demo/basic.d.ts +0 -13
- package/ui/nav/Nav/demo/basic.js +0 -58
- package/ui/nav/Nav/demo/layout.d.ts +0 -8
- package/ui/nav/Nav/demo/layout.js +0 -56
- package/ui/nav/Router/ConnectedRouter.d.ts +0 -16
- package/ui/nav/Router/ConnectedRouter.js +0 -107
- package/ui/nav/Tree/demo/auto-open-levels.d.ts +0 -8
- package/ui/nav/Tree/demo/auto-open-levels.js +0 -38
- package/ui/nav/Tree/demo/basic.d.ts +0 -32
- package/ui/nav/Tree/demo/basic.js +0 -72
- package/ui/nav/Tree/demo/level.d.ts +0 -8
- package/ui/nav/Tree/demo/level.js +0 -38
- package/ui/nav/Tree/demo/routes.d.ts +0 -8
- package/ui/nav/Tree/demo/routes.js +0 -37
- package/ui/nav/Tree/demo/selected-item.d.ts +0 -8
- package/ui/nav/Tree/demo/selected-item.js +0 -38
package/hooks/index.d.ts
CHANGED
|
@@ -17,4 +17,5 @@ import useScreen from './useScreen';
|
|
|
17
17
|
import useSelector from './useSelector';
|
|
18
18
|
import useSsr from './useSsr';
|
|
19
19
|
import useUniqueId from './useUniqueId';
|
|
20
|
-
|
|
20
|
+
import useTheme from './useTheme';
|
|
21
|
+
export { useAbsolutePositioning, useAddressBar, useApplication, useBem, useComponents, useDataProvider, useDataSelect, useDispatch, useFetch, useFile, useForm, useInitial, useLayout, useList, useModel, useScreen, useSelector, useSsr, useUniqueId, useTheme, };
|
package/hooks/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.useUniqueId = exports.useSsr = exports.useSelector = exports.useScreen = exports.useModel = exports.useList = exports.useLayout = exports.useInitial = exports.useForm = exports.useFile = exports.useFetch = exports.useDispatch = exports.useDataSelect = exports.useDataProvider = exports.useComponents = exports.useBem = exports.useApplication = exports.useAddressBar = exports.useAbsolutePositioning = void 0;
|
|
6
|
+
exports.useTheme = exports.useUniqueId = exports.useSsr = exports.useSelector = exports.useScreen = exports.useModel = exports.useList = exports.useLayout = exports.useInitial = exports.useForm = exports.useFile = exports.useFetch = exports.useDispatch = exports.useDataSelect = exports.useDataProvider = exports.useComponents = exports.useBem = exports.useApplication = exports.useAddressBar = exports.useAbsolutePositioning = void 0;
|
|
7
7
|
var useAbsolutePositioning_1 = __importDefault(require("./useAbsolutePositioning"));
|
|
8
8
|
exports.useAbsolutePositioning = useAbsolutePositioning_1["default"];
|
|
9
9
|
var useAddressBar_1 = __importDefault(require("./useAddressBar"));
|
|
@@ -42,3 +42,5 @@ var useSsr_1 = __importDefault(require("./useSsr"));
|
|
|
42
42
|
exports.useSsr = useSsr_1["default"];
|
|
43
43
|
var useUniqueId_1 = __importDefault(require("./useUniqueId"));
|
|
44
44
|
exports.useUniqueId = useUniqueId_1["default"];
|
|
45
|
+
var useTheme_1 = __importDefault(require("./useTheme"));
|
|
46
|
+
exports.useTheme = useTheme_1["default"];
|
package/hooks/useAddressBar.d.ts
CHANGED
|
@@ -2,8 +2,19 @@
|
|
|
2
2
|
import { Model } from '../components/MetaComponent';
|
|
3
3
|
export type ListControlPosition = 'top' | 'bottom' | 'both' | string;
|
|
4
4
|
export interface IAddressBarConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Флаг для управления включением синхронизации с addressBar
|
|
7
|
+
* @example true
|
|
8
|
+
*/
|
|
5
9
|
enable?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Использовать ли #
|
|
12
|
+
* @example false
|
|
13
|
+
*/
|
|
6
14
|
useHash?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Модель
|
|
17
|
+
*/
|
|
7
18
|
model?: Model;
|
|
8
19
|
}
|
|
9
20
|
export interface IAddressBarOutput {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { IThemeProviderProps } from '../providers/ThemeProvider';
|
|
2
3
|
import ClientStorageComponent from '../components/ClientStorageComponent';
|
|
3
4
|
import HtmlComponent from '../components/HtmlComponent';
|
|
4
5
|
import StoreComponent from '../components/StoreComponent';
|
|
5
6
|
import UiComponent from '../components/UiComponent';
|
|
6
7
|
import MetaComponent from '../components/MetaComponent';
|
|
7
8
|
import { IComponents } from '../providers/ComponentsProvider';
|
|
8
|
-
import { IRouteItem } from '../ui/nav/Router/Router';
|
|
9
|
+
import { IRouteItem, IRouterProps } from '../ui/nav/Router/Router';
|
|
9
10
|
import MetricsComponent from '../components/MetricsComponent';
|
|
10
11
|
import { IScreenProviderProps } from '../providers/ScreenProvider';
|
|
11
12
|
import { IFetchConfig } from '../hooks/useFetch';
|
|
@@ -28,6 +29,8 @@ export interface IApplicationHookConfig {
|
|
|
28
29
|
layoutView?: () => CustomView;
|
|
29
30
|
layoutProps?: Record<string, unknown>;
|
|
30
31
|
screen?: Omit<IScreenProviderProps, 'children'>;
|
|
32
|
+
theme?: Omit<IThemeProviderProps, 'children'>;
|
|
33
|
+
routerProps?: IRouterProps;
|
|
31
34
|
/**
|
|
32
35
|
* These fetch configurations will be used to preload and store for no matter what route matched in case of SSR
|
|
33
36
|
*/
|
package/hooks/useApplication.js
CHANGED
|
@@ -53,6 +53,11 @@ var React = __importStar(require("react"));
|
|
|
53
53
|
var react_redux_1 = require("react-redux");
|
|
54
54
|
var merge_1 = __importDefault(require("lodash-es/merge"));
|
|
55
55
|
var react_1 = require("react");
|
|
56
|
+
var relativeTime_1 = __importDefault(require("dayjs/plugin/relativeTime"));
|
|
57
|
+
var localizedFormat_1 = __importDefault(require("dayjs/plugin/localizedFormat"));
|
|
58
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
59
|
+
var utc_1 = __importDefault(require("dayjs/plugin/utc"));
|
|
60
|
+
var ThemeProvider_1 = __importDefault(require("../providers/ThemeProvider"));
|
|
56
61
|
var ClientStorageComponent_1 = __importDefault(require("../components/ClientStorageComponent"));
|
|
57
62
|
var HtmlComponent_1 = __importDefault(require("../components/HtmlComponent"));
|
|
58
63
|
var StoreComponent_1 = __importDefault(require("../components/StoreComponent"));
|
|
@@ -92,6 +97,10 @@ exports.defaultComponents = {
|
|
|
92
97
|
function useApplication(config) {
|
|
93
98
|
if (config === void 0) { config = {}; }
|
|
94
99
|
var useGlobal = config.useGlobal !== false;
|
|
100
|
+
//Extending dayjs / day.js with modules that used in steroids
|
|
101
|
+
dayjs_1["default"].extend(relativeTime_1["default"]);
|
|
102
|
+
dayjs_1["default"].extend(localizedFormat_1["default"]);
|
|
103
|
+
dayjs_1["default"].extend(utc_1["default"]);
|
|
95
104
|
var components = (0, useComponents_1["default"])();
|
|
96
105
|
if (useGlobal && !process.env.IS_SSR) {
|
|
97
106
|
components = window.SteroidsComponents || null;
|
|
@@ -126,11 +135,14 @@ function useApplication(config) {
|
|
|
126
135
|
var content = children;
|
|
127
136
|
// Wrap in routes
|
|
128
137
|
if (config.routes) {
|
|
129
|
-
content = (React.createElement(Router_1["default"], { routes: config.routes(), wrapperView: config.layoutView(), wrapperProps: config.layoutProps }));
|
|
138
|
+
content = (React.createElement(Router_1["default"], __assign({ routes: config.routes(), wrapperView: config.layoutView(), wrapperProps: config.layoutProps }, config.routerProps)));
|
|
130
139
|
}
|
|
131
140
|
if (config.screen) {
|
|
132
141
|
content = (React.createElement(ScreenProvider_1["default"], __assign({}, config.screen), content));
|
|
133
142
|
}
|
|
143
|
+
if (config.theme) {
|
|
144
|
+
content = (React.createElement(ThemeProvider_1["default"], __assign({}, config.theme), content));
|
|
145
|
+
}
|
|
134
146
|
if (!(useGlobal || process.env.IS_SSR)) {
|
|
135
147
|
content = (React.createElement(ComponentsProvider_1["default"], { components: components }, content));
|
|
136
148
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IApiMethod } from '../components/ApiComponent';
|
|
2
1
|
import Enum from '../base/Enum';
|
|
3
|
-
export interface
|
|
2
|
+
export interface IAutoCompleteConfig {
|
|
4
3
|
/**
|
|
5
4
|
* Подключить autocomplete?
|
|
6
5
|
* @example true
|
|
@@ -24,6 +23,32 @@ export type DataProviderItems = string | ({
|
|
|
24
23
|
label: string | any;
|
|
25
24
|
[key: string]: any;
|
|
26
25
|
})[];
|
|
26
|
+
export interface IDataProvider {
|
|
27
|
+
/**
|
|
28
|
+
* Уникальный (глобально) идентификатор, под которых будут храниться
|
|
29
|
+
* подгруженные данные в redux (при включенном флаге useRedux). Если
|
|
30
|
+
* не задан - данные будут храниться в локальном стейте
|
|
31
|
+
*/
|
|
32
|
+
reduxId?: string;
|
|
33
|
+
/**
|
|
34
|
+
* URL для подгрузки новой коллекции данных
|
|
35
|
+
* @example '/api/v1/search'
|
|
36
|
+
*/
|
|
37
|
+
action?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Параметры запроса
|
|
40
|
+
* @example {pageSize: 3}
|
|
41
|
+
*/
|
|
42
|
+
params?: Record<string, unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* Обработчик, который вызывается для подгрузки данных.
|
|
45
|
+
* Если обработчик не передан, то по умолчанию отправится post-запрос.
|
|
46
|
+
* @param {string} action
|
|
47
|
+
* @param {Object} params
|
|
48
|
+
* @return {Promise<Array> | Array}
|
|
49
|
+
*/
|
|
50
|
+
onSearch?: (action: string, params: Record<string, unknown>) => Array<unknown> | Promise<Array<unknown>>;
|
|
51
|
+
}
|
|
27
52
|
export interface IDataProviderConfig {
|
|
28
53
|
/**
|
|
29
54
|
* Коллекция элементов
|
|
@@ -34,32 +59,7 @@ export interface IDataProviderConfig {
|
|
|
34
59
|
* Конфигурация для подгрузки данных извне.
|
|
35
60
|
* Если dataProvider не передан, то поиск данных по запросу происходит локально.
|
|
36
61
|
*/
|
|
37
|
-
dataProvider?:
|
|
38
|
-
/**
|
|
39
|
-
* Уникальный (глобально) идентификатор, под которых будут храниться
|
|
40
|
-
* подгруженные данные в redux (при включенном флаге useRedux). Если
|
|
41
|
-
* не задан - данные будут храниться в локальном стейте
|
|
42
|
-
*/
|
|
43
|
-
reduxId?: string;
|
|
44
|
-
/**
|
|
45
|
-
* URL для подгрузки новой коллекции данных
|
|
46
|
-
* @example '/api/v1/search'
|
|
47
|
-
*/
|
|
48
|
-
action?: string | IApiMethod;
|
|
49
|
-
/**
|
|
50
|
-
* Параметры запроса
|
|
51
|
-
* @example {pageSize: 3}
|
|
52
|
-
*/
|
|
53
|
-
params?: Record<string, unknown>;
|
|
54
|
-
/**
|
|
55
|
-
* Обработчик, который вызывается для подгрузки данных.
|
|
56
|
-
* Если обработчик не передан, то по умолчанию отправится post-запрос.
|
|
57
|
-
* @param {string} action
|
|
58
|
-
* @param {Object} params
|
|
59
|
-
* @return {Promise<Array> | Array}
|
|
60
|
-
*/
|
|
61
|
-
onSearch?: (action: string, params: Record<string, unknown>) => Array<unknown> | Promise<Array<unknown>>;
|
|
62
|
-
};
|
|
62
|
+
dataProvider?: IDataProvider;
|
|
63
63
|
/**
|
|
64
64
|
* Текст запроса
|
|
65
65
|
* @example 'some text'
|
|
@@ -69,7 +69,7 @@ export interface IDataProviderConfig {
|
|
|
69
69
|
* Настройки поиска
|
|
70
70
|
* @example {enable: true, minLength: 2, delay: 100}
|
|
71
71
|
*/
|
|
72
|
-
autoComplete?: boolean |
|
|
72
|
+
autoComplete?: boolean | IAutoCompleteConfig;
|
|
73
73
|
/**
|
|
74
74
|
* Загрузка данных после любого изменения запроса.
|
|
75
75
|
* Если включен autoFetch, то настройки autoComplete не применятся.
|
package/hooks/useDataProvider.js
CHANGED
|
@@ -132,10 +132,9 @@ function useDataProvider(config) {
|
|
|
132
132
|
return __generator(this, function (_b) {
|
|
133
133
|
switch (_b.label) {
|
|
134
134
|
case 0:
|
|
135
|
-
searchHandler = dataProvider.onSearch || (
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
.then(function (response) { return response.data; }); });
|
|
135
|
+
searchHandler = dataProvider.onSearch || (function (method, params) { return components.http
|
|
136
|
+
.send(dataProvider.actionMethod, method, params)
|
|
137
|
+
.then(function (response) { return response.data; }); });
|
|
139
138
|
result = searchHandler(dataProvider.action, __assign(__assign(__assign({ query: config.query }, (isAuto ? { ids: config.initialSelectedIds } : null)), (((_a = config.initialSelectedIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? { withIds: config.initialSelectedIds } : null)), config.dataProvider.params));
|
|
140
139
|
if (!(result && (0, isFunction_1["default"])(result.then))) return [3 /*break*/, 2];
|
|
141
140
|
setIsLoading(true);
|
|
@@ -179,7 +178,7 @@ function useDataProvider(config) {
|
|
|
179
178
|
delayTimerRef.current = setTimeout(fetchRemote, autoComplete.delay);
|
|
180
179
|
}
|
|
181
180
|
}
|
|
182
|
-
}, [autoComplete, components.
|
|
181
|
+
}, [autoComplete, components.http, config.autoFetch,
|
|
183
182
|
config.dataProvider, config.initialSelectedIds, config.query, dataProvider,
|
|
184
183
|
dataProvider.action, dataProvider.onSearch, prevParams, prevQuery, prevValues, setSourceItems, sourceItems]);
|
|
185
184
|
return {
|
package/hooks/useDataSelect.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
interface IDataSelectItem {
|
|
1
|
+
export interface IDataSelectItem {
|
|
2
|
+
/**
|
|
3
|
+
* Идентификатор элемента
|
|
4
|
+
*/
|
|
2
5
|
id: number | string | boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Отображаемое название для IDataSelectItem
|
|
8
|
+
*/
|
|
3
9
|
label?: string;
|
|
4
10
|
[key: string]: unknown;
|
|
5
11
|
}
|
|
@@ -54,7 +60,8 @@ export interface IDataSelectResult {
|
|
|
54
60
|
selectedIds: PrimaryKey[];
|
|
55
61
|
setSelectedIds: (ids: PrimaryKey | PrimaryKey[], skipToggle?: boolean) => void;
|
|
56
62
|
selectedItems: IDataSelectItem[];
|
|
63
|
+
setSelectedAll: VoidFunction;
|
|
64
|
+
isSelectedAll: boolean;
|
|
57
65
|
}
|
|
58
|
-
export declare const
|
|
66
|
+
export declare const getFlattenedItems: (items: any, groupAttribute: any) => any[];
|
|
59
67
|
export default function useDataSelect(config: IDataSelectConfig): IDataSelectResult;
|
|
60
|
-
export {};
|
package/hooks/useDataSelect.js
CHANGED
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
exports.__esModule = true;
|
|
15
|
-
exports.
|
|
15
|
+
exports.getFlattenedItems = void 0;
|
|
16
16
|
var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
|
|
17
17
|
var isArray_1 = __importDefault(require("lodash-es/isArray"));
|
|
18
18
|
var isNil_1 = __importDefault(require("lodash-es/isNil"));
|
|
@@ -21,11 +21,11 @@ var react_use_1 = require("react-use");
|
|
|
21
21
|
var defaultProps = {
|
|
22
22
|
primaryKey: 'id'
|
|
23
23
|
};
|
|
24
|
-
var
|
|
24
|
+
var getFlattenedItems = function (items, groupAttribute) {
|
|
25
25
|
var result = [];
|
|
26
26
|
items.forEach(function (item) {
|
|
27
27
|
if (groupAttribute && Array.isArray(item[groupAttribute])) {
|
|
28
|
-
result = result.concat((0, exports.
|
|
28
|
+
result = result.concat((0, exports.getFlattenedItems)(item[groupAttribute], groupAttribute));
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
31
|
result.push(item);
|
|
@@ -33,7 +33,7 @@ var getLinearItems = function (items, groupAttribute) {
|
|
|
33
33
|
});
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
-
exports.
|
|
36
|
+
exports.getFlattenedItems = getFlattenedItems;
|
|
37
37
|
var isIdExists = function (id) {
|
|
38
38
|
if (typeof id === 'boolean') {
|
|
39
39
|
return true;
|
|
@@ -43,7 +43,7 @@ var isIdExists = function (id) {
|
|
|
43
43
|
function useDataSelect(config) {
|
|
44
44
|
// Get primary key
|
|
45
45
|
var primaryKey = config.primaryKey || defaultProps.primaryKey;
|
|
46
|
-
var
|
|
46
|
+
var flattenedItems = (0, react_1.useMemo)(function () { return (0, exports.getFlattenedItems)(config.items, config.groupAttribute); }, [config.groupAttribute, config.items]);
|
|
47
47
|
// Initial select
|
|
48
48
|
var initialSelectedIds = (0, react_1.useMemo)(function () {
|
|
49
49
|
var _a;
|
|
@@ -53,22 +53,23 @@ function useDataSelect(config) {
|
|
|
53
53
|
if (!(0, isNil_1["default"])(config.inputValue)) {
|
|
54
54
|
return [].concat((0, isArray_1["default"])(config.inputValue) ? config.inputValue : [config.inputValue]);
|
|
55
55
|
}
|
|
56
|
-
return config.selectFirst &&
|
|
57
|
-
? [
|
|
56
|
+
return config.selectFirst && flattenedItems.length > 0
|
|
57
|
+
? [flattenedItems[0][primaryKey]]
|
|
58
58
|
: [];
|
|
59
|
-
}, [config.selectedIds, config.inputValue, config.selectFirst,
|
|
60
|
-
var initialSelectedItems = (0, react_1.useMemo)(function () { return
|
|
59
|
+
}, [config.selectedIds, config.inputValue, config.selectFirst, flattenedItems, primaryKey]);
|
|
60
|
+
var initialSelectedItems = (0, react_1.useMemo)(function () { return flattenedItems.length > 0
|
|
61
61
|
&& initialSelectedIds.length > 0
|
|
62
62
|
? initialSelectedIds
|
|
63
|
-
.map(function (selectedId) { return
|
|
63
|
+
.map(function (selectedId) { return flattenedItems.find(function (item) { return item.id === selectedId; }); })
|
|
64
64
|
.filter(isIdExists)
|
|
65
|
-
: []; }, [initialSelectedIds,
|
|
65
|
+
: []; }, [initialSelectedIds, flattenedItems]);
|
|
66
66
|
// State
|
|
67
67
|
var _a = (0, react_1.useState)(false), isOpened = _a[0], setIsOpened = _a[1];
|
|
68
68
|
var _b = (0, react_1.useState)(false), isFocused = _b[0], setIsFocused = _b[1];
|
|
69
69
|
var _c = (0, react_1.useState)(null), hoveredId = _c[0], setHoveredId = _c[1];
|
|
70
70
|
var _d = (0, react_1.useState)(initialSelectedIds), selectedIds = _d[0], setSelectedIdsInternal = _d[1];
|
|
71
71
|
var _e = (0, react_1.useState)(initialSelectedItems), selectedItems = _e[0], setSelectedItemsInternal = _e[1];
|
|
72
|
+
var _f = (0, react_1.useState)(config.items.length === selectedIds.length), isSelectedAll = _f[0], setIsSelectedAll = _f[1];
|
|
72
73
|
// Handler for select/toggle item by id
|
|
73
74
|
var setSelectedIds = (0, react_1.useCallback)(function (ids, skipToggle) {
|
|
74
75
|
if (skipToggle === void 0) { skipToggle = false; }
|
|
@@ -76,6 +77,10 @@ function useDataSelect(config) {
|
|
|
76
77
|
if (!config.multiple && ids.length > 1) {
|
|
77
78
|
ids = [ids[0]];
|
|
78
79
|
}
|
|
80
|
+
if (selectedItems.length === ids.length) {
|
|
81
|
+
setSelectedIds([]);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
79
84
|
setSelectedIdsInternal(ids.sort());
|
|
80
85
|
}
|
|
81
86
|
else {
|
|
@@ -100,14 +105,18 @@ function useDataSelect(config) {
|
|
|
100
105
|
setIsOpened(false);
|
|
101
106
|
}
|
|
102
107
|
}
|
|
103
|
-
}, [config.multiple, selectedIds]);
|
|
108
|
+
}, [config.multiple, selectedIds, selectedItems.length]);
|
|
109
|
+
var setSelectedAll = (0, react_1.useCallback)(function () {
|
|
110
|
+
var itemsIds = flattenedItems.map(function (item) { return item.id; });
|
|
111
|
+
setSelectedIds(itemsIds);
|
|
112
|
+
}, [flattenedItems, setSelectedIds]);
|
|
104
113
|
// Update selected items on change selectedIds or items or source items
|
|
105
114
|
var prevSelectedIdsLength = (0, react_use_1.usePrevious)(selectedIds.length);
|
|
106
115
|
(0, react_use_1.useUpdateEffect)(function () {
|
|
107
116
|
var newSelectedItems = [];
|
|
108
117
|
var hasChanges = false;
|
|
109
118
|
selectedIds.forEach(function (selectedId) {
|
|
110
|
-
var finedItem =
|
|
119
|
+
var finedItem = flattenedItems.find(function (item) { return item[primaryKey] === selectedId; });
|
|
111
120
|
if (!finedItem && config.sourceItems) {
|
|
112
121
|
finedItem = config.sourceItems.find(function (item) { return item[primaryKey] === selectedId; });
|
|
113
122
|
}
|
|
@@ -123,14 +132,14 @@ function useDataSelect(config) {
|
|
|
123
132
|
if (hasChanges || prevSelectedIdsLength !== selectedIds.length) {
|
|
124
133
|
setSelectedItemsInternal(newSelectedItems);
|
|
125
134
|
}
|
|
126
|
-
}, [
|
|
135
|
+
}, [flattenedItems, config.sourceItems, primaryKey, selectedIds, selectedItems, prevSelectedIdsLength]);
|
|
127
136
|
// Select first after fetch data
|
|
128
|
-
var prevItemsLength = (0, react_use_1.usePrevious)(
|
|
137
|
+
var prevItemsLength = (0, react_use_1.usePrevious)(flattenedItems.length);
|
|
129
138
|
(0, react_use_1.useUpdateEffect)(function () {
|
|
130
|
-
if (config.selectFirst && prevItemsLength === 0 &&
|
|
131
|
-
setSelectedIdsInternal([
|
|
139
|
+
if (config.selectFirst && prevItemsLength === 0 && flattenedItems.length > 0) {
|
|
140
|
+
setSelectedIdsInternal([flattenedItems[0][primaryKey]]);
|
|
132
141
|
}
|
|
133
|
-
}, [
|
|
142
|
+
}, [flattenedItems, config.selectFirst, prevItemsLength, primaryKey]);
|
|
134
143
|
// Update selected items on change value
|
|
135
144
|
var prevConfigSelectedIds = (0, react_use_1.usePrevious)(config.selectedIds || []);
|
|
136
145
|
(0, react_use_1.useUpdateEffect)(function () {
|
|
@@ -146,6 +155,9 @@ function useDataSelect(config) {
|
|
|
146
155
|
setSelectedIdsInternal(newSelectedIds);
|
|
147
156
|
}
|
|
148
157
|
}, [config.selectedIds, prevConfigSelectedIds, selectedIds, selectedItems]);
|
|
158
|
+
(0, react_use_1.useUpdateEffect)(function () {
|
|
159
|
+
setIsSelectedAll(config.items.length === selectedIds.length);
|
|
160
|
+
}, [config.items.length, selectedIds]);
|
|
149
161
|
// Global key down handler for navigate on items
|
|
150
162
|
// Support keys:
|
|
151
163
|
// - tab
|
|
@@ -175,9 +187,9 @@ function useDataSelect(config) {
|
|
|
175
187
|
// Select first selected
|
|
176
188
|
setSelectedIds(selectedIds[0], true);
|
|
177
189
|
}
|
|
178
|
-
else if (
|
|
190
|
+
else if (flattenedItems.length > 0) {
|
|
179
191
|
// Select first result
|
|
180
|
-
setSelectedIds(
|
|
192
|
+
setSelectedIds(flattenedItems[0], true);
|
|
181
193
|
}
|
|
182
194
|
setIsOpened(false);
|
|
183
195
|
}
|
|
@@ -202,7 +214,7 @@ function useDataSelect(config) {
|
|
|
202
214
|
else {
|
|
203
215
|
// Navigate on items by keys
|
|
204
216
|
var direction = isDown ? 1 : -1;
|
|
205
|
-
var keys =
|
|
217
|
+
var keys = flattenedItems.map(function (item) { return item.id; });
|
|
206
218
|
// Get current index
|
|
207
219
|
var index = hoveredId ? keys.indexOf(hoveredId) : -1;
|
|
208
220
|
if (index === -1 && selectedIds.length === 1) {
|
|
@@ -216,7 +228,7 @@ function useDataSelect(config) {
|
|
|
216
228
|
setHoveredId(keys[newIndex]);
|
|
217
229
|
}
|
|
218
230
|
}
|
|
219
|
-
}, [isFocused, isOpened, hoveredId, selectedIds,
|
|
231
|
+
}, [isFocused, isOpened, hoveredId, selectedIds, flattenedItems, setSelectedIds]);
|
|
220
232
|
(0, react_use_1.useEvent)('keydown', onKeyDown);
|
|
221
233
|
return {
|
|
222
234
|
isOpened: isOpened,
|
|
@@ -227,7 +239,9 @@ function useDataSelect(config) {
|
|
|
227
239
|
setHoveredId: setHoveredId,
|
|
228
240
|
selectedIds: selectedIds,
|
|
229
241
|
setSelectedIds: setSelectedIds,
|
|
230
|
-
selectedItems: selectedItems
|
|
242
|
+
selectedItems: selectedItems,
|
|
243
|
+
setSelectedAll: setSelectedAll,
|
|
244
|
+
isSelectedAll: isSelectedAll
|
|
231
245
|
};
|
|
232
246
|
}
|
|
233
247
|
exports["default"] = useDataSelect;
|
package/hooks/useFetch.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AxiosError } from 'axios';
|
|
2
2
|
import { IComponents } from '../providers/ComponentsProvider';
|
|
3
|
-
import { IApiMethod } from '../components/ApiComponent';
|
|
4
3
|
declare global {
|
|
5
4
|
interface Window {
|
|
6
5
|
APP_PRELOADED_DATA: any;
|
|
@@ -8,21 +7,21 @@ declare global {
|
|
|
8
7
|
}
|
|
9
8
|
export interface IFetchConfig {
|
|
10
9
|
id?: string | number;
|
|
11
|
-
url?: string
|
|
10
|
+
url?: string;
|
|
12
11
|
method?: 'get' | 'post' | string;
|
|
13
12
|
params?: Record<string, unknown>;
|
|
14
13
|
onFetch?: (config: IFetchConfig, components: IComponents, addCancelToken: (token: any) => any) => any;
|
|
15
14
|
}
|
|
16
|
-
export interface IFetchResult {
|
|
15
|
+
export interface IFetchResult<T> {
|
|
17
16
|
data?: {
|
|
18
17
|
providerData?: {
|
|
19
18
|
type: string;
|
|
20
19
|
value: string;
|
|
21
20
|
};
|
|
22
21
|
[key: string]: unknown;
|
|
23
|
-
} |
|
|
22
|
+
} | T;
|
|
24
23
|
isLoading: boolean;
|
|
25
|
-
fetch
|
|
24
|
+
fetch: (newParams?: Record<string, unknown>) => void;
|
|
26
25
|
axiosError: AxiosError | null;
|
|
27
26
|
}
|
|
28
27
|
export declare const normalizeConfig: (config: any) => any;
|
|
@@ -38,4 +37,4 @@ export declare const fetchData: (config: any, components: any, addCancelToken: a
|
|
|
38
37
|
* В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
|
|
39
38
|
* ключ `key`.
|
|
40
39
|
*/
|
|
41
|
-
export default function useFetch(rawConfig?: IFetchConfig): IFetchResult
|
|
40
|
+
export default function useFetch<T = any>(rawConfig?: IFetchConfig): IFetchResult<T>;
|
package/hooks/useFetch.js
CHANGED
|
@@ -75,9 +75,6 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
|
75
75
|
var cancelToken = new axios_1["default"].CancelToken(function (cancel) {
|
|
76
76
|
addCancelToken(cancel);
|
|
77
77
|
});
|
|
78
|
-
if (typeof config.url === 'function') {
|
|
79
|
-
return config.url(components.api, config.params, config.options).then(function (result) { return result.data; });
|
|
80
|
-
}
|
|
81
78
|
return components.http
|
|
82
79
|
.send(config.method, config.url, config.params, __assign(__assign({}, config.options), { cancelToken: cancelToken }))
|
|
83
80
|
.then(function (result) { return result.data; });
|
package/hooks/useFile.d.ts
CHANGED
|
@@ -1,2 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export interface IFileInput {
|
|
2
|
+
/**
|
|
3
|
+
* Параметры для input элемента
|
|
4
|
+
*/
|
|
5
|
+
input?: FormInputType;
|
|
6
|
+
/**
|
|
7
|
+
* Множественный выбор файлов
|
|
8
|
+
*/
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Позволяет указать uploader
|
|
12
|
+
*/
|
|
13
|
+
uploader?: any;
|
|
14
|
+
/**
|
|
15
|
+
* Экшен для отправки на бэкенд
|
|
16
|
+
* @example '/api/v1/user/avatar/crop'
|
|
17
|
+
*/
|
|
18
|
+
backendUrl?: any;
|
|
19
|
+
/**
|
|
20
|
+
* Список mime-типов
|
|
21
|
+
*/
|
|
22
|
+
mimeTypes?: any;
|
|
23
|
+
/**
|
|
24
|
+
* Использовать только изображения
|
|
25
|
+
*/
|
|
26
|
+
imagesOnly?: any;
|
|
27
|
+
imagesProcessor?: any;
|
|
28
|
+
/**
|
|
29
|
+
* Точные размеры изображений
|
|
30
|
+
*/
|
|
31
|
+
imagesExactSize?: any;
|
|
32
|
+
/**
|
|
33
|
+
* Начальные файлы
|
|
34
|
+
*/
|
|
35
|
+
initialFiles?: any;
|
|
36
|
+
/**
|
|
37
|
+
* Параметры для uploader
|
|
38
|
+
*/
|
|
39
|
+
uploaderConfig?: {
|
|
40
|
+
useFormData?: boolean;
|
|
41
|
+
fileFieldName?: string;
|
|
42
|
+
} | any;
|
|
43
|
+
}
|
|
44
|
+
export interface IFileOutput {
|
|
45
|
+
uploader?: any;
|
|
46
|
+
files?: any[];
|
|
47
|
+
onBrowse?: any;
|
|
48
|
+
onRemove?: any;
|
|
49
|
+
onAdd?: any;
|
|
50
|
+
}
|
|
51
|
+
export default function useFile(props: IFileInput): IFileOutput;
|
package/hooks/useForm.d.ts
CHANGED
package/hooks/useForm.js
CHANGED
|
@@ -10,7 +10,6 @@ function useForm() {
|
|
|
10
10
|
model: context.model,
|
|
11
11
|
prefix: context.prefix,
|
|
12
12
|
size: context.size,
|
|
13
|
-
layout: context.layout,
|
|
14
13
|
formDispatch: context === null || context === void 0 ? void 0 : context.dispatch,
|
|
15
14
|
formSelector: function (selector) { var _a; return (_a = context === null || context === void 0 ? void 0 : context.provider) === null || _a === void 0 ? void 0 : _a.select(context.formId, selector); }
|
|
16
15
|
}
|
package/hooks/useList.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { IApiMethod } from '../components/ApiComponent';
|
|
2
1
|
import { IAddressBarConfig } from '../hooks/useAddressBar';
|
|
3
2
|
import { IList } from '../actions/list';
|
|
4
3
|
import { ILayoutNamesProps } from '../ui/list/LayoutNames/LayoutNames';
|
|
@@ -8,7 +7,7 @@ import { IEmptyProps } from '../ui/list/Empty/Empty';
|
|
|
8
7
|
import { IFormProps } from '../ui/form/Form/Form';
|
|
9
8
|
import { Model } from '../components/MetaComponent';
|
|
10
9
|
export type ListControlPosition = 'top' | 'bottom' | 'both' | string;
|
|
11
|
-
interface
|
|
10
|
+
export interface ISortConfig {
|
|
12
11
|
/**
|
|
13
12
|
* Включить сортировку
|
|
14
13
|
* @example false
|
|
@@ -41,7 +40,7 @@ export interface IListConfig {
|
|
|
41
40
|
* Url, который вернет коллекцию элементов
|
|
42
41
|
* @example api/v1/articles
|
|
43
42
|
*/
|
|
44
|
-
action?: string
|
|
43
|
+
action?: string;
|
|
45
44
|
/**
|
|
46
45
|
* Тип HTTP запроса (GET | POST | PUT | DELETE)
|
|
47
46
|
* @example GET
|
|
@@ -61,7 +60,7 @@ export interface IListConfig {
|
|
|
61
60
|
* Подключение сортировки
|
|
62
61
|
* @example {enable: true, defaultSort: 'startDate'}
|
|
63
62
|
*/
|
|
64
|
-
sort?: boolean |
|
|
63
|
+
sort?: boolean | ISortConfig;
|
|
65
64
|
/**
|
|
66
65
|
* Варианты расположения элементов коллекции
|
|
67
66
|
* @example {items: [{id: 'list', label: 'List'}, {id: 'grid', label: 'Grid'}]}
|
|
@@ -102,6 +101,11 @@ export interface IListConfig {
|
|
|
102
101
|
* @return {Promise}
|
|
103
102
|
*/
|
|
104
103
|
onFetch?: (list: IList, query: Record<string, unknown>, http: any) => Promise<any>;
|
|
104
|
+
/**
|
|
105
|
+
* Обработчик события ошибки выполнения запроса
|
|
106
|
+
* @param args
|
|
107
|
+
*/
|
|
108
|
+
onError?: (error: Record<string, any>) => void;
|
|
105
109
|
/**
|
|
106
110
|
* Обработчик, который составляет список условий для локальной фильтрации элементов коллекции
|
|
107
111
|
* @param {Object} query
|
|
@@ -113,12 +117,18 @@ export interface IListConfig {
|
|
|
113
117
|
* @example true
|
|
114
118
|
*/
|
|
115
119
|
addressBar?: boolean | IAddressBarConfig;
|
|
120
|
+
/**
|
|
121
|
+
* Параметр для загрузки данных списка с сервера
|
|
122
|
+
*/
|
|
116
123
|
scope?: string[];
|
|
117
124
|
/**
|
|
118
125
|
* Дополнительные параметры, значения которых нужно передавать в запросе для получения данных
|
|
119
126
|
* @example {tagName: 'MarketReviews'}
|
|
120
127
|
*/
|
|
121
128
|
query?: Record<string, unknown>;
|
|
129
|
+
/**
|
|
130
|
+
* Модель
|
|
131
|
+
*/
|
|
122
132
|
model?: string;
|
|
123
133
|
/**
|
|
124
134
|
* Модель для синхронизации значений формы с адресной строкой
|
|
@@ -203,4 +213,3 @@ export declare const createInitialValues: ({ paginationProps, paginationSizeProp
|
|
|
203
213
|
* Выбранные фильтры синхронизируются с адресной строкой.
|
|
204
214
|
*/
|
|
205
215
|
export default function useList(config: IListConfig): IListOutput;
|
|
206
|
-
export {};
|
package/hooks/useList.js
CHANGED
|
@@ -141,7 +141,7 @@ function useList(config) {
|
|
|
141
141
|
// Layout switcher
|
|
142
142
|
var LayoutNames = require('../ui/list/LayoutNames')["default"];
|
|
143
143
|
var layoutNamesProps = (0, LayoutNames_1.normalizeLayoutNamesProps)(config.layout);
|
|
144
|
-
var renderLayoutNames = function () { return React.createElement(LayoutNames, __assign({ list: list }, layoutNamesProps)); };
|
|
144
|
+
var renderLayoutNames = function () { return (React.createElement(LayoutNames, __assign({ list: list }, layoutNamesProps))); };
|
|
145
145
|
// Models
|
|
146
146
|
var defaultSearchModel = (0, react_1.useMemo)(function () { return (0, exports.getDefaultSearchModel)({
|
|
147
147
|
paginationProps: paginationProps,
|
|
@@ -189,6 +189,7 @@ function useList(config) {
|
|
|
189
189
|
action: config.action || config.action === '' ? config.action : null,
|
|
190
190
|
actionMethod: config.actionMethod || exports.defaultConfig.actionMethod,
|
|
191
191
|
onFetch: config.onFetch,
|
|
192
|
+
onError: config.onError,
|
|
192
193
|
condition: config.condition,
|
|
193
194
|
scope: config.scope,
|
|
194
195
|
items: null,
|
|
@@ -256,7 +257,10 @@ function useList(config) {
|
|
|
256
257
|
(0, react_use_1.useUnmount)(function () {
|
|
257
258
|
var autoDestroy = typeof config.autoDestroy === 'boolean' ? config.autoDestroy : exports.defaultConfig.autoDestroy;
|
|
258
259
|
if (autoDestroy) {
|
|
259
|
-
dispatch(
|
|
260
|
+
dispatch([
|
|
261
|
+
(0, list_2.listDestroy)(config.listId),
|
|
262
|
+
(0, form_1.formDestroy)(config.listId),
|
|
263
|
+
]);
|
|
260
264
|
}
|
|
261
265
|
});
|
|
262
266
|
var onFetch = (0, react_1.useCallback)(function (params) {
|