@gravity-ui/dashkit 8.26.0 → 9.0.0-beta.0
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/build/cjs/components/ActionPanel/ActionPanel.d.ts +2 -2
- package/build/cjs/components/ActionPanel/ActionPanel.js +4 -2
- package/build/cjs/components/ActionPanel/ActionPanel.js.map +1 -0
- package/build/cjs/components/ActionPanel/types.d.ts +1 -1
- package/build/cjs/components/ActionPanel/types.js +1 -0
- package/build/cjs/components/ActionPanel/types.js.map +1 -0
- package/build/cjs/components/DashKit/DashKit.d.ts +5 -5
- package/build/cjs/components/DashKit/DashKit.js +8 -7
- package/build/cjs/components/DashKit/DashKit.js.map +1 -0
- package/build/cjs/components/DashKit/index.d.ts +1 -1
- package/build/cjs/components/DashKit/index.js +2 -1
- package/build/cjs/components/DashKit/index.js.map +1 -0
- package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.d.ts +1 -1
- package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.js +2 -1
- package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.js.map +1 -0
- package/build/cjs/components/DashKitView/DashKitView.d.ts +3 -2
- package/build/cjs/components/DashKitView/DashKitView.js +8 -6
- package/build/cjs/components/DashKitView/DashKitView.js.map +1 -0
- package/build/cjs/components/GridItem/GridItem.js +7 -5
- package/build/cjs/components/GridItem/GridItem.js.map +1 -0
- package/build/cjs/components/GridLayout/GridLayout.d.ts +1 -1
- package/build/cjs/components/GridLayout/GridLayout.js +6 -5
- package/build/cjs/components/GridLayout/GridLayout.js.map +1 -0
- package/build/cjs/components/GridLayout/ReactGridLayout.js +2 -1
- package/build/cjs/components/GridLayout/ReactGridLayout.js.map +1 -0
- package/build/cjs/components/Item/Item.d.ts +1 -1
- package/build/cjs/components/Item/Item.js +4 -2
- package/build/cjs/components/Item/Item.js.map +1 -0
- package/build/cjs/components/MobileLayout/MobileLayout.d.ts +6 -5
- package/build/cjs/components/MobileLayout/MobileLayout.js +8 -6
- package/build/cjs/components/MobileLayout/MobileLayout.js.map +1 -0
- package/build/cjs/components/MobileLayout/helpers.d.ts +3 -3
- package/build/cjs/components/MobileLayout/helpers.js +1 -0
- package/build/cjs/components/MobileLayout/helpers.js.map +1 -0
- package/build/cjs/components/OverlayControls/OverlayControls.d.ts +4 -3
- package/build/cjs/components/OverlayControls/OverlayControls.js +10 -8
- package/build/cjs/components/OverlayControls/OverlayControls.js.map +1 -0
- package/build/cjs/components/index.d.ts +5 -5
- package/build/cjs/components/index.js +4 -3
- package/build/cjs/components/index.js.map +1 -0
- package/build/cjs/constants/common.js +1 -0
- package/build/cjs/constants/common.js.map +1 -0
- package/build/cjs/constants/index.d.ts +1 -1
- package/build/cjs/constants/index.js +2 -1
- package/build/cjs/constants/index.js.map +1 -0
- package/build/cjs/context/DashKitContext.d.ts +3 -4
- package/build/cjs/context/DashKitContext.js +1 -0
- package/build/cjs/context/DashKitContext.js.map +1 -0
- package/build/cjs/context/DashKitDnDContext.d.ts +1 -1
- package/build/cjs/context/DashKitDnDContext.js +1 -0
- package/build/cjs/context/DashKitDnDContext.js.map +1 -0
- package/build/cjs/context/DashkitOverlayControlsContext.d.ts +3 -3
- package/build/cjs/context/DashkitOverlayControlsContext.js +1 -0
- package/build/cjs/context/DashkitOverlayControlsContext.js.map +1 -0
- package/build/cjs/context/index.d.ts +3 -3
- package/build/cjs/context/index.js +4 -3
- package/build/cjs/context/index.js.map +1 -0
- package/build/cjs/helpers.d.ts +3 -3
- package/build/cjs/helpers.js +4 -3
- package/build/cjs/helpers.js.map +1 -0
- package/build/cjs/hocs/prepareItem.d.ts +1 -1
- package/build/cjs/hocs/prepareItem.js +4 -4
- package/build/cjs/hocs/prepareItem.js.map +1 -0
- package/build/cjs/hocs/withContext.js +9 -9
- package/build/cjs/hocs/withContext.js.map +1 -0
- package/build/cjs/hooks/useCalcLayout.d.ts +5 -5
- package/build/cjs/hooks/useCalcLayout.js +2 -1
- package/build/cjs/hooks/useCalcLayout.js.map +1 -0
- package/build/cjs/hooks/useDeepEqualMemo.js +2 -1
- package/build/cjs/hooks/useDeepEqualMemo.js.map +1 -0
- package/build/cjs/hooks/useDnDItemProps.d.ts +1 -1
- package/build/cjs/hooks/useDnDItemProps.js +2 -1
- package/build/cjs/hooks/useDnDItemProps.js.map +1 -0
- package/build/cjs/i18n/index.d.ts +1 -1
- package/build/cjs/i18n/index.js +1 -0
- package/build/cjs/i18n/index.js.map +1 -0
- package/build/cjs/index.d.ts +4 -4
- package/build/cjs/index.js +5 -4
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/package.json +1 -0
- package/build/cjs/plugins/Text/Text.d.ts +2 -1
- package/build/cjs/plugins/Text/Text.js +5 -3
- package/build/cjs/plugins/Text/Text.js.map +1 -0
- package/build/cjs/plugins/Text/index.d.ts +2 -2
- package/build/cjs/plugins/Text/index.js +3 -2
- package/build/cjs/plugins/Text/index.js.map +1 -0
- package/build/cjs/plugins/Title/Title.d.ts +3 -2
- package/build/cjs/plugins/Title/Title.js +6 -4
- package/build/cjs/plugins/Title/Title.js.map +1 -0
- package/build/cjs/plugins/Title/constants.d.ts +1 -1
- package/build/cjs/plugins/Title/constants.js +1 -0
- package/build/cjs/plugins/Title/constants.js.map +1 -0
- package/build/cjs/plugins/Title/index.d.ts +4 -4
- package/build/cjs/plugins/Title/index.js +4 -3
- package/build/cjs/plugins/Title/index.js.map +1 -0
- package/build/cjs/plugins/Title/types.js +1 -0
- package/build/cjs/plugins/Title/types.js.map +1 -0
- package/build/cjs/plugins/Title/utils.d.ts +1 -1
- package/build/cjs/plugins/Title/utils.js +2 -2
- package/build/cjs/plugins/Title/utils.js.map +1 -0
- package/build/cjs/plugins/constants.js +1 -0
- package/build/cjs/plugins/constants.js.map +1 -0
- package/build/cjs/plugins/index.d.ts +3 -3
- package/build/cjs/plugins/index.js +4 -3
- package/build/cjs/plugins/index.js.map +1 -0
- package/build/cjs/shared/constants/common.js +1 -0
- package/build/cjs/shared/constants/common.js.map +1 -0
- package/build/cjs/shared/constants/index.d.ts +1 -1
- package/build/cjs/shared/constants/index.js +2 -1
- package/build/cjs/shared/constants/index.js.map +1 -0
- package/build/cjs/shared/index.d.ts +4 -4
- package/build/cjs/shared/index.js +5 -4
- package/build/cjs/shared/index.js.map +1 -0
- package/build/cjs/shared/modules/__tests__/helpers.test.js +3 -2
- package/build/cjs/shared/modules/__tests__/helpers.test.js.map +1 -0
- package/build/cjs/shared/modules/__tests__/uniq-id.test.js +2 -1
- package/build/cjs/shared/modules/__tests__/uniq-id.test.js.map +1 -0
- package/build/cjs/shared/modules/helpers.d.ts +1 -1
- package/build/cjs/shared/modules/helpers.js +25 -25
- package/build/cjs/shared/modules/helpers.js.map +1 -0
- package/build/cjs/shared/modules/index.d.ts +3 -3
- package/build/cjs/shared/modules/index.js +4 -3
- package/build/cjs/shared/modules/index.js.map +1 -0
- package/build/cjs/shared/modules/state-and-params.d.ts +1 -1
- package/build/cjs/shared/modules/state-and-params.js +7 -7
- package/build/cjs/shared/modules/state-and-params.js.map +1 -0
- package/build/cjs/shared/modules/uniq-id.d.ts +1 -1
- package/build/cjs/shared/modules/uniq-id.js +4 -4
- package/build/cjs/shared/modules/uniq-id.js.map +1 -0
- package/build/cjs/shared/types/common.d.ts +1 -1
- package/build/cjs/shared/types/common.js +1 -0
- package/build/cjs/shared/types/common.js.map +1 -0
- package/build/cjs/shared/types/config.d.ts +1 -1
- package/build/cjs/shared/types/config.js +1 -0
- package/build/cjs/shared/types/config.js.map +1 -0
- package/build/cjs/shared/types/index.d.ts +4 -4
- package/build/cjs/shared/types/index.js +5 -4
- package/build/cjs/shared/types/index.js.map +1 -0
- package/build/cjs/shared/types/plugin.d.ts +1 -1
- package/build/cjs/shared/types/plugin.js +1 -0
- package/build/cjs/shared/types/plugin.js.map +1 -0
- package/build/cjs/shared/types/state-and-params.d.ts +2 -2
- package/build/cjs/shared/types/state-and-params.js +2 -1
- package/build/cjs/shared/types/state-and-params.js.map +1 -0
- package/build/cjs/shared/units/__tests__/state-and-params.test.js +4 -3
- package/build/cjs/shared/units/__tests__/state-and-params.test.js.map +1 -0
- package/build/cjs/shared/units/datalens/index.d.ts +2 -2
- package/build/cjs/shared/units/datalens/index.js +6 -5
- package/build/cjs/shared/units/datalens/index.js.map +1 -0
- package/build/cjs/shared/units/index.d.ts +1 -1
- package/build/cjs/shared/units/index.js +2 -1
- package/build/cjs/shared/units/index.js.map +1 -0
- package/build/cjs/typings/common.d.ts +3 -3
- package/build/cjs/typings/common.js +1 -0
- package/build/cjs/typings/common.js.map +1 -0
- package/build/cjs/typings/config.d.ts +2 -3
- package/build/cjs/typings/config.js +1 -0
- package/build/cjs/typings/config.js.map +1 -0
- package/build/cjs/typings/index.d.ts +3 -3
- package/build/cjs/typings/index.js +4 -3
- package/build/cjs/typings/index.js.map +1 -0
- package/build/cjs/typings/plugin.d.ts +2 -2
- package/build/cjs/typings/plugin.js +1 -0
- package/build/cjs/typings/plugin.js.map +1 -0
- package/build/cjs/utils/__tests__/update-manager.test.js +2 -1
- package/build/cjs/utils/__tests__/update-manager.test.js.map +1 -0
- package/build/cjs/utils/cn.js +1 -0
- package/build/cjs/utils/cn.js.map +1 -0
- package/build/cjs/utils/get-new-id.d.ts +1 -1
- package/build/cjs/utils/get-new-id.js +3 -3
- package/build/cjs/utils/get-new-id.js.map +1 -0
- package/build/cjs/utils/grid-layout.d.ts +1 -1
- package/build/cjs/utils/grid-layout.js +1 -0
- package/build/cjs/utils/grid-layout.js.map +1 -0
- package/build/cjs/utils/group-helpers.d.ts +1 -1
- package/build/cjs/utils/group-helpers.js +2 -1
- package/build/cjs/utils/group-helpers.js.map +1 -0
- package/build/cjs/utils/index.d.ts +3 -3
- package/build/cjs/utils/index.js +4 -3
- package/build/cjs/utils/index.js.map +1 -0
- package/build/cjs/utils/register-manager.d.ts +1 -1
- package/build/cjs/utils/register-manager.js +1 -0
- package/build/cjs/utils/register-manager.js.map +1 -0
- package/build/cjs/utils/update-manager.d.ts +4 -4
- package/build/cjs/utils/update-manager.js +10 -9
- package/build/cjs/utils/update-manager.js.map +1 -0
- package/build/esm/components/ActionPanel/ActionPanel.d.ts +2 -3
- package/build/esm/components/ActionPanel/ActionPanel.js +4 -3
- package/build/esm/components/ActionPanel/ActionPanel.js.map +1 -0
- package/build/esm/components/ActionPanel/types.d.ts +1 -1
- package/build/esm/components/ActionPanel/types.js +1 -0
- package/build/esm/components/ActionPanel/types.js.map +1 -0
- package/build/esm/components/DashKit/DashKit.d.ts +5 -5
- package/build/esm/components/DashKit/DashKit.js +8 -7
- package/build/esm/components/DashKit/DashKit.js.map +1 -0
- package/build/esm/components/DashKit/index.d.ts +1 -1
- package/build/esm/components/DashKit/index.js +2 -1
- package/build/esm/components/DashKit/index.js.map +1 -0
- package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.d.ts +1 -1
- package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.js +2 -1
- package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.js.map +1 -0
- package/build/esm/components/DashKitView/DashKitView.d.ts +3 -3
- package/build/esm/components/DashKitView/DashKitView.js +8 -7
- package/build/esm/components/DashKitView/DashKitView.js.map +1 -0
- package/build/esm/components/GridItem/GridItem.js +7 -6
- package/build/esm/components/GridItem/GridItem.js.map +1 -0
- package/build/esm/components/GridLayout/GridLayout.d.ts +1 -1
- package/build/esm/components/GridLayout/GridLayout.js +6 -5
- package/build/esm/components/GridLayout/GridLayout.js.map +1 -0
- package/build/esm/components/GridLayout/ReactGridLayout.js +2 -1
- package/build/esm/components/GridLayout/ReactGridLayout.js.map +1 -0
- package/build/esm/components/Item/Item.d.ts +1 -1
- package/build/esm/components/Item/Item.js +4 -3
- package/build/esm/components/Item/Item.js.map +1 -0
- package/build/esm/components/MobileLayout/MobileLayout.d.ts +6 -6
- package/build/esm/components/MobileLayout/MobileLayout.js +8 -7
- package/build/esm/components/MobileLayout/MobileLayout.js.map +1 -0
- package/build/esm/components/MobileLayout/helpers.d.ts +3 -3
- package/build/esm/components/MobileLayout/helpers.js +1 -0
- package/build/esm/components/MobileLayout/helpers.js.map +1 -0
- package/build/esm/components/OverlayControls/OverlayControls.d.ts +4 -4
- package/build/esm/components/OverlayControls/OverlayControls.js +10 -9
- package/build/esm/components/OverlayControls/OverlayControls.js.map +1 -0
- package/build/esm/components/index.d.ts +5 -5
- package/build/esm/components/index.js +4 -3
- package/build/esm/components/index.js.map +1 -0
- package/build/esm/constants/common.js +1 -0
- package/build/esm/constants/common.js.map +1 -0
- package/build/esm/constants/index.d.ts +1 -1
- package/build/esm/constants/index.js +2 -1
- package/build/esm/constants/index.js.map +1 -0
- package/build/esm/context/DashKitContext.d.ts +3 -4
- package/build/esm/context/DashKitContext.js +1 -0
- package/build/esm/context/DashKitContext.js.map +1 -0
- package/build/esm/context/DashKitDnDContext.d.ts +1 -1
- package/build/esm/context/DashKitDnDContext.js +1 -0
- package/build/esm/context/DashKitDnDContext.js.map +1 -0
- package/build/esm/context/DashkitOverlayControlsContext.d.ts +3 -3
- package/build/esm/context/DashkitOverlayControlsContext.js +1 -0
- package/build/esm/context/DashkitOverlayControlsContext.js.map +1 -0
- package/build/esm/context/index.d.ts +3 -3
- package/build/esm/context/index.js +4 -3
- package/build/esm/context/index.js.map +1 -0
- package/build/esm/helpers.d.ts +3 -3
- package/build/esm/helpers.js +4 -3
- package/build/esm/helpers.js.map +1 -0
- package/build/esm/hocs/prepareItem.d.ts +1 -1
- package/build/esm/hocs/prepareItem.js +3 -2
- package/build/esm/hocs/prepareItem.js.map +1 -0
- package/build/esm/hocs/withContext.js +8 -7
- package/build/esm/hocs/withContext.js.map +1 -0
- package/build/esm/hooks/useCalcLayout.d.ts +5 -5
- package/build/esm/hooks/useCalcLayout.js +2 -1
- package/build/esm/hooks/useCalcLayout.js.map +1 -0
- package/build/esm/hooks/useDeepEqualMemo.js +2 -1
- package/build/esm/hooks/useDeepEqualMemo.js.map +1 -0
- package/build/esm/hooks/useDnDItemProps.d.ts +1 -1
- package/build/esm/hooks/useDnDItemProps.js +2 -1
- package/build/esm/hooks/useDnDItemProps.js.map +1 -0
- package/build/esm/i18n/index.d.ts +1 -1
- package/build/esm/i18n/index.js +3 -2
- package/build/esm/i18n/index.js.map +1 -0
- package/build/esm/index.d.ts +4 -4
- package/build/esm/index.js +5 -4
- package/build/esm/index.js.map +1 -0
- package/build/esm/package.json +1 -0
- package/build/esm/plugins/Text/Text.d.ts +2 -2
- package/build/esm/plugins/Text/Text.js +5 -4
- package/build/esm/plugins/Text/Text.js.map +1 -0
- package/build/esm/plugins/Text/index.d.ts +2 -2
- package/build/esm/plugins/Text/index.js +3 -2
- package/build/esm/plugins/Text/index.js.map +1 -0
- package/build/esm/plugins/Title/Title.d.ts +3 -3
- package/build/esm/plugins/Title/Title.js +6 -5
- package/build/esm/plugins/Title/Title.js.map +1 -0
- package/build/esm/plugins/Title/constants.d.ts +1 -1
- package/build/esm/plugins/Title/constants.js +1 -0
- package/build/esm/plugins/Title/constants.js.map +1 -0
- package/build/esm/plugins/Title/index.d.ts +4 -4
- package/build/esm/plugins/Title/index.js +4 -3
- package/build/esm/plugins/Title/index.js.map +1 -0
- package/build/esm/plugins/Title/types.js +1 -0
- package/build/esm/plugins/Title/types.js.map +1 -0
- package/build/esm/plugins/Title/utils.d.ts +1 -1
- package/build/esm/plugins/Title/utils.js +1 -0
- package/build/esm/plugins/Title/utils.js.map +1 -0
- package/build/esm/plugins/constants.js +1 -0
- package/build/esm/plugins/constants.js.map +1 -0
- package/build/esm/plugins/index.d.ts +3 -3
- package/build/esm/plugins/index.js +4 -3
- package/build/esm/plugins/index.js.map +1 -0
- package/build/esm/shared/constants/common.js +1 -0
- package/build/esm/shared/constants/common.js.map +1 -0
- package/build/esm/shared/constants/index.d.ts +1 -1
- package/build/esm/shared/constants/index.js +2 -1
- package/build/esm/shared/constants/index.js.map +1 -0
- package/build/esm/shared/index.d.ts +4 -4
- package/build/esm/shared/index.js +5 -4
- package/build/esm/shared/index.js.map +1 -0
- package/build/esm/shared/modules/__tests__/helpers.test.js +3 -2
- package/build/esm/shared/modules/__tests__/helpers.test.js.map +1 -0
- package/build/esm/shared/modules/__tests__/uniq-id.test.js +2 -1
- package/build/esm/shared/modules/__tests__/uniq-id.test.js.map +1 -0
- package/build/esm/shared/modules/helpers.d.ts +1 -1
- package/build/esm/shared/modules/helpers.js +7 -6
- package/build/esm/shared/modules/helpers.js.map +1 -0
- package/build/esm/shared/modules/index.d.ts +3 -3
- package/build/esm/shared/modules/index.js +4 -3
- package/build/esm/shared/modules/index.js.map +1 -0
- package/build/esm/shared/modules/state-and-params.d.ts +1 -1
- package/build/esm/shared/modules/state-and-params.js +4 -3
- package/build/esm/shared/modules/state-and-params.js.map +1 -0
- package/build/esm/shared/modules/uniq-id.d.ts +1 -1
- package/build/esm/shared/modules/uniq-id.js +2 -1
- package/build/esm/shared/modules/uniq-id.js.map +1 -0
- package/build/esm/shared/types/common.d.ts +1 -1
- package/build/esm/shared/types/common.js +1 -0
- package/build/esm/shared/types/common.js.map +1 -0
- package/build/esm/shared/types/config.d.ts +1 -1
- package/build/esm/shared/types/config.js +1 -0
- package/build/esm/shared/types/config.js.map +1 -0
- package/build/esm/shared/types/index.d.ts +4 -4
- package/build/esm/shared/types/index.js +5 -4
- package/build/esm/shared/types/index.js.map +1 -0
- package/build/esm/shared/types/plugin.d.ts +1 -1
- package/build/esm/shared/types/plugin.js +1 -0
- package/build/esm/shared/types/plugin.js.map +1 -0
- package/build/esm/shared/types/state-and-params.d.ts +2 -2
- package/build/esm/shared/types/state-and-params.js +2 -1
- package/build/esm/shared/types/state-and-params.js.map +1 -0
- package/build/esm/shared/units/__tests__/state-and-params.test.js +5 -4
- package/build/esm/shared/units/__tests__/state-and-params.test.js.map +1 -0
- package/build/esm/shared/units/datalens/index.d.ts +2 -2
- package/build/esm/shared/units/datalens/index.js +4 -3
- package/build/esm/shared/units/datalens/index.js.map +1 -0
- package/build/esm/shared/units/index.d.ts +1 -1
- package/build/esm/shared/units/index.js +2 -1
- package/build/esm/shared/units/index.js.map +1 -0
- package/build/esm/typings/common.d.ts +3 -3
- package/build/esm/typings/common.js +1 -0
- package/build/esm/typings/common.js.map +1 -0
- package/build/esm/typings/config.d.ts +2 -3
- package/build/esm/typings/config.js +1 -0
- package/build/esm/typings/config.js.map +1 -0
- package/build/esm/typings/index.d.ts +3 -3
- package/build/esm/typings/index.js +4 -3
- package/build/esm/typings/index.js.map +1 -0
- package/build/esm/typings/plugin.d.ts +2 -2
- package/build/esm/typings/plugin.js +1 -0
- package/build/esm/typings/plugin.js.map +1 -0
- package/build/esm/utils/__tests__/update-manager.test.js +2 -1
- package/build/esm/utils/__tests__/update-manager.test.js.map +1 -0
- package/build/esm/utils/cn.js +1 -0
- package/build/esm/utils/cn.js.map +1 -0
- package/build/esm/utils/get-new-id.d.ts +1 -1
- package/build/esm/utils/get-new-id.js +2 -1
- package/build/esm/utils/get-new-id.js.map +1 -0
- package/build/esm/utils/grid-layout.d.ts +1 -1
- package/build/esm/utils/grid-layout.js +1 -0
- package/build/esm/utils/grid-layout.js.map +1 -0
- package/build/esm/utils/group-helpers.d.ts +1 -1
- package/build/esm/utils/group-helpers.js +2 -1
- package/build/esm/utils/group-helpers.js.map +1 -0
- package/build/esm/utils/index.d.ts +3 -3
- package/build/esm/utils/index.js +4 -3
- package/build/esm/utils/index.js.map +1 -0
- package/build/esm/utils/register-manager.d.ts +1 -1
- package/build/esm/utils/register-manager.js +1 -0
- package/build/esm/utils/register-manager.js.map +1 -0
- package/build/esm/utils/update-manager.d.ts +4 -4
- package/build/esm/utils/update-manager.js +8 -7
- package/build/esm/utils/update-manager.js.map +1 -0
- package/package.json +14 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileLayout.js","sourceRoot":"../../../../src","sources":["components/MobileLayout/MobileLayout.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport groupBy from 'lodash/groupBy';\n\nimport {DEFAULT_GROUP} from '../../constants';\nimport {DashKitContext} from '../../context';\nimport {cn} from '../../utils/cn';\nimport Item from '../Item/Item';\n\nimport {getSortedConfigItems} from './helpers';\n\nimport './MobileLayout.scss';\n\nconst b = cn('dashkit-mobile-layout');\n\ntype MobileLayoutProps = {};\n\ntype MobileLayoutState = {\n itemsWithActiveAutoheight: Record<string, boolean>;\n};\n\ntype PlugibRefObject = React.RefObject<any>;\n\nexport default class MobileLayout extends React.PureComponent<\n MobileLayoutProps,\n MobileLayoutState\n> {\n static contextType = DashKitContext;\n context!: React.ContextType<typeof DashKitContext>;\n\n pluginsRefs: PlugibRefObject[] = [];\n sortedLayoutItems: Record<string, ReturnType<typeof getSortedConfigItems>> | null = null;\n\n _memoLayout = this.context.layout;\n _memoForwardedPluginRef: Array<(refObject: PlugibRefObject) => void> = [];\n _memoAdjustWidgetLayout: Record<string, (props: {needSetDefault: boolean}) => void> = {};\n\n state: MobileLayoutState = {\n itemsWithActiveAutoheight: {},\n };\n\n render() {\n const {config, layout, groups = [{id: DEFAULT_GROUP}], context, editMode} = this.context;\n\n this.pluginsRefs.length = config.items.length;\n\n const sortedItems = this.getSortedLayoutItems();\n let indexOffset = 0;\n\n return (\n <div className={b()}>\n {groups.map((group) => {\n const groupId = group.id || DEFAULT_GROUP;\n const items = sortedItems[groupId] || [];\n\n const children = items.map((item, index) => {\n const isItemWithActiveAutoheight =\n item.id in this.state.itemsWithActiveAutoheight;\n\n return (\n <div\n className={b('item', {autoheight: isItemWithActiveAutoheight})}\n key={item.id}\n >\n <Item\n id={item.id}\n item={item}\n layout={layout}\n shouldItemUpdate={false}\n adjustWidgetLayout={this.getMemoAdjustWidgetLayout(item.id)}\n forwardedPluginRef={this.getMemoForwardRefCallback(\n indexOffset + index,\n )}\n onItemMountChange={this.context.onItemMountChange}\n onItemRender={this.context.onItemRender}\n />\n </div>\n );\n });\n\n indexOffset += items.length;\n\n if (group.render) {\n return group.render(groupId, children, {\n isMobile: true,\n config,\n context,\n editMode,\n items,\n layout,\n });\n }\n\n return children;\n })}\n </div>\n );\n }\n\n getSortedLayoutItems() {\n if (this.sortedLayoutItems && this.context.layout === this._memoLayout) {\n return this.sortedLayoutItems;\n }\n\n this._memoLayout = this.context.layout;\n\n const hasOrderId = Boolean(this.context.config.items.find((item) => item.orderId));\n\n this.sortedLayoutItems = groupBy(\n getSortedConfigItems(this.context.config, hasOrderId),\n (item) => item.parent || DEFAULT_GROUP,\n );\n\n return this.sortedLayoutItems;\n }\n\n getMemoForwardRefCallback(refIndex: number) {\n if (!this._memoForwardedPluginRef[refIndex]) {\n this._memoForwardedPluginRef[refIndex] = (pluginRef: PlugibRefObject) => {\n this.pluginsRefs[refIndex] = pluginRef;\n };\n }\n\n return this._memoForwardedPluginRef[refIndex];\n }\n\n adjustWidgetLayout(id: string, {needSetDefault}: {needSetDefault: boolean}) {\n if (needSetDefault) {\n const indexesOfItemsWithActiveAutoheight = {\n ...this.state.itemsWithActiveAutoheight,\n };\n\n delete indexesOfItemsWithActiveAutoheight[id];\n\n this.setState({itemsWithActiveAutoheight: indexesOfItemsWithActiveAutoheight});\n } else {\n this.setState({\n itemsWithActiveAutoheight: Object.assign({}, this.state.itemsWithActiveAutoheight, {\n [id]: true,\n }),\n });\n }\n }\n\n getMemoAdjustWidgetLayout(id: string) {\n if (!this._memoAdjustWidgetLayout[id]) {\n this._memoAdjustWidgetLayout[id] = this.adjustWidgetLayout.bind(this, id);\n }\n\n return this._memoAdjustWidgetLayout[id];\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ConfigItem, ConfigLayout } from
|
|
2
|
-
import { DashKitProps } from
|
|
3
|
-
export declare const getSortedConfigItems: (config: DashKitProps[
|
|
1
|
+
import type { ConfigItem, ConfigLayout } from "../../shared/index.js";
|
|
2
|
+
import { DashKitProps } from "../DashKit/index.js";
|
|
3
|
+
export declare const getSortedConfigItems: (config: DashKitProps["config"], hasOrderId: boolean) => (ConfigItem & ConfigLayout)[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"../../../../src","sources":["components/MobileLayout/helpers.ts"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,CAAC,IAAgB,EAAE,IAAgB,EAAE,SAA2B,EAAE,EAAE;IAC9F,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACb,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,UAAmB,EAAE,EAAE;IACrD,OAAO,UAAU;QACb,CAAC,CAAC,CAAC,IAAgB,EAAE,IAAgB,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;QACtF,CAAC,CAAC,CAAC,IAAkB,EAAE,IAAkB,EAAE,EAAE,CACvC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,MAA8B,EAAE,UAAmB,EAAE,EAAE;IACxF,MAAM,cAAc,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAE5D,OAAO,MAAM,CAAC,KAAK;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACnE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B","sourcesContent":["import type {ConfigItem, ConfigLayout} from '../../shared';\nimport {DashKitProps} from '../DashKit';\n\nconst sortByOrderComparator = (prev: ConfigItem, next: ConfigItem, fieldName: keyof ConfigItem) => {\n const prevOrderId = prev[fieldName];\n const nextOrderId = next[fieldName];\n\n if (prevOrderId === undefined) {\n return 1;\n }\n if (nextOrderId === undefined) {\n return -1;\n }\n if (prevOrderId > nextOrderId) {\n return 1;\n } else if (prevOrderId < nextOrderId) {\n return -1;\n }\n return 0;\n};\n\nconst getWidgetsSortComparator = (hasOrderId: boolean) => {\n return hasOrderId\n ? (prev: ConfigItem, next: ConfigItem) => sortByOrderComparator(prev, next, 'orderId')\n : (prev: ConfigLayout, next: ConfigLayout) =>\n prev.y === next.y ? prev.x - next.x : prev.y - next.y;\n};\n\nexport const getSortedConfigItems = (config: DashKitProps['config'], hasOrderId: boolean) => {\n const sortComparator = getWidgetsSortComparator(hasOrderId);\n\n return config.items\n .map((item, index) => Object.assign({}, item, config.layout[index]))\n .sort(sortComparator);\n};\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ButtonSize, ButtonView, IconProps, MenuItemProps } from '@gravity-ui/uikit';
|
|
3
|
-
import { OverlayControlsCtxShape } from
|
|
4
|
-
import { type ConfigItem, type ItemParams, type ItemState, type PluginBase } from
|
|
3
|
+
import { OverlayControlsCtxShape } from "../../context/index.js";
|
|
4
|
+
import { type ConfigItem, type ItemParams, type ItemState, type PluginBase } from "../../shared/index.js";
|
|
5
|
+
import "./OverlayControls.css";
|
|
5
6
|
export declare enum OverlayControlsPosition {
|
|
6
7
|
TopRight = "top_right",
|
|
7
8
|
TopLeft = "top_left",
|
|
@@ -22,7 +23,7 @@ export interface OverlayControlItem {
|
|
|
22
23
|
export interface OverlayCustomControlItem {
|
|
23
24
|
id: string;
|
|
24
25
|
title?: string;
|
|
25
|
-
icon?: MenuItemProps['
|
|
26
|
+
icon?: MenuItemProps['iconStart'];
|
|
26
27
|
iconSize?: number | string;
|
|
27
28
|
handler?: (item: ConfigItem, params: ItemParams, state: ItemState) => void;
|
|
28
29
|
visible?: (item: ConfigItem) => boolean;
|
|
@@ -5,12 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const icons_1 = require("@gravity-ui/icons");
|
|
7
7
|
const uikit_1 = require("@gravity-ui/uikit");
|
|
8
|
-
const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
|
|
9
|
-
const constants_1 = require("../../constants");
|
|
10
|
-
const context_1 = require("../../context");
|
|
11
|
-
const i18n_1 = require("../../i18n");
|
|
12
|
-
const shared_1 = require("../../shared");
|
|
13
|
-
const cn_1 = require("../../utils/cn");
|
|
8
|
+
const noop_1 = tslib_1.__importDefault(require("lodash/noop.js"));
|
|
9
|
+
const constants_1 = require("../../constants/index.js");
|
|
10
|
+
const context_1 = require("../../context/index.js");
|
|
11
|
+
const i18n_1 = require("../../i18n/index.js");
|
|
12
|
+
const shared_1 = require("../../shared/index.js");
|
|
13
|
+
const cn_1 = require("../../utils/cn.js");
|
|
14
|
+
require("./OverlayControls.css");
|
|
14
15
|
const b = (0, cn_1.cn)(constants_1.OVERLAY_CONTROLS_CLASS_NAME);
|
|
15
16
|
var OverlayControlsPosition;
|
|
16
17
|
(function (OverlayControlsPosition) {
|
|
@@ -230,7 +231,7 @@ class OverlayControls extends react_1.default.Component {
|
|
|
230
231
|
memo.push({
|
|
231
232
|
// @ts-expect-error
|
|
232
233
|
text: item.title || (0, i18n_1.i18n)(item.id),
|
|
233
|
-
|
|
234
|
+
iconStart: item.icon,
|
|
234
235
|
action: itemAction,
|
|
235
236
|
className: item.className,
|
|
236
237
|
qa: item.qa,
|
|
@@ -242,7 +243,7 @@ class OverlayControls extends react_1.default.Component {
|
|
|
242
243
|
}
|
|
243
244
|
return (react_1.default.createElement(uikit_1.DropdownMenu, { key: 'controls_dropdown', items: items, renderSwitcher: (props) => (react_1.default.createElement(uikit_1.Button, Object.assign({}, props, { view: view, size: size, pin: isOnlyOneItem ? 'round-round' : 'brick-round', qa: "dashkit-overlay-control-menu" }),
|
|
244
245
|
react_1.default.createElement(uikit_1.Icon, { data: icons_1.Ellipsis, size: constants_1.OVERLAY_ICON_SIZE }))), popupProps: {
|
|
245
|
-
|
|
246
|
+
className: constants_1.DRAGGABLE_CANCEL_CLASS_NAME,
|
|
246
247
|
} }));
|
|
247
248
|
}
|
|
248
249
|
getControlItemPinStyle(index, itemsLength) {
|
|
@@ -276,3 +277,4 @@ OverlayControls.defaultProps = {
|
|
|
276
277
|
size: 'm',
|
|
277
278
|
};
|
|
278
279
|
exports.default = OverlayControls;
|
|
280
|
+
//# sourceMappingURL=OverlayControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlayControls.js","sourceRoot":"../../../../src","sources":["components/OverlayControls/OverlayControls.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {Ellipsis, Gear, Xmark} from '@gravity-ui/icons';\nimport {\n Button,\n ButtonSize,\n ButtonView,\n DropdownMenu,\n DropdownMenuItem,\n Icon,\n IconProps,\n MenuItemProps,\n} from '@gravity-ui/uikit';\nimport noop from 'lodash/noop';\n\nimport {\n COPIED_WIDGET_STORE_KEY,\n DRAGGABLE_CANCEL_CLASS_NAME,\n MenuItems,\n OVERLAY_CONTROLS_CLASS_NAME,\n OVERLAY_ICON_SIZE,\n} from '../../constants';\nimport {DashkitOvelayControlsContext, OverlayControlsCtxShape} from '../../context';\nimport {i18n} from '../../i18n';\nimport {\n type ConfigItem,\n type ItemParams,\n type ItemState,\n type PluginBase,\n isItemWithTabs,\n resolveItemInnerId,\n} from '../../shared';\nimport {MenuItem, Settings} from '../../typings';\nimport {cn} from '../../utils/cn';\n\nimport './OverlayControls.scss';\n\nconst b = cn(OVERLAY_CONTROLS_CLASS_NAME);\n\nexport enum OverlayControlsPosition {\n TopRight = 'top_right',\n TopLeft = 'top_left',\n BottomRight = 'bottom_right',\n BottomLeft = 'bottom_left',\n}\n\nexport interface OverlayControlItem {\n title?: string;\n icon?: IconProps['data'];\n iconSize?: number | string;\n handler?: (item: ConfigItem) => void;\n visible?: (item: ConfigItem) => boolean;\n allWidgetsControls?: boolean; // флаг кастомного контрола (без кастомного виджета), которые показываются не в списке меню\n excludeWidgetsTypes?: Array<PluginBase['type']>; // массив с типами виджетов (плагинов), которые исключаем из отображения контрола по настройке allWidgetsControls\n id?: string; // id дефолтного пункта меню для возможноти использования дефолтного action в кастомных контролах\n qa?: string;\n}\n\nexport interface OverlayCustomControlItem {\n id: string;\n title?: string;\n icon?: MenuItemProps['iconStart'];\n iconSize?: number | string;\n handler?: (item: ConfigItem, params: ItemParams, state: ItemState) => void;\n visible?: (item: ConfigItem) => boolean;\n className?: string;\n qa?: string;\n}\n\ninterface OverlayControlsDefaultProps {\n position: OverlayControlsPosition;\n view: ButtonView;\n size: ButtonSize;\n}\n\ninterface OverlayControlsProps extends OverlayControlsDefaultProps {\n configItem: ConfigItem;\n onItemClick?: () => void | null;\n}\n\ntype PreparedCopyItemOptionsArg = Pick<ConfigItem, 'data' | 'type' | 'defaults' | 'namespace'> & {\n timestamp: number;\n layout: {\n w: number;\n h: number;\n };\n targetId?: string;\n targetInnerId?: string;\n};\n\nexport type PreparedCopyItemOptions<C extends object = {}> = PreparedCopyItemOptionsArg & {\n copyContext?: C;\n};\n\ntype OverlayControlsCtx = React.Context<OverlayControlsCtxShape>;\n\nconst DEFAULT_DROPDOWN_MENU = [MenuItems.Copy, MenuItems.Delete];\n\nclass OverlayControls extends React.Component<OverlayControlsProps> {\n static contextType = DashkitOvelayControlsContext;\n static defaultProps: OverlayControlsDefaultProps = {\n position: OverlayControlsPosition.TopRight,\n view: 'flat',\n size: 'm',\n };\n context!: React.ContextType<OverlayControlsCtx>;\n render() {\n const {position} = this.props;\n const items = this.getItems();\n const hasCustomControlsWithWidgets = items.length > 0;\n\n const controls = hasCustomControlsWithWidgets\n ? this.getCustomControlsWithWidgets()\n : this.renderControls();\n\n return <div className={b({position}, [DRAGGABLE_CANCEL_CLASS_NAME])}>{controls}</div>;\n }\n\n private getItems = () => {\n const {overlayControls} = this.context;\n const {configItem} = this.props;\n\n return (overlayControls && overlayControls[configItem.type]) || [];\n };\n\n private renderControlsItem = (item: OverlayControlItem, index: number, length: number) => {\n const {view, size, onItemClick} = this.props;\n const {title, handler, icon, iconSize, qa} = item;\n\n const onItemClickHandler = typeof handler === 'function' ? handler : noop;\n return (\n <Button\n key={`control_${index}`}\n view={view}\n size={size}\n title={title}\n pin={this.getControlItemPinStyle(index, length)}\n onClick={() => {\n onItemClickHandler(this.props.configItem);\n onItemClick?.();\n }}\n qa={qa}\n >\n <Icon data={icon || Gear} size={icon ? iconSize : OVERLAY_ICON_SIZE} />\n </Button>\n );\n };\n\n private getDropDownMenuItemConfig(menuName: string, isDefaultMenu?: boolean) {\n switch (menuName) {\n case MenuItems.Copy: {\n return {\n action: this.onCopyItem,\n text: i18n('label_copy'),\n };\n }\n case MenuItems.Delete: {\n return {\n action: this.onRemoveItem,\n text: i18n('label_delete'),\n };\n }\n case MenuItems.Settings: {\n // для дефолтного состояния меню нет настройки settings, а для кастомного можно использовать дефолтный action и text\n if (isDefaultMenu) {\n return null;\n }\n return {\n action: this.onEditItem,\n text: i18n('label_settings'),\n };\n }\n }\n return null;\n }\n\n private getDefaultControls = () => {\n const {view, size} = this.props;\n\n if (this.context.overlayControls === null) {\n return null;\n }\n\n return (\n <Button\n key={'control_default'}\n view={view}\n size={size}\n title={i18n('label_settings')}\n pin=\"round-brick\"\n onClick={this.onEditItem}\n qa=\"dashkit-overlay-control-settings\"\n >\n <Icon data={Gear} size={OVERLAY_ICON_SIZE} />\n </Button>\n );\n };\n\n private renderControls() {\n const customLeftControls = this.getCustomLeftOverlayControls();\n const hasCustomOverlayLeftControls = Boolean(customLeftControls.length);\n\n const controls = hasCustomOverlayLeftControls\n ? customLeftControls.map(\n (item: OverlayControlItem, index: number, items: OverlayControlItem[]) =>\n this.renderControlsItem(item, index, items.length + 1),\n )\n : this.getDefaultControls();\n\n const menu = this.renderMenu(controls === null);\n\n return (\n <div\n className={b('default-controls', {\n 'with-custom-left': hasCustomOverlayLeftControls,\n })}\n >\n {controls}\n {menu}\n </div>\n );\n }\n private renderMenu(isOnlyOneItem: boolean) {\n const {view, size} = this.props;\n\n const dropdown = this.renderDropdownMenu(isOnlyOneItem);\n\n if (dropdown) {\n return dropdown;\n }\n\n return (\n <Button\n key={'delete-control'}\n view={view}\n size={size}\n title={i18n('label_delete')}\n pin={isOnlyOneItem ? 'round-round' : 'brick-round'}\n onClick={this.onRemoveItem}\n qa=\"dashkit-overlay-control-menu\"\n >\n <Icon data={Xmark} size={OVERLAY_ICON_SIZE} />\n </Button>\n );\n }\n\n private isDefaultMenu(menu: Settings['menu']) {\n return menu?.every((item) =>\n (Object.values(MenuItems) as Array<string>).includes(String(item)),\n );\n }\n private renderDropdownMenu(isOnlyOneItem: boolean) {\n const {view, size, onItemClick} = this.props;\n const {menu: contextMenu, itemsParams, itemsState} = this.context;\n\n const configItem = this.props.configItem;\n const itemParams = itemsParams[configItem.id];\n const itemState = itemsState?.[configItem.id] || {};\n\n const menu = contextMenu && contextMenu.length > 0 ? contextMenu : DEFAULT_DROPDOWN_MENU;\n\n const isDefaultMenu = this.isDefaultMenu(menu);\n\n const items: DropdownMenuItem[] = isDefaultMenu\n ? ((menu || []) as string[]).reduce<DropdownMenuItem[]>((memo, name: string) => {\n const item = this.getDropDownMenuItemConfig(name, true);\n if (item) {\n memo.push(item);\n }\n\n return memo;\n }, [])\n : menu.reduce<DropdownMenuItem[]>((memo, item: MenuItem) => {\n if (typeof item === 'string') {\n return memo;\n }\n // custom menu dropdown item filter\n if (item.visible && !item.visible(configItem)) {\n return memo;\n }\n\n const itemHandler = item.handler;\n\n const itemAction =\n typeof itemHandler === 'function'\n ? () => {\n const result = itemHandler(configItem, itemParams, itemState);\n onItemClick?.();\n return result;\n }\n : this.getDropDownMenuItemConfig(item.id)?.action || (() => {});\n\n memo.push({\n // @ts-expect-error\n text: item.title || i18n(item.id),\n iconStart: item.icon,\n action: itemAction,\n className: item.className,\n qa: item.qa,\n });\n\n return memo;\n }, []);\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <DropdownMenu\n key={'controls_dropdown'}\n items={items}\n renderSwitcher={(props) => (\n <Button\n {...props}\n view={view}\n size={size}\n pin={isOnlyOneItem ? 'round-round' : 'brick-round'}\n qa=\"dashkit-overlay-control-menu\"\n >\n <Icon data={Ellipsis} size={OVERLAY_ICON_SIZE} />\n </Button>\n )}\n popupProps={{\n className: DRAGGABLE_CANCEL_CLASS_NAME,\n }}\n />\n );\n }\n private getCustomLeftOverlayControls = () => {\n // выбираем только items-ы у которых проставлено поле `allWidgetsControls:true`\n // те контролы, которые будут показываться слева от меню\n let controls: OverlayControlItem[] = [];\n const {onItemClick} = this.props;\n\n for (const controlItem of Object.values(this.context.overlayControls || {})) {\n controls = controls.concat(\n (\n (controlItem as OverlayControlItem[]).filter((item) => {\n // если тип виджета-плагина в списке исключаемых, то не показываем такой контрол\n if (item.excludeWidgetsTypes?.includes(this.props.configItem.type)) {\n return false;\n }\n\n return item.visible\n ? item.visible(this.props.configItem)\n : item.allWidgetsControls;\n }) || []\n ).map((item) => {\n if (!item?.id) {\n return item;\n }\n return {\n ...item,\n handler:\n typeof item.handler === 'function'\n ? (...args) => {\n const result = item.handler?.(...args);\n onItemClick?.();\n return result;\n }\n : this.getDropDownMenuItemConfig(item.id)?.action || (() => {}),\n };\n }),\n );\n }\n\n return controls;\n };\n private onCopyItem = () => {\n const {configItem} = this.props;\n const correspondedItemLayout = this.context.getLayoutItem(configItem.id);\n\n let targetInnerId;\n\n if (isItemWithTabs(this.props.configItem)) {\n targetInnerId = resolveItemInnerId({\n item: this.props.configItem,\n itemsStateAndParams: this.context.itemsStateAndParams,\n });\n }\n\n let options: PreparedCopyItemOptions = {\n timestamp: Date.now(),\n data: configItem.data,\n type: configItem.type,\n defaults: configItem.defaults,\n namespace: configItem.namespace,\n layout: {\n w: correspondedItemLayout!.w,\n h: correspondedItemLayout!.h,\n },\n targetId: this.props.configItem.id,\n targetInnerId,\n };\n\n if (this.context.context?.getPreparedCopyItemOptions) {\n console.warn?.(\n '`context.getPreparedCopyItemOptions` is deprecated. Please use `getPreparedCopyItemOptions` prop instead',\n );\n }\n\n const getPreparedCopyItemOptions =\n this.context?.getPreparedCopyItemOptions ??\n this.context.context?.getPreparedCopyItemOptions;\n\n if (typeof getPreparedCopyItemOptions === 'function') {\n options = getPreparedCopyItemOptions(options);\n }\n\n try {\n localStorage.setItem(COPIED_WIDGET_STORE_KEY, JSON.stringify(options));\n this.context.onCopyFulfill?.(null, options);\n } catch (e) {\n const error = e instanceof Error ? e : new Error('Unknown error while copying item');\n this.context.onCopyFulfill?.(error);\n }\n // https://stackoverflow.com/questions/35865481/storage-event-not-firing\n window.dispatchEvent(new Event('storage'));\n this.props.onItemClick?.();\n };\n private onEditItem = () => {\n this.context.editItem?.(this.props.configItem);\n this.props.onItemClick?.();\n };\n private onRemoveItem = () => {\n const {id} = this.props.configItem;\n this.context.removeItem(id);\n this.props.onItemClick?.();\n };\n private getControlItemPinStyle(index: number, itemsLength: number) {\n const isOnlyOneItem = itemsLength === 1;\n const isFirstItem = index === 0;\n const isLastItem = index === itemsLength - 1;\n\n if (isOnlyOneItem) {\n return 'round-round';\n }\n\n if (isFirstItem) {\n return 'round-brick';\n }\n\n if (isLastItem) {\n return 'brick-round';\n }\n\n return 'brick-brick';\n }\n private getCustomControlsWithWidgets() {\n const items = this.getItems();\n\n const result = items.map(\n (item: OverlayControlItem, index: number, controlItems: OverlayControlItem[]) =>\n this.renderControlsItem(item, index, controlItems.length),\n );\n const isOnlyOneItem = items.length === 0;\n\n // Добавляем контрол удаления или меню виджета по умолчанию\n result.push(this.renderMenu(isOnlyOneItem));\n\n return result;\n }\n}\n\nexport default OverlayControls;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export type { OverlayControlItem, PreparedCopyItemOptions } from
|
|
3
|
-
export * from
|
|
4
|
-
export type { ActionPanelItem, ActionPanelProps } from
|
|
5
|
-
export * from
|
|
1
|
+
export * from "./DashKit/index.js";
|
|
2
|
+
export type { OverlayControlItem, PreparedCopyItemOptions } from "./OverlayControls/OverlayControls.js";
|
|
3
|
+
export * from "./ActionPanel/ActionPanel.js";
|
|
4
|
+
export type { ActionPanelItem, ActionPanelProps } from "./ActionPanel/types.js";
|
|
5
|
+
export * from "./DashKitDnDWrapper/DashKitDnDWrapper.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./DashKit"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./ActionPanel/ActionPanel"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./DashKitDnDWrapper/DashKitDnDWrapper"), exports);
|
|
4
|
+
tslib_1.__exportStar(require("./DashKit/index.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./ActionPanel/ActionPanel.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./DashKitDnDWrapper/DashKitDnDWrapper.js"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["components/index.ts"],"names":[],"mappings":";;;AAAA,6DAA0B;AAE1B,uEAA0C;AAE1C,mFAAsD","sourcesContent":["export * from './DashKit';\nexport type {OverlayControlItem, PreparedCopyItemOptions} from './OverlayControls/OverlayControls';\nexport * from './ActionPanel/ActionPanel';\nexport type {ActionPanelItem, ActionPanelProps} from './ActionPanel/types';\nexport * from './DashKitDnDWrapper/DashKitDnDWrapper';\n"]}
|
|
@@ -20,3 +20,4 @@ exports.COMPACT_TYPE_HORIZONTAL_NOWRAP = 'horizontal-nowrap';
|
|
|
20
20
|
exports.DRAGGABLE_CANCEL_CLASS_NAME = 'dashkit_draggable_cancel';
|
|
21
21
|
exports.FOCUSED_CLASS_NAME = 'dashkit_focused';
|
|
22
22
|
exports.DROPPING_ELEMENT_CLASS_NAME = 'dropping';
|
|
23
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["constants/common.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AAE3C,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAE9B,QAAA,2BAA2B,GAAG,0BAA0B,CAAC;AAEzD,QAAA,kBAAkB,GAAG,4BAA4B,CAAC;AAElD,QAAA,eAAe,GAAG,mBAAmB,CAAC;AAEtC,QAAA,iBAAiB,GAAG,EAAE,CAAC;AAEvB,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAExC,QAAA,SAAS,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACd,CAAC;AAEE,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAC1B,QAAA,oBAAoB,GAAG,CAAC,CAAC;AAEzB,QAAA,aAAa,GAAG,WAAW,CAAC;AAE5B,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AAErD,QAAA,2BAA2B,GAAG,0BAA0B,CAAC;AAEzD,QAAA,kBAAkB,GAAG,iBAAiB,CAAC;AAEvC,QAAA,2BAA2B,GAAG,UAAU,CAAC","sourcesContent":["export const COPIED_WIDGET_STORE_KEY = 'dashCopiedItem';\n\nexport const DEFAULT_NAMESPACE = 'default';\n\nexport const OVERLAY_CONTROLS_CLASS_NAME = 'dashkit-overlay-controls';\n\nexport const OVERLAY_CLASS_NAME = 'dashkit-grid-item__overlay';\n\nexport const ITEM_CLASS_NAME = 'dashkit-grid-item';\n\nexport const OVERLAY_ICON_SIZE = 16;\n\nexport const TEMPORARY_ITEM_ID = '__dropping-elem__';\n\nexport const MenuItems = {\n Copy: 'copy',\n Delete: 'delete',\n Settings: 'settings',\n} as const;\n\nexport const DEFAULT_WIDGET_HEIGHT = 3;\nexport const DEFAULT_WIDGET_WIDTH = 3;\n\nexport const DEFAULT_GROUP = '__default';\n\nexport const COMPACT_TYPE_HORIZONTAL_NOWRAP = 'horizontal-nowrap';\n\nexport const DRAGGABLE_CANCEL_CLASS_NAME = 'dashkit_draggable_cancel';\n\nexport const FOCUSED_CLASS_NAME = 'dashkit_focused';\n\nexport const DROPPING_ELEMENT_CLASS_NAME = 'dropping';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from "./common.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["constants/index.ts"],"names":[],"mappings":";;;AAAA,sDAAyB","sourcesContent":["export * from './common';\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/// <reference types="react-grid-layout" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import type { RegisterManager } from
|
|
4
|
-
import type { DashKitProps } from
|
|
5
|
-
import type { ConfigItem, ConfigLayout, ItemParams, ItemState, ItemStateAndParams, ItemStateAndParamsChangeOptions } from
|
|
2
|
+
import type { RegisterManager } from "../utils/index.js";
|
|
3
|
+
import type { DashKitProps } from "../components/DashKit/index.js";
|
|
4
|
+
import type { ConfigItem, ConfigLayout, ItemParams, ItemState, ItemStateAndParams, ItemStateAndParamsChangeOptions } from "../shared/index.js";
|
|
6
5
|
type DashkitPropsPassedToCtx = Pick<DashKitProps, 'config' | 'groups' | 'context' | 'noOverlay' | 'focusable' | 'globalParams' | 'editMode' | 'settings' | 'onItemMountChange' | 'onItemRender' | 'draggableHandleClassName' | 'onDragStart' | 'onDrag' | 'onDragStop' | 'onResizeStart' | 'onResize' | 'onResizeStop'>;
|
|
7
6
|
type PluginType = string;
|
|
8
7
|
export type DashKitCtxShape = DashkitPropsPassedToCtx & {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashKitContext.js","sourceRoot":"../../../src","sources":["context/DashKitContext.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AA4E1B,MAAM,cAAc,GAAG,eAAK,CAAC,aAAa,CAAkB,EAAqB,CAAC,CAAC;AAE3E,wCAAc","sourcesContent":["import React from 'react';\n\nimport type {RegisterManager} from '..//utils';\nimport type {DashKitProps} from '../components/DashKit';\nimport type {\n ConfigItem,\n ConfigLayout,\n ItemParams,\n ItemState,\n ItemStateAndParams,\n ItemStateAndParamsChangeOptions,\n} from '../shared';\n\ntype DashkitPropsPassedToCtx = Pick<\n DashKitProps,\n | 'config'\n | 'groups'\n | 'context'\n | 'noOverlay'\n | 'focusable'\n | 'globalParams'\n | 'editMode'\n | 'settings'\n | 'onItemMountChange'\n | 'onItemRender'\n | 'draggableHandleClassName'\n // default handlers bypass\n | 'onDragStart'\n | 'onDrag'\n | 'onDragStop'\n | 'onResizeStart'\n | 'onResize'\n | 'onResizeStop'\n>;\n\ntype PluginType = string;\n\nexport type DashKitCtxShape = DashkitPropsPassedToCtx & {\n registerManager: RegisterManager;\n forwardedMetaRef: React.ForwardedRef<any>;\n\n layout: ConfigLayout[];\n temporaryLayout: ConfigLayout[] | null;\n memorizeOriginalLayout: (\n widgetId: string,\n preAutoHeightLayout: ConfigLayout,\n postAutoHeightLayout: ConfigLayout,\n ) => void;\n revertToOriginalLayout: (widgetId: string) => void;\n\n itemsState?: Record<string, ItemState>;\n itemsParams: Record<string, ItemParams>;\n onItemStateAndParamsChange: (\n id: string,\n stateAndParams: ItemStateAndParams,\n options: ItemStateAndParamsChangeOptions,\n ) => void;\n\n getItemsMeta: (pluginsRefs: Array<React.RefObject<any>>) => Array<Promise<any>>;\n reloadItems: (\n pluginsRefs: Array<React.RefObject<any>>,\n data: {silentLoading: boolean; noVeil: boolean},\n ) => void;\n\n onDrop: (newLayout: ConfigLayout, item: ConfigItem) => void;\n onDropDragOver: (\n e: DragEvent | MouseEvent,\n group: string | void,\n gridProps: Partial<ReactGridLayout.ReactGridLayoutProps>,\n groupLayout: ConfigLayout[],\n sharedItem: (Partial<ConfigLayout> & {type: PluginType}) | void,\n ) => void | boolean;\n outerDnDEnable: boolean;\n dragOverPlugin: null | PluginType;\n};\n\nconst DashKitContext = React.createContext<DashKitCtxShape>({} as DashKitCtxShape);\n\nexport {DashKitContext};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { DraggedOverItem, ItemDragProps } from
|
|
2
|
+
import type { DraggedOverItem, ItemDragProps } from "../shared/types/index.js";
|
|
3
3
|
export type DashKitDnDCtxShape = {
|
|
4
4
|
dragProps: ItemDragProps | null;
|
|
5
5
|
dragImagePreview: HTMLImageElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashKitDnDContext.js","sourceRoot":"../../../src","sources":["context/DashKitDnDContext.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAeb,QAAA,iBAAiB,GAAG,eAAK,CAAC,aAAa,CAA4B,SAAS,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport type {DraggedOverItem, ItemDragProps} from '../shared/types';\n\nexport type DashKitDnDCtxShape = {\n dragProps: ItemDragProps | null;\n dragImagePreview: HTMLImageElement;\n onDragStart: (e: React.DragEvent<Element>, itemDragProps: ItemDragProps) => void;\n onDragEnd: (e: React.DragEvent<Element>) => void;\n onDropDragOver?: (\n draggedItem: DraggedOverItem,\n sharedItem: DraggedOverItem | null,\n ) => void | boolean;\n};\n\nexport const DashKitDnDContext = React.createContext<DashKitDnDCtxShape | void>(undefined);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { DashKitProps } from
|
|
3
|
-
import type { ConfigLayout, ItemParams, ItemState } from
|
|
4
|
-
import type { MenuItem } from
|
|
2
|
+
import type { DashKitProps } from "../components/index.js";
|
|
3
|
+
import type { ConfigLayout, ItemParams, ItemState } from "../shared/index.js";
|
|
4
|
+
import type { MenuItem } from "../typings/index.js";
|
|
5
5
|
export type OverlayControlsCtxShape = Pick<DashKitProps, 'context' | 'overlayControls' | 'itemsStateAndParams' | 'getPreparedCopyItemOptions' | 'onCopyFulfill'> & {
|
|
6
6
|
menu: DashKitProps['overlayMenuItems'] | MenuItem[];
|
|
7
7
|
itemsState?: Record<string, ItemState>;
|
|
@@ -4,3 +4,4 @@ exports.DashkitOvelayControlsContext = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
exports.DashkitOvelayControlsContext = react_1.default.createContext(undefined);
|
|
7
|
+
//# sourceMappingURL=DashkitOverlayControlsContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashkitOverlayControlsContext.js","sourceRoot":"../../../src","sources":["context/DashkitOverlayControlsContext.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAuBb,QAAA,4BAA4B,GAAG,eAAK,CAAC,aAAa,CAC3D,SAAS,CACZ,CAAC","sourcesContent":["import React from 'react';\n\nimport type {DashKitProps} from '../components';\nimport type {ConfigLayout, ItemParams, ItemState} from '../shared';\nimport type {MenuItem} from '../typings';\n\nexport type OverlayControlsCtxShape = Pick<\n DashKitProps,\n | 'context'\n | 'overlayControls'\n | 'itemsStateAndParams'\n | 'getPreparedCopyItemOptions'\n | 'onCopyFulfill'\n> & {\n menu: DashKitProps['overlayMenuItems'] | MenuItem[];\n itemsState?: Record<string, ItemState>;\n itemsParams: Record<string, ItemParams>;\n\n editItem: DashKitProps['onItemEdit'];\n removeItem: (id: string) => void;\n getLayoutItem: (id: string) => ConfigLayout | void;\n};\n\nexport const DashkitOvelayControlsContext = React.createContext<OverlayControlsCtxShape | void>(\n undefined,\n);\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./DashKitContext.js";
|
|
2
|
+
export * from "./DashkitOverlayControlsContext.js";
|
|
3
|
+
export * from "./DashKitDnDContext.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./DashKitContext"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./DashkitOverlayControlsContext"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./DashKitDnDContext"), exports);
|
|
4
|
+
tslib_1.__exportStar(require("./DashKitContext.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./DashkitOverlayControlsContext.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./DashKitDnDContext.js"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["context/index.ts"],"names":[],"mappings":";;;AAAA,8DAAiC;AACjC,6EAAgD;AAChD,iEAAoC","sourcesContent":["export * from './DashKitContext';\nexport * from './DashkitOverlayControlsContext';\nexport * from './DashKitDnDContext';\n"]}
|
package/build/cjs/helpers.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./utils/index.js";
|
|
2
|
+
export * from "./constants/index.js";
|
|
3
|
+
export * from "./shared/index.js";
|
package/build/cjs/helpers.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./utils"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./constants"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./shared"), exports);
|
|
4
|
+
tslib_1.__exportStar(require("./utils/index.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./constants/index.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./shared/index.js"), exports);
|
|
7
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"../../src","sources":["helpers.ts"],"names":[],"mappings":";;;AAAA,2DAAwB;AACxB,+DAA4B;AAC5B,4DAAyB","sourcesContent":["export * from './utils';\nexport * from './constants';\nexport * from './shared';\n"]}
|
|
@@ -66,7 +66,7 @@ export function prepareItem(Component: any): {
|
|
|
66
66
|
onItemMountChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
67
67
|
forwardedPluginRef: PropTypes.Requireable<any>;
|
|
68
68
|
};
|
|
69
|
-
contextType: React.Context<import("../context").DashKitCtxShape>;
|
|
69
|
+
contextType: React.Context<import("../context/index.js").DashKitCtxShape>;
|
|
70
70
|
};
|
|
71
71
|
import React from 'react';
|
|
72
72
|
import PropTypes from 'prop-types';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prepareItem =
|
|
3
|
+
exports.prepareItem = prepareItem;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
6
|
+
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual.js"));
|
|
7
7
|
const prop_types_1 = tslib_1.__importDefault(require("prop-types"));
|
|
8
|
-
const context_1 = require("../context");
|
|
8
|
+
const context_1 = require("../context/index.js");
|
|
9
9
|
function prepareItem(Component) {
|
|
10
10
|
var _a;
|
|
11
11
|
return _a = class PrepareItem extends react_1.default.Component {
|
|
@@ -86,4 +86,4 @@ function prepareItem(Component) {
|
|
|
86
86
|
_a.contextType = context_1.DashKitContext,
|
|
87
87
|
_a;
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
//# sourceMappingURL=prepareItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareItem.js","sourceRoot":"../../../src","sources":["hocs/prepareItem.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport PropTypes from 'prop-types';\n\nimport {DashKitContext} from '../context';\n\nexport function prepareItem(Component) {\n return class PrepareItem extends React.Component {\n static propTypes = {\n gridLayout: PropTypes.object,\n adjustWidgetLayout: PropTypes.func.isRequired,\n layout: PropTypes.array,\n id: PropTypes.string,\n item: PropTypes.object,\n shouldItemUpdate: PropTypes.bool,\n width: PropTypes.number,\n height: PropTypes.number,\n transform: PropTypes.string,\n isPlaceholder: PropTypes.bool,\n\n onItemRender: PropTypes.func,\n onItemMountChange: PropTypes.func,\n\n forwardedPluginRef: PropTypes.any,\n };\n\n shouldComponentUpdate(nextProps) {\n const {width, height, transform} = this.props;\n const {width: widthNext, height: heightNext, transform: transformNext} = nextProps;\n if (\n !nextProps.shouldItemUpdate &&\n width === widthNext &&\n height === heightNext &&\n transform === transformNext\n ) {\n return false;\n }\n return true;\n }\n\n static contextType = DashKitContext;\n\n _onStateAndParamsChange = (stateAndParams, options) => {\n this.context.onItemStateAndParamsChange(this.props.id, stateAndParams, options);\n };\n\n _currentRenderProps = {};\n getRenderProps = () => {\n const {id, width, height, item, adjustWidgetLayout, layout, isPlaceholder, gridLayout} =\n this.props;\n const {itemsState, itemsParams, registerManager, settings, context, editMode} =\n this.context;\n const {data, defaults, namespace} = item;\n\n const rendererProps = {\n data,\n editMode,\n params: itemsParams[id],\n state: itemsState[id],\n onStateAndParamsChange: this._onStateAndParamsChange,\n width,\n height,\n id,\n defaults,\n namespace,\n settings,\n context,\n layout,\n gridLayout: gridLayout || registerManager.gridLayout,\n adjustWidgetLayout,\n isPlaceholder,\n };\n\n const changedProp = Object.entries(rendererProps).find(([key, value]) => {\n // Checking gridLayoout deep as groups gridProperties method has tendancy to creat new objects\n if (key === 'gridLayout') {\n return !isEqual(this._currentRenderProps[key], value);\n }\n\n return this._currentRenderProps[key] !== value;\n });\n\n if (changedProp) {\n this._currentRenderProps = rendererProps;\n }\n\n return this._currentRenderProps;\n };\n\n render() {\n const {item, isPlaceholder, forwardedPluginRef, onItemMountChange, onItemRender} =\n this.props;\n const {registerManager} = this.context;\n const {type} = item;\n\n return (\n <Component\n forwardedPluginRef={forwardedPluginRef}\n rendererProps={this.getRenderProps()}\n registerManager={registerManager}\n type={type}\n isPlaceholder={isPlaceholder}\n onItemMountChange={onItemMountChange}\n onItemRender={onItemRender}\n item={item}\n />\n );\n }\n };\n}\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withContext =
|
|
3
|
+
exports.withContext = withContext;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
7
|
-
const pick_1 = tslib_1.__importDefault(require("lodash/pick"));
|
|
8
|
-
const common_1 = require("../constants/common");
|
|
9
|
-
const context_1 = require("../context");
|
|
10
|
-
const useDeepEqualMemo_1 = require("../hooks/useDeepEqualMemo");
|
|
11
|
-
const shared_1 = require("../shared");
|
|
12
|
-
const utils_1 = require("../utils");
|
|
6
|
+
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual.js"));
|
|
7
|
+
const pick_1 = tslib_1.__importDefault(require("lodash/pick.js"));
|
|
8
|
+
const common_1 = require("../constants/common.js");
|
|
9
|
+
const context_1 = require("../context/index.js");
|
|
10
|
+
const useDeepEqualMemo_1 = require("../hooks/useDeepEqualMemo.js");
|
|
11
|
+
const shared_1 = require("../shared/index.js");
|
|
12
|
+
const utils_1 = require("../utils/index.js");
|
|
13
13
|
const ITEM_PROPS = ['i', 'h', 'w', 'x', 'y', 'parent'];
|
|
14
14
|
function useMemoStateContext(props) {
|
|
15
15
|
// так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
|
|
@@ -427,4 +427,4 @@ function withContext(Component) {
|
|
|
427
427
|
WithContext.displayName = `withContext(${Component.displayName || Component.name || 'Component'}`;
|
|
428
428
|
return WithContext;
|
|
429
429
|
}
|
|
430
|
-
|
|
430
|
+
//# sourceMappingURL=withContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withContext.js","sourceRoot":"../../../src","sources":["hocs/withContext.js"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\nimport pick from 'lodash/pick';\n\nimport {\n COMPACT_TYPE_HORIZONTAL_NOWRAP,\n DEFAULT_GROUP,\n DEFAULT_WIDGET_HEIGHT,\n DEFAULT_WIDGET_WIDTH,\n TEMPORARY_ITEM_ID,\n} from '../constants/common';\nimport {DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext} from '../context';\nimport {useDeepEqualMemo} from '../hooks/useDeepEqualMemo';\nimport {getItemsParams, getItemsState} from '../shared';\nimport {UpdateManager, resolveLayoutGroup} from '../utils';\n\nconst ITEM_PROPS = ['i', 'h', 'w', 'x', 'y', 'parent'];\n\nfunction useMemoStateContext(props) {\n // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный\n // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,\n // расположении конкретного виджета на сетке) будет храниться в стейте, но, для того, чтобы в стор попадал\n // лэйаут без учета вижетов с активированной автовысотой, в момент \"подстройки\" высоты виджета значение h\n // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts\n\n const originalLayouts = React.useRef({});\n const adjustedLayouts = React.useRef({});\n const nowrapAdjustedLayouts = React.useRef({});\n\n const [temporaryLayout, setTemporaryLayout] = React.useState(null);\n const resetTemporaryLayout = React.useCallback(\n () => setTemporaryLayout(null),\n [setTemporaryLayout],\n );\n\n const dndContext = React.useContext(DashKitDnDContext);\n const outerDnDEnable = Boolean(dndContext);\n\n // TODO: need move originalLayouts, adjustedLayouts to state\n const [layoutUpdateCounter, forceUpdateLayout] = React.useState(0);\n\n const onChange = React.useCallback(\n ({\n config = props.config,\n itemsStateAndParams = props.itemsStateAndParams,\n groups = props.groups,\n }) => {\n if (\n !(\n isEqual(config, props.config) &&\n isEqual(itemsStateAndParams, props.itemsStateAndParams) &&\n isEqual(groups, props.groups)\n )\n ) {\n props.onChange({config, itemsStateAndParams, groups});\n }\n },\n [props.config, props.groups, props.itemsStateAndParams, props.onChange],\n );\n\n // каллбэк вызывающийся при изменение лэйаута сетки, первым аргументом приходит актуальный конфиг лэйаута,\n // т.е. если на текущей сетке есть виджеты, с активированной опцией автовысоты, их параметр \"h\" будет\n // \"подстроенный\"; чтобы, для сохранения в сторе \"ушли\" значения без учёта подстройки (как если бы у этих\n // виджетов автовысота была деактивирована) корректируем их используя this.originalLayouts\n const onLayoutChange = React.useCallback(\n (layout) => {\n const currentInnerLayout = layout.map((item) => {\n if (item.i in originalLayouts.current) {\n // eslint-disable-next-line no-unused-vars\n const {parent, ...originalCopy} = originalLayouts.current[item.i];\n\n // Updating original if parent has changed and saving copy as original\n // or leaving default\n if (item.parent) {\n originalCopy.parent = item.parent;\n }\n originalCopy.w = item.w;\n originalCopy.x = item.x;\n originalCopy.y = item.y;\n\n return originalCopy;\n } else {\n return {...item};\n }\n });\n\n const newConfig = UpdateManager.updateLayout({\n layout: currentInnerLayout,\n config: props.config,\n });\n\n if (!isEqual(newConfig.layout, props.config.layout)) {\n onChange({config: newConfig});\n }\n },\n [props.config, onChange],\n );\n\n const getLayoutItem = React.useCallback(\n (id) => {\n return props.config.layout.find(({i}) => i === id);\n },\n [props.config.layout],\n );\n\n const onItemRemove = React.useCallback(\n (id) => {\n delete nowrapAdjustedLayouts.current[id];\n delete adjustedLayouts.current[id];\n delete originalLayouts.current[id];\n\n if (id === TEMPORARY_ITEM_ID) {\n resetTemporaryLayout();\n } else {\n if (temporaryLayout) {\n setTemporaryLayout({\n ...temporaryLayout,\n data: temporaryLayout.data.filter(({i}) => i !== id),\n });\n }\n\n onChange(\n UpdateManager.removeItem({\n id,\n config: props.config,\n itemsStateAndParams: props.itemsStateAndParams,\n }),\n );\n }\n },\n [\n props.config,\n props.itemsStateAndParams,\n temporaryLayout,\n onChange,\n setTemporaryLayout,\n resetTemporaryLayout,\n ],\n );\n\n const onItemStateAndParamsChange = React.useCallback(\n (id, stateAndParams, options) => {\n onChange({\n itemsStateAndParams: UpdateManager.changeStateAndParams({\n id,\n config: props.config,\n stateAndParams,\n itemsStateAndParams: props.itemsStateAndParams,\n options,\n }),\n });\n },\n [props.config, props.itemsStateAndParams, onChange],\n );\n\n const memorizeOriginalLayout = React.useCallback(\n (widgetId, preAutoHeightLayout, postAutoHeightLayout) => {\n let needUpdateLayout = false;\n if (!(widgetId in originalLayouts.current)) {\n originalLayouts.current[widgetId] = preAutoHeightLayout;\n needUpdateLayout = true;\n }\n if (adjustedLayouts.current[widgetId] !== postAutoHeightLayout) {\n adjustedLayouts.current[widgetId] = postAutoHeightLayout;\n needUpdateLayout = true;\n }\n\n if (needUpdateLayout) {\n forceUpdateLayout((prev) => prev + 1);\n }\n },\n [],\n );\n\n const revertToOriginalLayout = React.useCallback((widgetId) => {\n const needUpdateLayout =\n widgetId in adjustedLayouts.current || widgetId in originalLayouts.current;\n delete adjustedLayouts.current[widgetId];\n delete originalLayouts.current[widgetId];\n if (needUpdateLayout) {\n forceUpdateLayout((prev) => prev + 1);\n }\n }, []);\n\n React.useMemo(() => {\n const groups = props.groups;\n const layout = props.layout;\n const defaultProps = props.registerManager.gridLayout || {};\n const nowrapGroups = {};\n let hasNowrapGroups = false;\n\n if (defaultProps.compactType === COMPACT_TYPE_HORIZONTAL_NOWRAP) {\n nowrapGroups[DEFAULT_GROUP] = {\n items: [],\n leftSpace: defaultProps.cols,\n };\n hasNowrapGroups = true;\n }\n\n if (groups) {\n groups.forEach((group) => {\n const resultProps = group.gridProperties?.(defaultProps) || {};\n\n if (resultProps.compactType === COMPACT_TYPE_HORIZONTAL_NOWRAP) {\n nowrapGroups[group.id] = {\n items: [],\n leftSpace: resultProps.cols,\n };\n hasNowrapGroups = true;\n }\n });\n }\n\n if (hasNowrapGroups) {\n layout.forEach((item) => {\n const widgetId = item.i;\n const parentId = resolveLayoutGroup(item);\n\n if (nowrapGroups[parentId]) {\n // Collecting nowrap elements\n nowrapGroups[parentId].items.push(item);\n nowrapGroups[parentId].leftSpace -= item.w;\n } else if (nowrapAdjustedLayouts.current[widgetId]) {\n // If element is not in horizontal-nowrap cleaning up and reverting adjustLayout values\n delete nowrapAdjustedLayouts.current[widgetId];\n }\n });\n\n Object.entries(nowrapGroups).forEach(([, {items, leftSpace}]) => {\n items.forEach((item) => {\n // setting maxW with adjustLayout fields and saving previous\n nowrapAdjustedLayouts.current[item.i] = item.w + leftSpace;\n });\n });\n }\n }, [props.registerManager, props.groups, props.layout]);\n\n const itemsParams = useDeepEqualMemo(\n () =>\n getItemsParams({\n defaultGlobalParams: props.defaultGlobalParams,\n globalParams: props.globalParams,\n config: props.config,\n itemsStateAndParams: props.itemsStateAndParams,\n plugins: props.registerManager.getPlugins(),\n }),\n [\n props.defaultGlobalParams,\n props.globalParams,\n props.config,\n props.itemsStateAndParams,\n props.registerManager,\n ],\n );\n\n const itemsState = useDeepEqualMemo(\n () =>\n getItemsState({\n config: props.config,\n itemsStateAndParams: props.itemsStateAndParams,\n }),\n [props.config, props.itemsStateAndParams],\n );\n\n const getItemsMeta = React.useCallback((pluginsRefs) => {\n return pluginsRefs\n .map((ref) => {\n if (!(ref && typeof ref.getMeta === 'function')) {\n return undefined;\n }\n return ref.getMeta();\n })\n .filter(Boolean);\n }, []);\n\n const resultLayout = React.useMemo(() => {\n const adjusted = adjustedLayouts.current;\n const original = originalLayouts.current;\n const nowrapAdjust = nowrapAdjustedLayouts.current;\n\n return props.layout.map((item) => {\n const widgetId = item.i;\n\n if (widgetId in adjusted || widgetId in nowrapAdjust) {\n original[widgetId] = item;\n // eslint-disable-next-line no-unused-vars\n const {parent, ...adjustedItem} = adjusted[widgetId] || item;\n\n adjustedItem.w = item.w;\n adjustedItem.x = item.x;\n adjustedItem.y = item.y;\n\n if (item.parent) {\n adjustedItem.parent = item.parent;\n }\n\n if (widgetId in nowrapAdjust) {\n adjustedItem.maxW = nowrapAdjust[widgetId];\n }\n\n return adjustedItem;\n } else {\n if (widgetId in original) {\n delete original[widgetId];\n }\n return item;\n }\n });\n }, [props.layout, layoutUpdateCounter]);\n\n const reloadItems = React.useCallback((pluginsRefs, data) => {\n pluginsRefs.forEach((ref) => ref && ref.reload && ref.reload(data));\n }, []);\n\n const dragPropsContext = dndContext?.dragProps;\n const onDropDragOverContext = dndContext?.onDropDragOver;\n\n const dragOverPlugin = React.useMemo(() => {\n if (!dragPropsContext) {\n return null;\n }\n\n const pluginType = dragPropsContext.type;\n\n if (props.registerManager.check(pluginType)) {\n return props.registerManager.getItem(pluginType);\n } else {\n // eslint-disable-next-line no-console\n console.error(`Uknown pluginType: ${pluginType}`);\n return null;\n }\n }, [dragPropsContext, props.registerManager]);\n\n const onDropDragOver = React.useCallback(\n (_e, group, gridProps, groupLayout, sharedItem) => {\n if (temporaryLayout) {\n resetTemporaryLayout();\n return false;\n }\n\n let defaultLayout;\n if (sharedItem) {\n const {type, h, w} = sharedItem;\n const _defaults = props.registerManager.getItem(type);\n defaultLayout = _defaults ? {..._defaults.defaultLayout, h, w} : {h, w};\n } else if (dragOverPlugin) {\n defaultLayout = dragOverPlugin.defaultLayout;\n } else {\n return false;\n }\n\n let maxW = gridProps.cols;\n const maxH = Math.min(gridProps.maxRows || Infinity, defaultLayout.maxH || Infinity);\n\n if (gridProps.compactType === COMPACT_TYPE_HORIZONTAL_NOWRAP) {\n maxW = groupLayout.reduce((memo, item) => memo - item.w, gridProps.cols);\n }\n\n if (\n maxW === 0 ||\n maxH === 0 ||\n maxW < defaultLayout.minW ||\n maxH < defaultLayout.minH\n ) {\n return false;\n }\n\n const {\n h = defaultLayout?.h || DEFAULT_WIDGET_HEIGHT,\n w = defaultLayout?.w || DEFAULT_WIDGET_WIDTH,\n } = dragPropsContext?.layout || {};\n\n const itemLayout = {\n h: maxH ? Math.min(h, maxH) : h,\n w: maxW ? Math.min(w, maxW) : w,\n };\n\n if (\n onDropDragOverContext?.(\n {\n ...sharedItem,\n ...itemLayout,\n parent: group,\n type: sharedItem?.type || dragOverPlugin?.type,\n },\n sharedItem ?? null,\n ) === false\n ) {\n return false;\n }\n\n return itemLayout;\n },\n [\n props.registerManager,\n resetTemporaryLayout,\n temporaryLayout,\n dragOverPlugin,\n dragPropsContext,\n onDropDragOverContext,\n ],\n );\n\n const onDropProp = props.onDrop;\n const onDrop = React.useCallback(\n (newLayout, item) => {\n if (!dragPropsContext) {\n return;\n }\n\n setTemporaryLayout({\n data: [...newLayout, item],\n dragProps: dragPropsContext,\n });\n\n onDropProp({\n newLayout: newLayout.reduce((memo, l) => {\n if (l.i !== item.i) {\n memo.push(pick(l, ITEM_PROPS));\n }\n\n return memo;\n }, []),\n itemLayout: pick(item, ITEM_PROPS),\n commit: resetTemporaryLayout,\n dragProps: dragPropsContext,\n });\n },\n [dragPropsContext, onDropProp, setTemporaryLayout, resetTemporaryLayout],\n );\n\n const dashkitContextValue = React.useMemo(\n () => ({\n config: props.config,\n groups: props.groups,\n context: props.context,\n noOverlay: props.noOverlay,\n focusable: props.focusable,\n defaultGlobalParams: props.globalParams,\n globalParams: props.globalParams,\n editMode: props.editMode,\n settings: props.settings,\n onItemMountChange: props.onItemMountChange,\n onItemRender: props.onItemRender,\n draggableHandleClassName: props.draggableHandleClassName,\n\n registerManager: props.registerManager,\n forwardedMetaRef: props.forwardedMetaRef,\n\n layout: resultLayout,\n temporaryLayout,\n layoutChange: onLayoutChange,\n memorizeOriginalLayout,\n revertToOriginalLayout,\n\n itemsState,\n itemsParams,\n onItemStateAndParamsChange,\n\n getItemsMeta,\n reloadItems,\n\n onDrop,\n onDropDragOver,\n outerDnDEnable,\n dragOverPlugin,\n\n onItemFocus: props.onItemFocus,\n onItemBlur: props.onItemBlur,\n\n /* default handlers bypass */\n onDragStart: props.onDragStart,\n onDrag: props.onDrag,\n onDragStop: props.onDragStop,\n onResizeStart: props.onResizeStart,\n onResize: props.onResize,\n onResizeStop: props.onResizeStop,\n }),\n [\n resultLayout,\n temporaryLayout,\n props.config,\n props.groups,\n props.context,\n props.noOverlay,\n props.focusable,\n props.globalParams,\n props.editMode,\n props.settings,\n itemsState,\n itemsParams,\n props.registerManager,\n onItemStateAndParamsChange,\n onDrop,\n onDropDragOver,\n onLayoutChange,\n props.onItemMountChange,\n props.onItemRender,\n getItemsMeta,\n reloadItems,\n memorizeOriginalLayout,\n revertToOriginalLayout,\n props.forwardedMetaRef,\n props.draggableHandleClassName,\n outerDnDEnable,\n dragOverPlugin,\n\n props.onItemFocus,\n props.onItemBlur,\n\n props.onDragStart,\n props.onDrag,\n props.onDragStop,\n props.onResizeStart,\n props.onResize,\n props.onResizeStop,\n ],\n );\n\n const overlayMenuItems = props.overlayMenuItems || props.registerManager.settings.menu;\n const controlsContextValue = React.useMemo(\n () => ({\n overlayControls: props.overlayControls,\n context: props.context,\n\n itemsStateAndParams: props.itemsStateAndParams,\n itemsState,\n itemsParams,\n\n getPreparedCopyItemOptions: props.getPreparedCopyItemOptions,\n onCopyFulfill: props.onCopyFulfill,\n\n menu: overlayMenuItems,\n\n editItem: props.onItemEdit,\n removeItem: onItemRemove,\n getLayoutItem: getLayoutItem,\n }),\n [\n props.overlayControls,\n props.context,\n props.itemsStateAndParams,\n props.onItemEdit,\n props.getPreparedCopyItemOptions,\n props.onCopyFulfill,\n overlayMenuItems,\n itemsState,\n itemsParams,\n onItemRemove,\n getLayoutItem,\n ],\n );\n\n return {controlsContextValue, dashkitContextValue};\n}\n\nexport function withContext(Component) {\n const WithContext = (props) => {\n const {dashkitContextValue, controlsContextValue} = useMemoStateContext(props);\n\n return (\n <DashKitContext.Provider value={dashkitContextValue}>\n <DashkitOvelayControlsContext.Provider value={controlsContextValue}>\n <Component />\n </DashkitOvelayControlsContext.Provider>\n </DashKitContext.Provider>\n );\n };\n\n WithContext.displayName = `withContext(${\n Component.displayName || Component.name || 'Component'\n }`;\n\n return WithContext;\n}\n"]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { Config } from
|
|
2
|
-
import { RegisterManager } from
|
|
1
|
+
import type { Config } from "../shared/index.js";
|
|
2
|
+
import { RegisterManager } from "../utils/index.js";
|
|
3
3
|
export declare const useCalcPropsLayout: (config: Config, registerManager: RegisterManager) => {
|
|
4
4
|
i: string;
|
|
5
5
|
h: number;
|
|
6
6
|
w: number;
|
|
7
7
|
x: number;
|
|
8
8
|
y: number;
|
|
9
|
-
parent?: string
|
|
10
|
-
minW?: number
|
|
11
|
-
minH?: number
|
|
9
|
+
parent?: string;
|
|
10
|
+
minW?: number;
|
|
11
|
+
minH?: number;
|
|
12
12
|
maxW?: number | undefined;
|
|
13
13
|
maxH?: number | undefined;
|
|
14
14
|
}[];
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useCalcPropsLayout = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
6
|
+
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual.js"));
|
|
7
7
|
function onUpdatePropsConfig(config, registerManager) {
|
|
8
8
|
return config.layout.map((itemLayout, i) => {
|
|
9
9
|
const { type } = config.items[i];
|
|
@@ -29,3 +29,4 @@ exports.useCalcPropsLayout = useCalcPropsLayout;
|
|
|
29
29
|
// // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts
|
|
30
30
|
// const [currentLayout, setCurrentLayout] = React.useState(propsLayout);
|
|
31
31
|
// };
|
|
32
|
+
//# sourceMappingURL=useCalcLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalcLayout.js","sourceRoot":"../../../src","sources":["hooks/useCalcLayout.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,wEAAqC;AAKrC,SAAS,mBAAmB,CAAC,MAAc,EAAE,eAAgC;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,uCACO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,GAC3C,UAAU,EACf;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAEM,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,eAAgC,EAAE,EAAE;IACnF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5F,IAAI,CAAC,IAAA,iBAAO,EAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEF,yFAAyF;AACzF,uEAAuE;AAEvE,qHAAqH;AACrH,0GAA0G;AAC1G,iHAAiH;AACjH,gHAAgH;AAChH,2GAA2G;AAC3G,6EAA6E;AAE7E,KAAK","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport type {Config} from '../shared';\nimport {RegisterManager} from '../utils';\n\nfunction onUpdatePropsConfig(config: Config, registerManager: RegisterManager) {\n return config.layout.map((itemLayout, i) => {\n const {type} = config.items[i];\n return {\n ...registerManager.getItem(type).defaultLayout,\n ...itemLayout,\n };\n });\n}\n\nexport const useCalcPropsLayout = (config: Config, registerManager: RegisterManager) => {\n const [prevConfig, setPrevConfig] = React.useState(config);\n const [layout, updateLayout] = React.useState(onUpdatePropsConfig(config, registerManager));\n\n if (!isEqual(prevConfig.layout, config.layout)) {\n setPrevConfig(config);\n updateLayout(onUpdatePropsConfig(config, registerManager));\n }\n\n return layout;\n};\n\n// export const useManageLayout = (config: Config, registerManager: RegisterManager) => {\n// const propsLayout = useCalcPropsLayout(config, registerManager);\n\n// // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный\n// // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,\n// // расположении конкретного виджета на сетке) будет храниться в стейте, но, для того, чтобы в стор попадал\n// // лэйаут без учета вижетов с активированной автовысотой, в момент \"подстройки\" высоты виджета значение h\n// // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts\n// const [currentLayout, setCurrentLayout] = React.useState(propsLayout);\n\n// };\n"]}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useDeepEqualMemo = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
6
|
+
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual.js"));
|
|
7
7
|
const useDeepEqualMemo = (predicate, deps) => {
|
|
8
8
|
const previousValueRef = react_1.default.useRef({});
|
|
9
9
|
return react_1.default.useMemo(() => {
|
|
@@ -15,3 +15,4 @@ const useDeepEqualMemo = (predicate, deps) => {
|
|
|
15
15
|
}, [previousValueRef, ...deps]);
|
|
16
16
|
};
|
|
17
17
|
exports.useDeepEqualMemo = useDeepEqualMemo;
|
|
18
|
+
//# sourceMappingURL=useDeepEqualMemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeepEqualMemo.js","sourceRoot":"../../../src","sources":["hooks/useDeepEqualMemo.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,wEAAqC;AAE9B,MAAM,gBAAgB,GAAG,CAC5B,SAAkB,EAClB,IAA0B,EACzB,EAAE;IACH,MAAM,gBAAgB,GAAG,eAAK,CAAC,MAAM,CAAI,EAAS,CAAC,CAAC;IAEpD,OAAO,eAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAA,iBAAO,EAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5C,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;QACrC,CAAC;QAED,OAAO,gBAAgB,CAAC,OAAO,CAAC;IACpC,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nexport const useDeepEqualMemo = <T extends any>(\n predicate: () => T,\n deps: React.DependencyList,\n): T => {\n const previousValueRef = React.useRef<T>({} as any);\n\n return React.useMemo(() => {\n const value = predicate();\n\n if (!isEqual(previousValueRef.current, value)) {\n previousValueRef.current = value;\n }\n\n return previousValueRef.current;\n }, [previousValueRef, ...deps]);\n};\n"]}
|