@steroidsjs/core 2.1.0-beta.3 → 2.1.0-beta.30
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 +3 -1
- package/actions/form.d.ts +9 -0
- package/actions/form.js +11 -1
- package/actions/list.d.ts +1 -0
- package/actions/list.js +1 -0
- package/actions/modal.d.ts +3 -2
- package/components/ClientStorageComponent.d.ts +3 -3
- package/components/ClientStorageComponent.js +28 -22
- package/components/HttpComponent.js +32 -15
- package/components/LocaleComponent.js +9 -9
- package/components/MetricsComponent.js +3 -1
- package/components/SocialComponent.d.ts +1 -1
- package/components/SocialComponent.js +12 -10
- package/components/StoreComponent.d.ts +6 -0
- package/components/StoreComponent.js +6 -7
- package/components/UiComponent.d.ts +1 -1
- package/components/WebSocketComponent.d.ts +1 -1
- package/components/social/FacebookProvider.d.ts +1 -1
- package/components/social/FacebookProvider.js +5 -6
- package/components/social/GitlabProvider.d.ts +8 -0
- package/components/social/GitlabProvider.js +98 -0
- package/components/social/GoogleProvider.d.ts +1 -1
- package/components/social/GoogleProvider.js +2 -2
- package/components/social/SteamProvider.d.ts +1 -1
- package/components/social/SteamProvider.js +8 -9
- package/components/social/VkProvider.d.ts +1 -1
- package/components/social/VkProvider.js +8 -9
- package/hoc/components.d.ts +1 -1
- package/hoc/components.js +1 -1
- package/hoc/file.d.ts +1 -0
- package/hooks/index.d.ts +2 -1
- package/hooks/index.js +3 -1
- package/hooks/useAbsolutePositioning.d.ts +5 -0
- package/hooks/useAbsolutePositioning.js +6 -6
- package/hooks/useApplication.d.ts +29 -26
- package/hooks/useApplication.js +17 -82
- package/hooks/useComponents.d.ts +1 -14
- package/hooks/useComponents.js +4 -5
- package/hooks/useDataProvider.d.ts +1 -0
- package/hooks/useDataProvider.js +5 -4
- package/hooks/useDataSelect.d.ts +15 -8
- package/hooks/useDataSelect.js +43 -5
- package/hooks/useFetch.d.ts +11 -3
- package/hooks/useFetch.js +37 -31
- package/hooks/useFile.js +13 -2
- package/hooks/useLayout.d.ts +9 -0
- package/hooks/useLayout.js +85 -56
- package/hooks/useList.d.ts +56 -1
- package/hooks/useList.js +89 -54
- package/hooks/useModel.js +1 -1
- package/hooks/useScreen.d.ts +1 -1
- package/hooks/useScreen.js +2 -2
- package/hooks/useSsr.d.ts +2 -0
- package/hooks/useSsr.js +8 -0
- package/index.d.ts +8 -2
- package/package.json +6 -3
- package/providers/ComponentsProvider.d.ts +26 -0
- package/providers/ComponentsProvider.js +28 -0
- package/providers/ScreenProvider.d.ts +20 -0
- package/providers/ScreenProvider.js +87 -0
- package/providers/SsrProvider.d.ts +17 -0
- package/providers/SsrProvider.js +32 -0
- package/providers/index.d.ts +4 -0
- package/providers/index.js +12 -0
- package/reducers/form.d.ts +2 -1
- package/reducers/form.js +6 -2
- package/reducers/index.js +1 -1
- package/reducers/list.js +1 -3
- package/reducers/router.js +8 -4
- package/ui/content/Alert/Alert.d.ts +60 -0
- package/ui/content/Alert/Alert.js +38 -0
- package/ui/content/Alert/demo/description.d.ts +9 -0
- package/ui/content/Alert/demo/description.js +43 -0
- package/ui/content/Alert/demo/icon.d.ts +8 -0
- package/ui/content/Alert/demo/icon.js +42 -0
- package/ui/content/Alert/demo/text.d.ts +8 -0
- package/ui/content/Alert/demo/text.js +42 -0
- package/ui/content/Alert/index.d.ts +2 -0
- package/ui/content/Alert/index.js +7 -0
- package/ui/content/Avatar/Avatar.d.ts +54 -13
- package/ui/content/Avatar/Avatar.js +25 -4
- package/ui/content/Avatar/AvatarGroup.d.ts +3 -5
- package/ui/content/Avatar/AvatarGroup.js +27 -11
- package/ui/{form/TimeField/demo/show-remove.d.ts → content/Avatar/demo/custome size.d.ts } +2 -2
- package/ui/content/Avatar/demo/custome size.js +35 -0
- package/ui/{form/SwitcherField/demo/sizes.d.ts → content/Avatar/demo/group.d.ts} +1 -1
- package/ui/content/Avatar/demo/group.js +49 -0
- package/ui/content/Avatar/demo/shape.d.ts +8 -0
- package/ui/content/Avatar/demo/shape.js +41 -0
- package/ui/content/Avatar/demo/size.d.ts +8 -0
- package/ui/content/Avatar/demo/size.js +41 -0
- package/ui/content/Avatar/demo/title.d.ts +8 -0
- package/ui/content/Avatar/demo/title.js +41 -0
- package/ui/content/Avatar/index.d.ts +6 -1
- package/ui/content/Avatar/index.js +4 -0
- package/ui/content/Calendar/demo/basic.d.ts +8 -0
- package/ui/{form/FieldLayout → content/Calendar}/demo/basic.js +3 -3
- package/ui/content/Card/Card.d.ts +62 -14
- package/ui/content/Card/Card.js +3 -2
- package/ui/{form/FieldLayout/demo/hint.d.ts → content/Card/demo/basic.d.ts} +2 -2
- package/ui/{form/SwitcherField/demo/sizes.js → content/Card/demo/basic.js} +6 -12
- package/ui/content/Card/demo/border color.d.ts +3 -0
- package/ui/content/Card/demo/border color.js +47 -0
- package/ui/content/Card/demo/color.d.ts +3 -0
- package/ui/content/Card/demo/color.js +47 -0
- package/ui/{form/DateTimeField/demo/sizes.d.ts → content/Card/demo/header.d.ts} +2 -2
- package/ui/content/Card/demo/header.js +42 -0
- package/ui/content/Card/demo/hover.d.ts +8 -0
- package/ui/content/Card/demo/hover.js +37 -0
- package/ui/content/Card/demo/link.d.ts +8 -0
- package/ui/content/Card/demo/link.js +38 -0
- package/ui/content/Card/demo/orientation.d.ts +3 -0
- package/ui/content/Card/demo/orientation.js +41 -0
- package/ui/content/Collapse/Collapse.d.ts +63 -0
- package/ui/content/Collapse/Collapse.js +80 -0
- package/ui/content/Collapse/CollapseItem.d.ts +67 -0
- package/ui/content/Collapse/CollapseItem.js +22 -0
- package/ui/content/Collapse/demo/accordion.d.ts +8 -0
- package/ui/content/Collapse/demo/accordion.js +37 -0
- package/ui/{form/FieldLayout → content/Collapse}/demo/basic.d.ts +0 -0
- package/ui/content/Collapse/demo/basic.js +37 -0
- package/ui/{form/SliderField/demo/required.d.ts → content/Collapse/demo/borderless.d.ts} +2 -2
- package/ui/content/Collapse/demo/borderless.js +37 -0
- package/ui/content/Collapse/demo/disable.d.ts +8 -0
- package/ui/content/Collapse/demo/disable.js +37 -0
- package/ui/content/Collapse/demo/icon position.d.ts +8 -0
- package/ui/content/Collapse/demo/icon position.js +37 -0
- package/ui/{form/SliderField/demo/size.d.ts → content/Collapse/demo/icon.d.ts} +1 -1
- package/ui/content/Collapse/demo/icon.js +52 -0
- package/ui/content/Collapse/demo/onChange.d.ts +8 -0
- package/ui/content/Collapse/demo/onChange.js +47 -0
- package/ui/content/Collapse/demo/show icon.d.ts +8 -0
- package/ui/content/Collapse/demo/show icon.js +37 -0
- package/ui/content/Collapse/index.d.ts +7 -0
- package/ui/content/Collapse/index.js +8 -0
- package/ui/content/Detail/Detail.d.ts +102 -0
- package/ui/content/Detail/Detail.js +155 -0
- package/ui/content/Detail/DetailItem.d.ts +43 -0
- package/ui/content/Detail/DetailItem.js +10 -0
- package/ui/content/Detail/demo/basic.d.ts +8 -0
- package/ui/content/Detail/demo/basic.js +56 -0
- package/ui/content/Detail/demo/colors.d.ts +3 -0
- package/ui/content/Detail/demo/colors.js +39 -0
- package/ui/content/Detail/demo/controls.d.ts +8 -0
- package/ui/content/Detail/demo/controls.js +56 -0
- package/ui/content/Detail/demo/layout.d.ts +8 -0
- package/ui/content/Detail/demo/layout.js +56 -0
- package/ui/content/Detail/demo/responsive.d.ts +8 -0
- package/ui/content/Detail/demo/responsive.js +71 -0
- package/ui/content/Detail/demo/sizes.d.ts +8 -0
- package/ui/content/Detail/demo/sizes.js +61 -0
- package/ui/content/Detail/index.d.ts +3 -0
- package/ui/content/Detail/index.js +10 -0
- package/ui/content/DropDown/DropDown.d.ts +1 -0
- package/ui/content/DropDown/DropDown.js +1 -0
- package/ui/content/index.d.ts +13 -0
- package/ui/content/index.js +22 -0
- package/ui/crud/Crud/Crud.d.ts +1 -1
- package/ui/crud/Crud/Crud.js +5 -3
- package/ui/crud/Crud/CrudContent.d.ts +5 -1
- package/ui/crud/Crud/CrudContent.js +5 -5
- package/ui/crud/index.d.ts +2 -0
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +1 -6
- package/ui/form/AutoCompleteField/demo/basic.d.ts +5 -5
- package/ui/form/AutoCompleteField/demo/basic.js +5 -5
- package/ui/form/AutoCompleteField/demo/disabled.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/disabled.js +1 -1
- package/ui/form/AutoCompleteField/demo/errors.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/errors.js +2 -2
- package/ui/form/AutoCompleteField/demo/placeholder.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/placeholder.js +1 -1
- package/ui/form/AutoCompleteField/demo/required.d.ts +1 -1
- package/ui/form/AutoCompleteField/demo/required.js +1 -1
- package/ui/form/AutoCompleteField/demo/sizes.d.ts +0 -5
- package/ui/form/AutoCompleteField/demo/sizes.js +5 -5
- package/ui/form/BlankField/BlankField.d.ts +6 -7
- package/ui/form/BlankField/demo/basic.d.ts +12 -0
- package/ui/form/BlankField/demo/basic.js +51 -0
- package/ui/form/Button/Button.d.ts +1 -0
- package/ui/form/Button/Button.js +1 -0
- package/ui/form/Button/demo/badge.d.ts +1 -1
- package/ui/form/Button/demo/badge.js +1 -1
- package/ui/form/Button/demo/basic.d.ts +1 -1
- package/ui/form/Button/demo/basic.js +1 -1
- package/ui/form/Button/demo/block.d.ts +1 -1
- package/ui/form/Button/demo/block.js +1 -1
- package/ui/form/Button/demo/colors.d.ts +1 -1
- package/ui/form/Button/demo/colors.js +3 -3
- package/ui/form/Button/demo/confirm.d.ts +1 -1
- package/ui/form/Button/demo/confirm.js +2 -2
- package/ui/form/Button/demo/disabled.d.ts +1 -1
- package/ui/form/Button/demo/disabled.js +1 -1
- package/ui/form/Button/demo/hint.d.ts +1 -1
- package/ui/form/Button/demo/hint.js +1 -1
- package/ui/form/Button/demo/icon.d.ts +1 -1
- package/ui/form/Button/demo/icon.js +1 -1
- package/ui/form/Button/demo/link.d.ts +1 -1
- package/ui/form/Button/demo/link.js +1 -1
- package/ui/form/Button/demo/sizes.d.ts +0 -5
- package/ui/form/Button/demo/sizes.js +5 -5
- package/ui/form/Button/demo/tags.d.ts +1 -1
- package/ui/form/Button/demo/tags.js +1 -1
- package/ui/form/CheckboxField/CheckboxField.d.ts +1 -6
- package/ui/form/CheckboxField/demo/basic.d.ts +1 -1
- package/ui/form/CheckboxField/demo/basic.js +1 -1
- package/ui/form/CheckboxField/demo/disabled.d.ts +1 -1
- package/ui/form/CheckboxField/demo/disabled.js +1 -1
- package/ui/form/CheckboxField/demo/errors.d.ts +1 -1
- package/ui/form/CheckboxField/demo/errors.js +2 -2
- package/ui/form/CheckboxField/demo/required.d.ts +1 -1
- package/ui/form/CheckboxField/demo/required.js +1 -1
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +1 -6
- package/ui/form/CheckboxListField/demo/basic.d.ts +3 -3
- package/ui/form/CheckboxListField/demo/basic.js +5 -5
- package/ui/form/CheckboxListField/demo/disabled.d.ts +1 -1
- package/ui/form/CheckboxListField/demo/disabled.js +1 -1
- package/ui/form/CheckboxListField/demo/errors.d.ts +1 -1
- package/ui/form/CheckboxListField/demo/errors.js +2 -2
- package/ui/form/CheckboxListField/demo/required.d.ts +1 -1
- package/ui/form/CheckboxListField/demo/required.js +1 -1
- package/ui/form/DateField/DateField.d.ts +1 -7
- package/ui/form/DateField/DateField.js +1 -1
- package/ui/form/DateField/demo/basic.d.ts +1 -1
- package/ui/form/DateField/demo/basic.js +1 -1
- package/ui/form/DateField/demo/disabled.d.ts +1 -1
- package/ui/form/DateField/demo/disabled.js +1 -1
- package/ui/form/DateField/demo/errors.d.ts +1 -1
- package/ui/form/DateField/demo/errors.js +1 -1
- package/ui/form/DateField/demo/icon.d.ts +1 -1
- package/ui/form/DateField/demo/icon.js +2 -2
- package/ui/form/DateField/demo/placeholder.d.ts +1 -1
- package/ui/form/DateField/demo/placeholder.js +1 -1
- package/ui/form/DateField/demo/required.d.ts +1 -1
- package/ui/form/DateField/demo/required.js +1 -1
- package/ui/form/DateField/demo/sizes.d.ts +1 -1
- package/ui/form/DateField/demo/sizes.js +1 -1
- package/ui/form/DateField/useDateInputState.d.ts +4 -0
- package/ui/form/DateField/useDateInputState.js +3 -3
- package/ui/form/DateField/useDateTime.js +9 -7
- package/ui/form/DateRangeField/DateRangeField.d.ts +1 -7
- package/ui/form/DateRangeField/DateRangeField.js +3 -2
- package/ui/form/DateRangeField/demo/basic.d.ts +1 -1
- package/ui/form/DateRangeField/demo/basic.js +1 -1
- package/ui/form/DateRangeField/demo/disabled.d.ts +8 -0
- package/ui/form/DateRangeField/demo/disabled.js +33 -0
- package/ui/form/DateRangeField/demo/errors.d.ts +8 -0
- package/ui/form/DateRangeField/demo/errors.js +33 -0
- package/ui/form/DateRangeField/demo/icon.d.ts +8 -0
- package/ui/form/DateRangeField/demo/icon.js +35 -0
- package/ui/form/DateRangeField/demo/placeholder.d.ts +8 -0
- package/ui/form/DateRangeField/demo/placeholder.js +33 -0
- package/ui/form/DateRangeField/demo/required.d.ts +8 -0
- package/ui/form/DateRangeField/demo/required.js +33 -0
- package/ui/form/DateTimeField/DateTimeField.d.ts +1 -7
- package/ui/form/DateTimeField/DateTimeField.js +3 -2
- package/ui/form/DateTimeField/demo/basic.d.ts +1 -1
- package/ui/form/DateTimeField/demo/basic.js +1 -1
- package/ui/form/DateTimeField/demo/disabled.d.ts +1 -1
- package/ui/form/DateTimeField/demo/disabled.js +1 -1
- package/ui/form/DateTimeField/demo/errors.d.ts +1 -1
- package/ui/form/DateTimeField/demo/errors.js +2 -2
- package/ui/form/DateTimeField/demo/icon.d.ts +1 -1
- package/ui/form/DateTimeField/demo/icon.js +2 -2
- package/ui/form/DateTimeField/demo/placeholder.d.ts +1 -1
- package/ui/form/DateTimeField/demo/placeholder.js +2 -6
- package/ui/form/DateTimeField/demo/required.d.ts +1 -1
- package/ui/form/DateTimeField/demo/required.js +1 -1
- package/ui/form/DateTimeField/demo/showRemove.d.ts +8 -0
- package/ui/form/DateTimeField/demo/showRemove.js +32 -0
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -7
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +11 -2
- package/ui/form/DateTimeRangeField/demo/basic.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/basic.js +32 -0
- package/ui/form/DateTimeRangeField/demo/disabled.d.ts +8 -0
- package/ui/form/{FieldLayout/demo/hint.js → DateTimeRangeField/demo/disabled.js} +4 -5
- package/ui/form/DateTimeRangeField/demo/errors.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/errors.js +33 -0
- package/ui/form/DateTimeRangeField/demo/icon.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/icon.js +32 -0
- package/ui/form/DateTimeRangeField/demo/placeholder.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/placeholder.js +33 -0
- package/ui/form/DateTimeRangeField/demo/required.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/required.js +33 -0
- package/ui/form/DateTimeRangeField/demo/showRemove.d.ts +8 -0
- package/ui/form/DateTimeRangeField/demo/showRemove.js +32 -0
- package/ui/form/DropDownField/DropDownField.d.ts +2 -7
- package/ui/form/DropDownField/DropDownField.js +15 -8
- package/ui/form/DropDownField/demo/auto-complete.d.ts +1 -1
- package/ui/form/DropDownField/demo/auto-complete.js +1 -1
- package/ui/form/DropDownField/demo/basic.d.ts +5 -5
- package/ui/form/DropDownField/demo/basic.js +6 -6
- package/ui/form/DropDownField/demo/disabled.d.ts +1 -1
- package/ui/form/DropDownField/demo/disabled.js +1 -1
- package/ui/form/DropDownField/demo/errors.d.ts +1 -1
- package/ui/form/DropDownField/demo/errors.js +2 -2
- package/ui/form/DropDownField/demo/multiple.d.ts +1 -1
- package/ui/form/DropDownField/demo/multiple.js +1 -1
- package/ui/form/DropDownField/demo/no-border.d.ts +1 -1
- package/ui/form/DropDownField/demo/no-border.js +1 -1
- package/ui/form/DropDownField/demo/placeholder.d.ts +1 -1
- package/ui/form/DropDownField/demo/placeholder.js +1 -1
- package/ui/form/DropDownField/demo/required.d.ts +1 -1
- package/ui/form/DropDownField/demo/required.js +1 -1
- package/ui/form/DropDownField/demo/show-reset.d.ts +1 -1
- package/ui/form/DropDownField/demo/show-reset.js +1 -1
- package/ui/form/DropDownField/demo/size.d.ts +1 -1
- package/ui/form/DropDownField/demo/size.js +1 -1
- package/ui/form/Field/demo/basic.d.ts +1 -1
- package/ui/form/Field/demo/basic.js +1 -1
- package/ui/form/Field/demo/component.d.ts +1 -1
- package/ui/form/Field/demo/component.js +1 -1
- package/ui/form/Field/demo/model.d.ts +1 -1
- package/ui/form/Field/demo/model.js +1 -1
- package/ui/form/Field/fieldWrapper.d.ts +4 -4
- package/ui/form/FieldLayout/demo/errors.d.ts +1 -1
- package/ui/form/FieldLayout/demo/errors.js +4 -3
- package/ui/form/FieldLayout/demo/layouts.d.ts +1 -1
- package/ui/form/FieldLayout/demo/layouts.js +4 -3
- package/ui/form/FieldLayout/demo/required.d.ts +1 -1
- package/ui/form/FieldLayout/demo/required.js +3 -2
- package/ui/form/FieldList/FieldList.d.ts +1 -6
- package/ui/form/FieldList/demo/basic.d.ts +1 -1
- package/ui/form/FieldList/demo/basic.js +1 -1
- package/ui/form/FieldList/demo/disabled.d.ts +8 -0
- package/ui/form/FieldList/demo/disabled.js +58 -0
- package/ui/form/FieldSet/demo/basic.d.ts +1 -1
- package/ui/form/FieldSet/demo/basic.js +1 -1
- package/ui/form/FileField/FileField.d.ts +1 -6
- package/ui/form/FileField/demo/basic.d.ts +8 -0
- package/ui/form/FileField/demo/basic.js +33 -0
- package/ui/form/Form/Form.d.ts +6 -0
- package/ui/form/Form/Form.js +119 -107
- package/ui/form/Form/demo/basic.d.ts +1 -1
- package/ui/form/Form/demo/basic.js +2 -2
- package/ui/form/Form/demo/border.d.ts +8 -0
- package/ui/form/Form/demo/border.js +58 -0
- package/ui/form/Form/demo/horizontal.d.ts +8 -0
- package/ui/form/Form/demo/horizontal.js +51 -0
- package/ui/form/Form/demo/inline.d.ts +8 -0
- package/ui/form/Form/demo/inline.js +49 -0
- package/ui/form/HtmlField/HtmlField.d.ts +1 -7
- package/ui/form/HtmlField/demo/basic.d.ts +1 -1
- package/ui/form/HtmlField/demo/basic.js +1 -1
- package/ui/form/ImageField/ImageField.d.ts +81 -0
- package/ui/form/ImageField/ImageField.js +145 -0
- package/ui/form/ImageField/index.d.ts +2 -0
- package/ui/form/ImageField/index.js +7 -0
- package/ui/form/InputField/InputField.d.ts +8 -6
- package/ui/form/InputField/InputField.js +26 -22
- package/ui/form/InputField/demo/addons.d.ts +3 -3
- package/ui/form/InputField/demo/addons.js +3 -3
- package/ui/form/InputField/demo/basic.d.ts +1 -1
- package/ui/form/InputField/demo/basic.js +2 -3
- package/ui/form/InputField/demo/disabled.d.ts +1 -1
- package/ui/form/InputField/demo/disabled.js +2 -3
- package/ui/form/InputField/demo/errors.d.ts +2 -2
- package/ui/form/InputField/demo/errors.js +3 -3
- package/ui/form/InputField/demo/mask.d.ts +2 -2
- package/ui/form/InputField/demo/mask.js +2 -2
- package/ui/form/InputField/demo/placeholder.d.ts +1 -1
- package/ui/form/InputField/demo/placeholder.js +1 -1
- package/ui/form/InputField/demo/required.d.ts +1 -1
- package/ui/form/InputField/demo/required.js +1 -1
- package/ui/form/InputField/demo/sizes.d.ts +0 -5
- package/ui/form/InputField/demo/sizes.js +5 -5
- package/ui/form/InputField/demo/textAddons.d.ts +3 -3
- package/ui/form/InputField/demo/textAddons.js +3 -3
- package/ui/form/InputField/demo/types.d.ts +0 -5
- package/ui/form/InputField/demo/types.js +7 -7
- package/ui/form/NavField/NavField.d.ts +2 -8
- package/ui/form/NavField/NavField.js +6 -3
- package/ui/form/NavField/demo/basic.d.ts +5 -5
- package/ui/form/NavField/demo/basic.js +6 -6
- package/ui/form/NavField/demo/disabled.d.ts +2 -2
- package/ui/form/NavField/demo/disabled.js +3 -3
- package/ui/form/NavField/demo/errors.d.ts +2 -2
- package/ui/form/NavField/demo/errors.js +4 -4
- package/ui/form/NavField/demo/layouts.d.ts +12 -0
- package/ui/form/NavField/demo/layouts.js +57 -0
- package/ui/form/NavField/demo/required.d.ts +2 -2
- package/ui/form/NavField/demo/required.js +3 -3
- package/ui/form/NumberField/NumberField.d.ts +1 -6
- package/ui/form/NumberField/demo/basic.d.ts +1 -1
- package/ui/form/NumberField/demo/basic.js +1 -1
- package/ui/form/NumberField/demo/disabled.d.ts +1 -1
- package/ui/form/NumberField/demo/disabled.js +1 -1
- package/ui/form/NumberField/demo/errors.d.ts +1 -1
- package/ui/form/NumberField/demo/errors.js +2 -2
- package/ui/form/NumberField/demo/placeholder.d.ts +1 -1
- package/ui/form/NumberField/demo/placeholder.js +1 -1
- package/ui/form/NumberField/demo/required.d.ts +1 -1
- package/ui/form/NumberField/demo/required.js +1 -1
- package/ui/form/NumberField/demo/sizes.d.ts +2 -2
- package/ui/form/NumberField/demo/sizes.js +2 -2
- package/ui/form/PasswordField/PasswordField.d.ts +1 -6
- package/ui/form/PasswordField/demo/basic.d.ts +1 -1
- package/ui/form/PasswordField/demo/basic.js +1 -1
- package/ui/form/PasswordField/demo/disabled.d.ts +1 -1
- package/ui/form/PasswordField/demo/disabled.js +1 -1
- package/ui/form/PasswordField/demo/errors.d.ts +1 -1
- package/ui/form/PasswordField/demo/errors.js +2 -2
- package/ui/form/PasswordField/demo/placeholder.d.ts +1 -1
- package/ui/form/PasswordField/demo/placeholder.js +1 -1
- package/ui/form/PasswordField/demo/required.d.ts +1 -1
- package/ui/form/PasswordField/demo/required.js +1 -1
- package/ui/form/PasswordField/demo/security.d.ts +1 -1
- package/ui/form/PasswordField/demo/security.js +1 -1
- package/ui/form/PasswordField/demo/sizes.d.ts +2 -2
- package/ui/form/PasswordField/demo/sizes.js +2 -2
- package/ui/form/RadioListField/RadioListField.d.ts +1 -6
- package/ui/form/RadioListField/demo/basic.d.ts +5 -5
- package/ui/form/RadioListField/demo/basic.js +5 -5
- package/ui/form/RadioListField/demo/disabled.d.ts +1 -1
- package/ui/form/RadioListField/demo/disabled.js +1 -1
- package/ui/form/RadioListField/demo/errors.d.ts +1 -1
- package/ui/form/RadioListField/demo/errors.js +2 -2
- package/ui/form/RadioListField/demo/required.d.ts +1 -1
- package/ui/form/RadioListField/demo/required.js +1 -1
- package/ui/form/RateField/RateField.d.ts +2 -8
- package/ui/form/RateField/demo/allow-clear.d.ts +1 -1
- package/ui/form/RateField/demo/allow-clear.js +1 -1
- package/ui/form/RateField/demo/basic.d.ts +1 -1
- package/ui/form/RateField/demo/basic.js +1 -1
- package/ui/form/RateField/demo/default-value.d.ts +1 -1
- package/ui/form/RateField/demo/default-value.js +1 -1
- package/ui/form/RateField/demo/disabled.d.ts +1 -1
- package/ui/form/RateField/demo/disabled.js +1 -1
- package/ui/form/RateField/demo/errors.d.ts +1 -1
- package/ui/form/RateField/demo/errors.js +2 -2
- package/ui/form/RateField/demo/items-count.d.ts +1 -1
- package/ui/form/RateField/demo/items-count.js +1 -1
- package/ui/form/RateField/demo/required.d.ts +1 -1
- package/ui/form/RateField/demo/required.js +1 -1
- package/ui/form/ReCaptchaField/ReCaptchaField.d.ts +1 -7
- package/ui/form/ReCaptchaField/demo/basic.d.ts +1 -1
- package/ui/form/ReCaptchaField/demo/basic.js +1 -1
- package/ui/form/SliderField/SliderField.d.ts +42 -15
- package/ui/form/SliderField/SliderField.js +18 -9
- package/ui/form/SliderField/demo/basic.d.ts +1 -1
- package/ui/form/SliderField/demo/basic.js +2 -2
- package/ui/form/SliderField/demo/disabled.d.ts +1 -1
- package/ui/form/SliderField/demo/disabled.js +2 -2
- package/ui/form/SliderField/demo/errors.d.ts +2 -2
- package/ui/form/SliderField/demo/errors.js +4 -4
- package/ui/form/SliderField/demo/marks.d.ts +3 -0
- package/ui/form/SliderField/demo/marks.js +45 -0
- package/ui/form/SliderField/demo/min-max.d.ts +2 -2
- package/ui/form/SliderField/demo/min-max.js +3 -3
- package/ui/form/SliderField/demo/onAfterChange.d.ts +8 -0
- package/ui/form/SliderField/demo/onAfterChange.js +39 -0
- package/ui/form/SliderField/demo/onChange.d.ts +8 -0
- package/ui/form/SliderField/demo/onChange.js +39 -0
- package/ui/form/SliderField/demo/range.d.ts +8 -0
- package/ui/form/SliderField/demo/{size.js → range.js} +5 -10
- package/ui/form/SwitcherField/SwitcherField.d.ts +1 -7
- package/ui/form/SwitcherField/demo/basic.d.ts +5 -5
- package/ui/form/SwitcherField/demo/basic.js +5 -5
- package/ui/form/SwitcherField/demo/disabled.d.ts +1 -1
- package/ui/form/SwitcherField/demo/disabled.js +2 -2
- package/ui/form/SwitcherField/demo/errors.d.ts +1 -1
- package/ui/form/SwitcherField/demo/errors.js +3 -3
- package/ui/form/SwitcherField/demo/required.d.ts +1 -1
- package/ui/form/SwitcherField/demo/required.js +2 -2
- package/ui/form/TextField/TextField.d.ts +3 -7
- package/ui/form/TextField/TextField.js +1 -1
- package/ui/form/TextField/demo/basic.d.ts +1 -1
- package/ui/form/TextField/demo/basic.js +1 -1
- package/ui/form/TextField/demo/disabled.d.ts +1 -1
- package/ui/form/TextField/demo/disabled.js +1 -1
- package/ui/form/TextField/demo/errors.d.ts +1 -1
- package/ui/form/TextField/demo/errors.js +2 -2
- package/ui/form/TextField/demo/placeholder.d.ts +1 -1
- package/ui/form/TextField/demo/placeholder.js +1 -1
- package/ui/form/TextField/demo/required.d.ts +1 -1
- package/ui/form/TextField/demo/required.js +1 -1
- package/ui/form/TextField/demo/sizes.d.ts +0 -5
- package/ui/form/TextField/demo/sizes.js +5 -5
- package/ui/form/TextField/demo/submit.d.ts +2 -2
- package/ui/form/TextField/demo/submit.js +2 -2
- package/ui/form/TimeField/TimeField.d.ts +1 -7
- package/ui/form/TimeField/TimeField.js +1 -1
- package/ui/form/TimeField/demo/basic.d.ts +1 -1
- package/ui/form/TimeField/demo/basic.js +1 -1
- package/ui/form/TimeField/demo/disabled.d.ts +1 -1
- package/ui/form/TimeField/demo/disabled.js +1 -1
- package/ui/form/TimeField/demo/errors.d.ts +1 -1
- package/ui/form/TimeField/demo/errors.js +2 -2
- package/ui/form/TimeField/demo/icon.d.ts +8 -0
- package/ui/form/TimeField/demo/icon.js +33 -0
- package/ui/form/TimeField/demo/{no-border.d.ts → noBorder.d.ts} +1 -1
- package/ui/form/TimeField/demo/{no-border.js → noBorder.js} +1 -1
- package/ui/form/TimeField/demo/placeholder.d.ts +1 -1
- package/ui/form/TimeField/demo/placeholder.js +1 -1
- package/ui/form/TimeField/demo/required.d.ts +1 -1
- package/ui/form/TimeField/demo/required.js +1 -1
- package/ui/form/TimeField/demo/showRemove.d.ts +8 -0
- package/ui/form/TimeField/demo/{show-remove.js → showRemove.js} +1 -1
- package/ui/form/index.d.ts +22 -132
- package/ui/icon/Icon/Icon.js +3 -0
- package/ui/icon/Icon/demo/icon.d.ts +3 -0
- package/ui/{form/SliderField/demo/required.js → icon/Icon/demo/icon.js} +2 -7
- package/ui/layout/Meta/Meta.d.ts +56 -0
- package/ui/layout/Meta/Meta.js +38 -0
- package/ui/layout/Meta/index.d.ts +2 -0
- package/ui/layout/Meta/index.js +7 -0
- package/ui/layout/Notifications/Notifications.d.ts +14 -0
- package/ui/layout/Notifications/Notifications.js +1 -1
- package/ui/layout/Notifications/demo/basic.d.ts +8 -0
- package/ui/layout/Notifications/demo/basic.js +53 -0
- package/ui/layout/Notifications/demo/position.d.ts +3 -0
- package/ui/layout/Notifications/demo/position.js +45 -0
- package/ui/layout/Notifications/demo/timeOut.d.ts +3 -0
- package/ui/layout/Notifications/demo/timeOut.js +45 -0
- package/ui/layout/Portal.js +3 -0
- package/ui/layout/ProgressBar/ProgressBar.d.ts +55 -0
- package/ui/layout/ProgressBar/ProgressBar.js +53 -0
- package/ui/layout/ProgressBar/demo/percent.d.ts +8 -0
- package/ui/layout/ProgressBar/demo/percent.js +49 -0
- package/ui/layout/ProgressBar/demo/showLabel.d.ts +8 -0
- package/ui/layout/ProgressBar/demo/showLabel.js +40 -0
- package/ui/{form/TimeField → layout/ProgressBar}/demo/sizes.d.ts +1 -1
- package/ui/layout/ProgressBar/demo/sizes.js +40 -0
- package/ui/layout/ProgressBar/demo/status.d.ts +8 -0
- package/ui/{form/DateTimeField/demo/sizes.js → layout/ProgressBar/demo/status.js} +8 -12
- package/ui/layout/ProgressBar/demo/type.d.ts +8 -0
- package/ui/layout/ProgressBar/demo/type.js +40 -0
- package/ui/layout/ProgressBar/index.d.ts +2 -0
- package/ui/layout/ProgressBar/index.js +7 -0
- package/ui/layout/Skeleton/Skeleton.d.ts +25 -0
- package/ui/layout/Skeleton/Skeleton.js +11 -0
- package/ui/layout/Skeleton/demo/animations.d.ts +8 -0
- package/ui/layout/Skeleton/demo/animations.js +49 -0
- package/ui/layout/Skeleton/demo/width height.d.ts +8 -0
- package/ui/layout/Skeleton/demo/width height.js +38 -0
- package/ui/layout/Skeleton/index.d.ts +2 -0
- package/ui/layout/Skeleton/index.js +7 -0
- package/ui/layout/Tooltip/demo/basic.d.ts +5 -0
- package/ui/layout/Tooltip/demo/basic.js +20 -9
- package/ui/list/Grid/Grid.js +3 -1
- package/ui/list/Grid/demo/inner-search-form.d.ts +1 -6
- package/ui/list/List/List.js +4 -6
- package/ui/list/PaginationSize/PaginationSize.d.ts +2 -2
- package/ui/list/Steps/Steps.d.ts +32 -0
- package/ui/list/Steps/Steps.js +23 -0
- package/ui/list/Steps/index.d.ts +2 -0
- package/ui/list/Steps/index.js +7 -0
- package/ui/modal/Modal/Modal.d.ts +52 -32
- package/ui/modal/Modal/Modal.js +3 -1
- package/ui/modal/Modal/demo/basic.d.ts +1 -1
- package/ui/modal/Modal/demo/basic.js +16 -7
- package/ui/modal/Modal/demo/closeTimeout.d.ts +8 -0
- package/ui/modal/Modal/demo/closeTimeout.js +60 -0
- package/ui/modal/Modal/demo/closing.d.ts +9 -0
- package/ui/modal/Modal/demo/closing.js +63 -0
- package/ui/modal/Modal/demo/component.d.ts +10 -0
- package/ui/modal/Modal/demo/component.js +51 -0
- package/ui/modal/Modal/demo/controls.d.ts +8 -0
- package/ui/modal/Modal/demo/controls.js +62 -0
- package/ui/modal/Modal/demo/size.d.ts +8 -0
- package/ui/modal/Modal/demo/size.js +66 -0
- package/ui/modal/ModalPortal/ModalPortal.d.ts +8 -0
- package/ui/modal/ModalPortal/ModalPortal.js +7 -9
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +10 -4
- package/ui/nav/Breadcrumbs/demo/basic.d.ts +1 -1
- package/ui/nav/Breadcrumbs/demo/basic.js +1 -1
- package/ui/nav/Breadcrumbs/demo/items.d.ts +8 -0
- package/ui/{form/TimeField/demo/sizes.js → nav/Breadcrumbs/demo/items.js} +9 -10
- package/ui/nav/Breadcrumbs/demo/page-title.d.ts +1 -1
- package/ui/nav/Breadcrumbs/demo/page-title.js +1 -1
- package/ui/nav/Nav/Nav.js +1 -1
- package/ui/nav/Router/Router.d.ts +18 -0
- package/ui/nav/Router/Router.js +1 -3
- package/utils/calendar.d.ts +1 -1
- package/utils/calendar.js +8 -1
- package/components/social/index.d.ts +0 -11
- package/components/social/index.js +0 -15
- package/ui/content/Avatar/SizeContext.d.ts +0 -1
- package/ui/content/Avatar/SizeContext.js +0 -14
- package/ui/nav/Router/SsrProvider.d.ts +0 -15
- package/ui/nav/Router/SsrProvider.js +0 -55
package/hooks/useDataSelect.js
CHANGED
|
@@ -21,7 +21,8 @@ function useDataSelect(config) {
|
|
|
21
21
|
var primaryKey = config.primaryKey || defaultProps.primaryKey;
|
|
22
22
|
// Initial select
|
|
23
23
|
var initialSelectedIds = react_1.useMemo(function () {
|
|
24
|
-
|
|
24
|
+
var _a;
|
|
25
|
+
if (((_a = config.selectedIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
25
26
|
return [].concat(config.selectedIds || []);
|
|
26
27
|
}
|
|
27
28
|
if (!isNil_1["default"](config.inputValue)) {
|
|
@@ -31,11 +32,18 @@ function useDataSelect(config) {
|
|
|
31
32
|
? [config.items[0][primaryKey]]
|
|
32
33
|
: [];
|
|
33
34
|
}, [config.items, config.selectFirst, config.selectedIds, primaryKey, config.inputValue]);
|
|
35
|
+
var initialSelectedItems = react_1.useMemo(function () { return config.items.length > 0
|
|
36
|
+
&& initialSelectedIds.length > 0
|
|
37
|
+
? initialSelectedIds
|
|
38
|
+
.map(function (selectedId) { return config.items.find(function (item) { return item.id === selectedId; }); })
|
|
39
|
+
.filter(Boolean)
|
|
40
|
+
: []; }, [initialSelectedIds, config.items]);
|
|
34
41
|
// State
|
|
35
42
|
var _a = react_1.useState(false), isOpened = _a[0], setIsOpened = _a[1];
|
|
36
43
|
var _b = react_1.useState(false), isFocused = _b[0], setIsFocused = _b[1];
|
|
37
44
|
var _c = react_1.useState(null), hoveredId = _c[0], setHoveredId = _c[1];
|
|
38
45
|
var _d = react_1.useState(initialSelectedIds), selectedIds = _d[0], setSelectedIdsInternal = _d[1];
|
|
46
|
+
var _e = react_1.useState(initialSelectedItems), selectedItems = _e[0], setSelectedItemsInternal = _e[1];
|
|
39
47
|
// Handler for select/toggle item by id
|
|
40
48
|
var setSelectedIds = react_1.useCallback(function (ids, skipToggle) {
|
|
41
49
|
if (skipToggle === void 0) { skipToggle = false; }
|
|
@@ -68,6 +76,29 @@ function useDataSelect(config) {
|
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
}, [config.multiple, selectedIds]);
|
|
79
|
+
// Update selected items on change selectedIds or items or source items
|
|
80
|
+
var prevSelectedIdsLength = react_use_1.usePrevious(selectedIds.length);
|
|
81
|
+
react_use_1.useUpdateEffect(function () {
|
|
82
|
+
var newSelectedItems = [];
|
|
83
|
+
var hasChanges = false;
|
|
84
|
+
selectedIds.forEach(function (selectedId) {
|
|
85
|
+
var finedItem = config.items.find(function (item) { return item[primaryKey] === selectedId; });
|
|
86
|
+
if (!finedItem && config.sourceItems) {
|
|
87
|
+
finedItem = config.sourceItems.find(function (item) { return item[primaryKey] === selectedId; });
|
|
88
|
+
}
|
|
89
|
+
var selectedItem = selectedItems.find(function (item) { return item[primaryKey] === selectedId; });
|
|
90
|
+
if (finedItem || selectedItem) {
|
|
91
|
+
newSelectedItems.push(finedItem || selectedItem);
|
|
92
|
+
}
|
|
93
|
+
if (finedItem
|
|
94
|
+
&& (!selectedItem || selectedItem !== finedItem)) {
|
|
95
|
+
hasChanges = true;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
if (hasChanges || prevSelectedIdsLength !== selectedIds.length) {
|
|
99
|
+
setSelectedItemsInternal(newSelectedItems);
|
|
100
|
+
}
|
|
101
|
+
}, [config.items, config.sourceItems, primaryKey, selectedIds, selectedItems, prevSelectedIdsLength]);
|
|
71
102
|
// Select first after fetch data
|
|
72
103
|
var prevItemsLength = react_use_1.usePrevious(config.items.length);
|
|
73
104
|
react_use_1.useUpdateEffect(function () {
|
|
@@ -78,14 +109,20 @@ function useDataSelect(config) {
|
|
|
78
109
|
// Update selected items on change value
|
|
79
110
|
var prevConfigSelectedIds = react_use_1.usePrevious(config.selectedIds || []);
|
|
80
111
|
react_use_1.useUpdateEffect(function () {
|
|
81
|
-
|
|
112
|
+
var itemsForSelect = config.sourceItems || config.items;
|
|
82
113
|
var newSelectedIds = config.selectedIds && config.selectedIds.length > 0
|
|
83
|
-
?
|
|
114
|
+
? itemsForSelect.map(function (item) { return item[primaryKey]; }).filter(function (id) { return config.selectedIds.includes(id); })
|
|
84
115
|
: [];
|
|
116
|
+
selectedItems.forEach(function (selectedItem) {
|
|
117
|
+
if (!newSelectedIds.includes(selectedItem.id) && config.selectedIds
|
|
118
|
+
&& config.selectedIds.includes(selectedItem.id)) {
|
|
119
|
+
newSelectedIds.push(selectedItem.id);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
85
122
|
if (!isEqual_1["default"](prevConfigSelectedIds, newSelectedIds) && newSelectedIds.length !== 0) {
|
|
86
123
|
setSelectedIdsInternal(newSelectedIds);
|
|
87
124
|
}
|
|
88
|
-
}, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds]);
|
|
125
|
+
}, [config.items, config.selectedIds, primaryKey, prevConfigSelectedIds, selectedItems, config.sourceItems]);
|
|
89
126
|
// Global key down handler for navigate on items
|
|
90
127
|
// Support keys:
|
|
91
128
|
// - tab
|
|
@@ -156,7 +193,8 @@ function useDataSelect(config) {
|
|
|
156
193
|
hoveredId: hoveredId,
|
|
157
194
|
setHoveredId: setHoveredId,
|
|
158
195
|
selectedIds: selectedIds,
|
|
159
|
-
setSelectedIds: setSelectedIds
|
|
196
|
+
setSelectedIds: setSelectedIds,
|
|
197
|
+
selectedItems: selectedItems
|
|
160
198
|
};
|
|
161
199
|
}
|
|
162
200
|
exports["default"] = useDataSelect;
|
package/hooks/useFetch.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
import { IComponents } from '
|
|
1
|
+
import { IComponents } from '../providers/ComponentsProvider';
|
|
2
2
|
import { IApiMethod } from '../components/ApiComponent';
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
APP_PRELOADED_DATA: any;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
3
8
|
export interface IFetchConfig {
|
|
4
9
|
id?: string | number;
|
|
5
10
|
url?: string | IApiMethod;
|
|
@@ -18,6 +23,10 @@ export interface IFetchResult {
|
|
|
18
23
|
isLoading: boolean;
|
|
19
24
|
fetch?: (newParams?: Record<string, unknown>) => void;
|
|
20
25
|
}
|
|
26
|
+
export declare const normalizeConfig: (config: any) => any;
|
|
27
|
+
export declare const getConfigId: (config: any) => any;
|
|
28
|
+
export declare const defaultFetchHandler: (config: any, components: any, addCancelToken: any) => any;
|
|
29
|
+
export declare const fetchData: (config: any, components: any, addCancelToken: any) => any;
|
|
21
30
|
/**
|
|
22
31
|
* Fetch
|
|
23
32
|
* Используется для подгрузки данных с бекенда перед рендером компонента, на котором он применяется.
|
|
@@ -25,7 +34,6 @@ export interface IFetchResult {
|
|
|
25
34
|
* которые описывают откуда нужно подтянуть данные.
|
|
26
35
|
*
|
|
27
36
|
* В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
|
|
28
|
-
* ключ `key`.
|
|
29
|
-
* SSR.
|
|
37
|
+
* ключ `key`.
|
|
30
38
|
*/
|
|
31
39
|
export default function useFetch(rawConfig?: IFetchConfig): IFetchResult;
|
package/hooks/useFetch.js
CHANGED
|
@@ -50,12 +50,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
50
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
51
|
};
|
|
52
52
|
exports.__esModule = true;
|
|
53
|
+
exports.fetchData = exports.defaultFetchHandler = exports.getConfigId = exports.normalizeConfig = void 0;
|
|
53
54
|
var react_1 = require("react");
|
|
54
55
|
var react_use_1 = require("react-use");
|
|
56
|
+
var trim_1 = __importDefault(require("lodash-es/trim"));
|
|
55
57
|
var axios_1 = __importDefault(require("axios"));
|
|
56
58
|
var index_1 = require("./index");
|
|
57
59
|
var normalizeConfig = function (config) { return (config
|
|
58
60
|
? __assign({ id: null, url: '', method: 'get', params: {}, options: null, onFetch: null }, config) : null); };
|
|
61
|
+
exports.normalizeConfig = normalizeConfig;
|
|
62
|
+
var getConfigId = function (config) {
|
|
63
|
+
if (config === null) {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
var result = trim_1["default"](config.id || config.url, '/');
|
|
67
|
+
if (!result) {
|
|
68
|
+
// eslint-disable-next-line no-console
|
|
69
|
+
console.warn('Please set id for fetch config, it`s necessary for SSR to work properly');
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
};
|
|
73
|
+
exports.getConfigId = getConfigId;
|
|
59
74
|
var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
60
75
|
var cancelToken = new axios_1["default"].CancelToken(function (cancel) {
|
|
61
76
|
addCancelToken(cancel);
|
|
@@ -67,6 +82,9 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
|
67
82
|
.send(config.method, config.url, config.params, __assign(__assign({}, config.options), { cancelToken: cancelToken }))
|
|
68
83
|
.then(function (result) { return result.data; });
|
|
69
84
|
};
|
|
85
|
+
exports.defaultFetchHandler = defaultFetchHandler;
|
|
86
|
+
var fetchData = function (config, components, addCancelToken) { return ((config.onFetch || exports.defaultFetchHandler).call(null, config, components, addCancelToken)); };
|
|
87
|
+
exports.fetchData = fetchData;
|
|
70
88
|
/**
|
|
71
89
|
* Fetch
|
|
72
90
|
* Используется для подгрузки данных с бекенда перед рендером компонента, на котором он применяется.
|
|
@@ -74,26 +92,26 @@ var defaultFetchHandler = function (config, components, addCancelToken) {
|
|
|
74
92
|
* которые описывают откуда нужно подтянуть данные.
|
|
75
93
|
*
|
|
76
94
|
* В процесс загрузки HOC будет отображать "Загрузка...", а после уже отрендерит компонент, передав данные в указанный
|
|
77
|
-
* ключ `key`.
|
|
78
|
-
* SSR.
|
|
95
|
+
* ключ `key`.
|
|
79
96
|
*/
|
|
80
97
|
function useFetch(rawConfig) {
|
|
81
98
|
var _this = this;
|
|
82
99
|
if (rawConfig === void 0) { rawConfig = null; }
|
|
83
100
|
var components = index_1.useComponents();
|
|
84
101
|
// Store config in state
|
|
85
|
-
var _a = react_1.useState(normalizeConfig(rawConfig)), config = _a[0], setConfig = _a[1];
|
|
102
|
+
var _a = react_1.useState(exports.normalizeConfig(rawConfig)), config = _a[0], setConfig = _a[1];
|
|
86
103
|
// Update config in state on raw config updated
|
|
87
104
|
react_use_1.useUpdateEffect(function () {
|
|
88
105
|
setConfig(rawConfig);
|
|
89
106
|
}, [rawConfig]);
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
107
|
+
// Get preloaded data
|
|
108
|
+
var configId = exports.getConfigId(config);
|
|
109
|
+
var ssrValueContext = index_1.useSsr();
|
|
110
|
+
var preloadedData = process.env.IS_SSR ? ssrValueContext.preloadedData : window.APP_PRELOADED_DATA;
|
|
111
|
+
var preloadedDataByConfigId = (preloadedData && configId) ? preloadedData[configId] : null;
|
|
94
112
|
// State for data and loading flag
|
|
95
|
-
var _b = react_1.useState(null), data = _b[0], setData = _b[1];
|
|
96
|
-
var _c = react_1.useState(!!config), isLoading = _c[0], setIsLoading = _c[1];
|
|
113
|
+
var _b = react_1.useState(preloadedDataByConfigId || null), data = _b[0], setData = _b[1];
|
|
114
|
+
var _c = react_1.useState(!!config && !data), isLoading = _c[0], setIsLoading = _c[1];
|
|
97
115
|
// Cancel tokens
|
|
98
116
|
var cancelTokens = react_1.useRef([]);
|
|
99
117
|
var addCancelToken = function (token) { return cancelTokens.current.push(token); };
|
|
@@ -109,10 +127,11 @@ function useFetch(rawConfig) {
|
|
|
109
127
|
if (newConfig) {
|
|
110
128
|
setConfig(__assign(__assign(__assign({}, config), newConfig), { params: __assign(__assign({}, config === null || config === void 0 ? void 0 : config.params), newConfig === null || newConfig === void 0 ? void 0 : newConfig.params) }));
|
|
111
129
|
}
|
|
130
|
+
setData(null);
|
|
112
131
|
if (!config) return [3 /*break*/, 2];
|
|
113
132
|
setIsLoading(true);
|
|
114
133
|
_a = setData;
|
|
115
|
-
return [4 /*yield*/,
|
|
134
|
+
return [4 /*yield*/, exports.fetchData(config, components, addCancelToken)];
|
|
116
135
|
case 1:
|
|
117
136
|
_a.apply(void 0, [_b.sent()]);
|
|
118
137
|
setIsLoading(false);
|
|
@@ -122,28 +141,15 @@ function useFetch(rawConfig) {
|
|
|
122
141
|
});
|
|
123
142
|
});
|
|
124
143
|
}, [components, config]);
|
|
144
|
+
react_use_1.useEffectOnce(function () {
|
|
145
|
+
if (!data) {
|
|
146
|
+
fetch();
|
|
147
|
+
}
|
|
148
|
+
});
|
|
125
149
|
// Fetch data on config update
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return __generator(this, function (_b) {
|
|
130
|
-
switch (_b.label) {
|
|
131
|
-
case 0:
|
|
132
|
-
setData(null);
|
|
133
|
-
if (!config) return [3 /*break*/, 2];
|
|
134
|
-
setIsLoading(true);
|
|
135
|
-
_a = setData;
|
|
136
|
-
return [4 /*yield*/, (config.onFetch || defaultFetchHandler).call(null, config, components, addCancelToken)];
|
|
137
|
-
case 1:
|
|
138
|
-
_a.apply(void 0, [_b.sent()]);
|
|
139
|
-
setIsLoading(false);
|
|
140
|
-
_b.label = 2;
|
|
141
|
-
case 2: return [2 /*return*/];
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
}); };
|
|
145
|
-
fetchData();
|
|
146
|
-
}, [components, config]);
|
|
150
|
+
react_use_1.useUpdateEffect(function () {
|
|
151
|
+
fetch();
|
|
152
|
+
}, [fetch]);
|
|
147
153
|
return { data: data, isLoading: isLoading, fetch: fetch };
|
|
148
154
|
}
|
|
149
155
|
exports["default"] = useFetch;
|
package/hooks/useFile.js
CHANGED
|
@@ -178,18 +178,29 @@ function useFile(props) {
|
|
|
178
178
|
/**
|
|
179
179
|
* Remove selected file from uploader
|
|
180
180
|
* @param {File} fileToRemove
|
|
181
|
-
* @private
|
|
182
181
|
*/
|
|
183
182
|
var onRemove = function (fileToRemove) {
|
|
184
183
|
uploader.queue.remove([fileToRemove]);
|
|
185
184
|
forceUpdate();
|
|
186
185
|
};
|
|
187
186
|
var files = [].concat(uploader.queue.getFiles());
|
|
187
|
+
/**
|
|
188
|
+
* Add file to uploader
|
|
189
|
+
* @param {File} newFile
|
|
190
|
+
*/
|
|
191
|
+
var onAdd = function (newFile) {
|
|
192
|
+
if (!props.multiple) {
|
|
193
|
+
uploader.queue.remove(files);
|
|
194
|
+
}
|
|
195
|
+
uploader.queue.add([newFile]);
|
|
196
|
+
forceUpdate();
|
|
197
|
+
};
|
|
188
198
|
return {
|
|
189
199
|
uploader: uploader,
|
|
190
200
|
files: files,
|
|
191
201
|
onBrowse: onBrowse,
|
|
192
|
-
onRemove: onRemove
|
|
202
|
+
onRemove: onRemove,
|
|
203
|
+
onAdd: onAdd
|
|
193
204
|
};
|
|
194
205
|
}
|
|
195
206
|
exports["default"] = useFile;
|
package/hooks/useLayout.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Dispatch } from 'redux';
|
|
2
|
+
import { IComponents } from '../providers/ComponentsProvider';
|
|
1
3
|
export interface ILayout {
|
|
2
4
|
status?: string;
|
|
3
5
|
error?: any;
|
|
@@ -9,4 +11,11 @@ export declare const STATUS_RENDER_ERROR = "render_error";
|
|
|
9
11
|
export declare const STATUS_HTTP_ERROR = "render_error";
|
|
10
12
|
export declare const STATUS_ACCESS_DENIED = "access_denied";
|
|
11
13
|
export declare const STATUS_OK = "ok";
|
|
14
|
+
export declare const HTTP_STATUS_CODES: {
|
|
15
|
+
not_found: number;
|
|
16
|
+
access_denied: number;
|
|
17
|
+
ok: number;
|
|
18
|
+
render_error: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const runInitAction: (initAction: (...args: any[]) => Promise<any>, components: IComponents, dispatch: Dispatch<any>) => Promise<void>;
|
|
12
21
|
export default function useLayout(initAction?: any): ILayout;
|
package/hooks/useLayout.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
|
+
var _a;
|
|
5
6
|
exports.__esModule = true;
|
|
6
|
-
exports.STATUS_OK = exports.STATUS_ACCESS_DENIED = exports.STATUS_HTTP_ERROR = exports.STATUS_RENDER_ERROR = exports.STATUS_NOT_FOUND = exports.STATUS_LOADING = void 0;
|
|
7
|
+
exports.runInitAction = exports.HTTP_STATUS_CODES = exports.STATUS_OK = exports.STATUS_ACCESS_DENIED = exports.STATUS_HTTP_ERROR = exports.STATUS_RENDER_ERROR = exports.STATUS_NOT_FOUND = exports.STATUS_LOADING = void 0;
|
|
7
8
|
var react_1 = require("react");
|
|
8
9
|
var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
|
|
9
10
|
var isObject_1 = __importDefault(require("lodash-es/isObject"));
|
|
@@ -11,6 +12,7 @@ var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
|
|
|
11
12
|
var merge_1 = __importDefault(require("lodash-es/merge"));
|
|
12
13
|
var intersection_1 = __importDefault(require("lodash-es/intersection"));
|
|
13
14
|
var react_use_1 = require("react-use");
|
|
15
|
+
var useSsr_1 = __importDefault(require("./useSsr"));
|
|
14
16
|
var useComponents_1 = __importDefault(require("./useComponents"));
|
|
15
17
|
var router_1 = require("../reducers/router");
|
|
16
18
|
var auth_1 = require("../reducers/auth");
|
|
@@ -25,16 +27,72 @@ exports.STATUS_RENDER_ERROR = 'render_error';
|
|
|
25
27
|
exports.STATUS_HTTP_ERROR = 'render_error';
|
|
26
28
|
exports.STATUS_ACCESS_DENIED = 'access_denied';
|
|
27
29
|
exports.STATUS_OK = 'ok';
|
|
30
|
+
exports.HTTP_STATUS_CODES = (_a = {},
|
|
31
|
+
_a[exports.STATUS_NOT_FOUND] = 404,
|
|
32
|
+
_a[exports.STATUS_ACCESS_DENIED] = 403,
|
|
33
|
+
_a[exports.STATUS_OK] = 200,
|
|
34
|
+
_a[exports.STATUS_RENDER_ERROR] = 500,
|
|
35
|
+
_a[exports.STATUS_HTTP_ERROR] = 500,
|
|
36
|
+
_a);
|
|
37
|
+
var runInitAction = function (initAction, components, dispatch) { return (initAction(null, dispatch, components)
|
|
38
|
+
.then(function (result) {
|
|
39
|
+
// Configure components
|
|
40
|
+
if (isObject_1["default"](result.config)) {
|
|
41
|
+
Object.keys(result.config).forEach(function (name) {
|
|
42
|
+
if (!components[name]) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
Object.keys(result.config[name]).forEach(function (key) {
|
|
46
|
+
var value = result.config[name][key];
|
|
47
|
+
var setter = 'set' + upperFirst_1["default"](key);
|
|
48
|
+
if (isFunction_1["default"](components[name][setter])) {
|
|
49
|
+
components[name][setter](value);
|
|
50
|
+
}
|
|
51
|
+
else if (isObject_1["default"](components[name][key])
|
|
52
|
+
&& isObject_1["default"](value)) {
|
|
53
|
+
merge_1["default"](components[name][key], value);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
components[name][key] = value;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
var resultMeta = result.meta;
|
|
62
|
+
var resultUser = result.user;
|
|
63
|
+
delete result.user;
|
|
64
|
+
delete result.meta;
|
|
65
|
+
if (resultMeta) {
|
|
66
|
+
Object.keys(resultMeta).forEach(function (modelName) {
|
|
67
|
+
if (resultMeta[modelName].attributes) {
|
|
68
|
+
components.meta.setModel(modelName, resultMeta[modelName]);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
dispatch([
|
|
73
|
+
// Meta models & enums
|
|
74
|
+
Boolean(resultMeta) && fields_1.setMeta(resultMeta),
|
|
75
|
+
// User auth
|
|
76
|
+
auth_2.setData(result),
|
|
77
|
+
// User auth
|
|
78
|
+
auth_2.setUser(resultUser),
|
|
79
|
+
].filter(Boolean));
|
|
80
|
+
})); };
|
|
81
|
+
exports.runInitAction = runInitAction;
|
|
28
82
|
function useLayout(initAction) {
|
|
29
83
|
if (initAction === void 0) { initAction = null; }
|
|
30
|
-
var _a = useSelector_1["default"](function (state) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
84
|
+
var _a = useSelector_1["default"](function (state) {
|
|
85
|
+
var routesMap = router_1.getRoutesMap(state);
|
|
86
|
+
return {
|
|
87
|
+
route: router_1.getRoute(state),
|
|
88
|
+
user: auth_1.getUser(state),
|
|
89
|
+
data: auth_1.getData(state),
|
|
90
|
+
isInitialized: auth_1.isInitialized(state),
|
|
91
|
+
initializeCounter: auth_1.getInitializeCounter(state),
|
|
92
|
+
redirectPageId: state.auth.redirectPageId,
|
|
93
|
+
loginRouteId: Object.keys(routesMap).find(function (name) { return routesMap[name].role === 'login'; })
|
|
94
|
+
};
|
|
95
|
+
}), route = _a.route, user = _a.user, data = _a.data, isInitialized = _a.isInitialized, initializeCounter = _a.initializeCounter, redirectPageId = _a.redirectPageId, loginRouteId = _a.loginRouteId;
|
|
38
96
|
var _b = react_1.useState(null), error = _b[0], setError = _b[1];
|
|
39
97
|
var dispatch = useDispatch_1["default"]();
|
|
40
98
|
var components = useComponents_1["default"]();
|
|
@@ -52,50 +110,11 @@ function useLayout(initAction) {
|
|
|
52
110
|
if (!isFunction_1["default"](initAction) || initializeCounter <= initializeCounterPrev) {
|
|
53
111
|
return;
|
|
54
112
|
}
|
|
55
|
-
initAction
|
|
56
|
-
.then(function (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Object.keys(result.config).forEach(function (name) {
|
|
60
|
-
if (!components[name]) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
Object.keys(result.config[name]).forEach(function (key) {
|
|
64
|
-
var value = result.config[name][key];
|
|
65
|
-
var setter = 'set' + upperFirst_1["default"](key);
|
|
66
|
-
if (isFunction_1["default"](components[name][setter])) {
|
|
67
|
-
components[name][setter](value);
|
|
68
|
-
}
|
|
69
|
-
else if (isObject_1["default"](components[name][key])
|
|
70
|
-
&& isObject_1["default"](value)) {
|
|
71
|
-
merge_1["default"](components[name][key], value);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
components[name][key] = value;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
var resultMeta = result.meta;
|
|
80
|
-
var resultUser = result.user;
|
|
81
|
-
delete result.user;
|
|
82
|
-
delete result.meta;
|
|
83
|
-
if (resultMeta) {
|
|
84
|
-
Object.keys(resultMeta).forEach(function (modelName) {
|
|
85
|
-
if (resultMeta[modelName].attributes) {
|
|
86
|
-
components.meta.setModel(modelName, resultMeta[modelName]);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
113
|
+
exports.runInitAction(initAction, components, dispatch)
|
|
114
|
+
.then(function () {
|
|
115
|
+
if (redirectPageId) {
|
|
116
|
+
dispatch(router_2.goToRoute(redirectPageId));
|
|
89
117
|
}
|
|
90
|
-
dispatch([
|
|
91
|
-
// Meta models & enums
|
|
92
|
-
Boolean(resultMeta) && fields_1.setMeta(resultMeta),
|
|
93
|
-
// User auth
|
|
94
|
-
auth_2.setData(result),
|
|
95
|
-
// User auth
|
|
96
|
-
auth_2.setUser(resultUser),
|
|
97
|
-
redirectPageId && router_2.goToRoute(redirectPageId),
|
|
98
|
-
].filter(Boolean));
|
|
99
118
|
})["catch"](function (e) {
|
|
100
119
|
setError(e);
|
|
101
120
|
throw e;
|
|
@@ -118,13 +137,23 @@ function useLayout(initAction) {
|
|
|
118
137
|
userRoles.push(null); // Guest
|
|
119
138
|
}
|
|
120
139
|
if (intersection_1["default"](pageRoles, userRoles).length === 0) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
140
|
+
if (loginRouteId && route.id !== loginRouteId) {
|
|
141
|
+
dispatch(router_2.goToRoute(loginRouteId));
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
status = exports.STATUS_ACCESS_DENIED;
|
|
145
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
146
|
+
// eslint-disable-next-line no-console
|
|
147
|
+
console.log('Access denied. Page roles: ', pageRoles, 'User roles:', userRoles.join(), 'Route:', route);
|
|
148
|
+
}
|
|
125
149
|
}
|
|
126
150
|
}
|
|
127
151
|
}
|
|
152
|
+
//save status code for ssr
|
|
153
|
+
var ssrContextValue = useSsr_1["default"]();
|
|
154
|
+
if (process.env.IS_SSR) {
|
|
155
|
+
ssrContextValue.staticContext.statusCode = exports.HTTP_STATUS_CODES[status];
|
|
156
|
+
}
|
|
128
157
|
return {
|
|
129
158
|
status: status,
|
|
130
159
|
error: error,
|
package/hooks/useList.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IApiMethod } from '../components/ApiComponent';
|
|
1
2
|
import { IList } from '../actions/list';
|
|
2
3
|
import { ILayoutNamesProps } from '../ui/list/LayoutNames/LayoutNames';
|
|
3
4
|
import { IPaginationProps } from '../ui/list/Pagination/Pagination';
|
|
@@ -50,7 +51,7 @@ export interface IListConfig {
|
|
|
50
51
|
* Url, который вернет коллекцию элементов
|
|
51
52
|
* @example api/v1/articles
|
|
52
53
|
*/
|
|
53
|
-
action?: string;
|
|
54
|
+
action?: string | IApiMethod;
|
|
54
55
|
/**
|
|
55
56
|
* Тип HTTP запроса (GET | POST | PUT | DELETE)
|
|
56
57
|
* @example GET
|
|
@@ -128,6 +129,15 @@ export interface IListConfig {
|
|
|
128
129
|
* Элементы коллекции
|
|
129
130
|
*/
|
|
130
131
|
items?: Array<any>;
|
|
132
|
+
/**
|
|
133
|
+
* Начальные элементы. Используется для подгрузки нескольких списков в один запрос, при этом не отменяя пагинацию
|
|
134
|
+
* и последующие запросы на бекенд для 2-й и следующих страниц
|
|
135
|
+
*/
|
|
136
|
+
initialItems?: Array<any>;
|
|
137
|
+
/**
|
|
138
|
+
* Количество элементов всего в списке (для отрисовки пагинации), заданное вручную
|
|
139
|
+
*/
|
|
140
|
+
initialTotal?: number;
|
|
131
141
|
}
|
|
132
142
|
export interface IListOutput {
|
|
133
143
|
list: IList;
|
|
@@ -145,6 +155,51 @@ export interface IListOutput {
|
|
|
145
155
|
onFetch: (params?: Record<string, unknown>) => void;
|
|
146
156
|
onSort: (value: any) => void;
|
|
147
157
|
}
|
|
158
|
+
export declare const defaultConfig: {
|
|
159
|
+
actionMethod: string;
|
|
160
|
+
primaryKey: string;
|
|
161
|
+
autoDestroy: boolean;
|
|
162
|
+
sort: {
|
|
163
|
+
enable: boolean;
|
|
164
|
+
attribute: string;
|
|
165
|
+
defaultValue: any;
|
|
166
|
+
};
|
|
167
|
+
addressBar: {
|
|
168
|
+
enable: boolean;
|
|
169
|
+
useHash: boolean;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
export declare const normalizeSortProps: (props: IListConfig['sort']) => {
|
|
173
|
+
enable: boolean;
|
|
174
|
+
attribute: string;
|
|
175
|
+
defaultValue: any;
|
|
176
|
+
};
|
|
177
|
+
export declare const getDefaultSearchModel: ({ paginationProps, paginationSizeProps, sort, layoutNamesProps, }: {
|
|
178
|
+
paginationProps: any;
|
|
179
|
+
paginationSizeProps: any;
|
|
180
|
+
sort: any;
|
|
181
|
+
layoutNamesProps: any;
|
|
182
|
+
}) => {
|
|
183
|
+
attributes: ({
|
|
184
|
+
type: string;
|
|
185
|
+
attribute: any;
|
|
186
|
+
defaultValue: any;
|
|
187
|
+
jsType?: undefined;
|
|
188
|
+
} | {
|
|
189
|
+
type: string;
|
|
190
|
+
jsType: string;
|
|
191
|
+
attribute: any;
|
|
192
|
+
defaultValue: any;
|
|
193
|
+
})[];
|
|
194
|
+
};
|
|
195
|
+
export declare const createInitialValues: ({ paginationProps, paginationSizeProps, sort, layoutNamesProps, initialQuery, configQuery, }: {
|
|
196
|
+
paginationProps: any;
|
|
197
|
+
paginationSizeProps: any;
|
|
198
|
+
sort: any;
|
|
199
|
+
layoutNamesProps: any;
|
|
200
|
+
initialQuery: any;
|
|
201
|
+
configQuery: any;
|
|
202
|
+
}) => any;
|
|
148
203
|
/**
|
|
149
204
|
* useList
|
|
150
205
|
* Добавляет массу возможностей для взаимодействия с коллекциями. Коллекции можно получать как с бекенда,
|