@gravity-ui/dashkit 8.25.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.d.ts +1 -0
- package/build/cjs/constants/common.js +3 -1
- 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.d.ts +1 -0
- package/build/esm/constants/common.js +2 -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
|
@@ -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;AAEF,MAAM,CAAC,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","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,8 +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
|
|
5
|
-
import
|
|
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";
|
|
6
6
|
export declare enum OverlayControlsPosition {
|
|
7
7
|
TopRight = "top_right",
|
|
8
8
|
TopLeft = "top_left",
|
|
@@ -23,7 +23,7 @@ export interface OverlayControlItem {
|
|
|
23
23
|
export interface OverlayCustomControlItem {
|
|
24
24
|
id: string;
|
|
25
25
|
title?: string;
|
|
26
|
-
icon?: MenuItemProps['
|
|
26
|
+
icon?: MenuItemProps['iconStart'];
|
|
27
27
|
iconSize?: number | string;
|
|
28
28
|
handler?: (item: ConfigItem, params: ItemParams, state: ItemState) => void;
|
|
29
29
|
visible?: (item: ConfigItem) => boolean;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Ellipsis, Gear, Xmark } from '@gravity-ui/icons';
|
|
3
3
|
import { Button, DropdownMenu, Icon, } from '@gravity-ui/uikit';
|
|
4
|
-
import noop from
|
|
5
|
-
import { COPIED_WIDGET_STORE_KEY, DRAGGABLE_CANCEL_CLASS_NAME, MenuItems, OVERLAY_CONTROLS_CLASS_NAME, OVERLAY_ICON_SIZE, } from
|
|
6
|
-
import { DashkitOvelayControlsContext } from
|
|
7
|
-
import { i18n } from
|
|
8
|
-
import { isItemWithTabs, resolveItemInnerId, } from
|
|
9
|
-
import { cn } from
|
|
10
|
-
import
|
|
4
|
+
import noop from "lodash/noop.js";
|
|
5
|
+
import { COPIED_WIDGET_STORE_KEY, DRAGGABLE_CANCEL_CLASS_NAME, MenuItems, OVERLAY_CONTROLS_CLASS_NAME, OVERLAY_ICON_SIZE, } from "../../constants/index.js";
|
|
6
|
+
import { DashkitOvelayControlsContext } from "../../context/index.js";
|
|
7
|
+
import { i18n } from "../../i18n/index.js";
|
|
8
|
+
import { isItemWithTabs, resolveItemInnerId, } from "../../shared/index.js";
|
|
9
|
+
import { cn } from "../../utils/cn.js";
|
|
10
|
+
import "./OverlayControls.css";
|
|
11
11
|
const b = cn(OVERLAY_CONTROLS_CLASS_NAME);
|
|
12
12
|
export var OverlayControlsPosition;
|
|
13
13
|
(function (OverlayControlsPosition) {
|
|
@@ -227,7 +227,7 @@ class OverlayControls extends React.Component {
|
|
|
227
227
|
memo.push({
|
|
228
228
|
// @ts-expect-error
|
|
229
229
|
text: item.title || i18n(item.id),
|
|
230
|
-
|
|
230
|
+
iconStart: item.icon,
|
|
231
231
|
action: itemAction,
|
|
232
232
|
className: item.className,
|
|
233
233
|
qa: item.qa,
|
|
@@ -239,7 +239,7 @@ class OverlayControls extends React.Component {
|
|
|
239
239
|
}
|
|
240
240
|
return (React.createElement(DropdownMenu, { key: 'controls_dropdown', items: items, renderSwitcher: (props) => (React.createElement(Button, Object.assign({}, props, { view: view, size: size, pin: isOnlyOneItem ? 'round-round' : 'brick-round', qa: "dashkit-overlay-control-menu" }),
|
|
241
241
|
React.createElement(Icon, { data: Ellipsis, size: OVERLAY_ICON_SIZE }))), popupProps: {
|
|
242
|
-
|
|
242
|
+
className: DRAGGABLE_CANCEL_CLASS_NAME,
|
|
243
243
|
} }));
|
|
244
244
|
}
|
|
245
245
|
getControlItemPinStyle(index, itemsLength) {
|
|
@@ -273,3 +273,4 @@ OverlayControls.defaultProps = {
|
|
|
273
273
|
size: 'm',
|
|
274
274
|
};
|
|
275
275
|
export default OverlayControls;
|
|
276
|
+
//# 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,3 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./DashKit/index.js";
|
|
2
|
+
export * from "./ActionPanel/ActionPanel.js";
|
|
3
|
+
export * from "./DashKitDnDWrapper/DashKitDnDWrapper.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["components/index.ts"],"names":[],"mappings":"AAAA,mCAA0B;AAE1B,6CAA0C;AAE1C,yDAAsD","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"]}
|
|
@@ -2,6 +2,7 @@ export declare const COPIED_WIDGET_STORE_KEY = "dashCopiedItem";
|
|
|
2
2
|
export declare const DEFAULT_NAMESPACE = "default";
|
|
3
3
|
export declare const OVERLAY_CONTROLS_CLASS_NAME = "dashkit-overlay-controls";
|
|
4
4
|
export declare const OVERLAY_CLASS_NAME = "dashkit-grid-item__overlay";
|
|
5
|
+
export declare const ITEM_CLASS_NAME = "dashkit-grid-item";
|
|
5
6
|
export declare const OVERLAY_ICON_SIZE = 16;
|
|
6
7
|
export declare const TEMPORARY_ITEM_ID = "__dropping-elem__";
|
|
7
8
|
export declare const MenuItems: {
|
|
@@ -2,6 +2,7 @@ export const COPIED_WIDGET_STORE_KEY = 'dashCopiedItem';
|
|
|
2
2
|
export const DEFAULT_NAMESPACE = 'default';
|
|
3
3
|
export const OVERLAY_CONTROLS_CLASS_NAME = 'dashkit-overlay-controls';
|
|
4
4
|
export const OVERLAY_CLASS_NAME = 'dashkit-grid-item__overlay';
|
|
5
|
+
export const ITEM_CLASS_NAME = 'dashkit-grid-item';
|
|
5
6
|
export const OVERLAY_ICON_SIZE = 16;
|
|
6
7
|
export const TEMPORARY_ITEM_ID = '__dropping-elem__';
|
|
7
8
|
export const MenuItems = {
|
|
@@ -16,3 +17,4 @@ export const COMPACT_TYPE_HORIZONTAL_NOWRAP = 'horizontal-nowrap';
|
|
|
16
17
|
export const DRAGGABLE_CANCEL_CLASS_NAME = 'dashkit_draggable_cancel';
|
|
17
18
|
export const FOCUSED_CLASS_NAME = 'dashkit_focused';
|
|
18
19
|
export const DROPPING_ELEMENT_CLASS_NAME = 'dropping';
|
|
20
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"../../../src","sources":["constants/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AAEzC,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAEtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,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";
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from
|
|
1
|
+
export * from "./common.js";
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["constants/index.ts"],"names":[],"mappings":"AAAA,4BAAyB","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,OAAO,KAAK,MAAM,OAAO,CAAC;AA4E1B,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAkB,EAAqB,CAAC,CAAC;AAEnF,OAAO,EAAC,cAAc,EAAC,CAAC","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,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,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>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashkitOverlayControlsContext.js","sourceRoot":"../../../src","sources":["context/DashkitOverlayControlsContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,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,3 +1,4 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from "./DashKitContext.js";
|
|
2
|
+
export * from "./DashkitOverlayControlsContext.js";
|
|
3
|
+
export * from "./DashKitDnDContext.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["context/index.ts"],"names":[],"mappings":"AAAA,oCAAiC;AACjC,mDAAgD;AAChD,uCAAoC","sourcesContent":["export * from './DashKitContext';\nexport * from './DashkitOverlayControlsContext';\nexport * from './DashKitDnDContext';\n"]}
|
package/build/esm/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/esm/helpers.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
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";
|
|
4
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"../../src","sources":["helpers.ts"],"names":[],"mappings":"AAAA,iCAAwB;AACxB,qCAA4B;AAC5B,kCAAyB","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,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import isEqual from
|
|
2
|
+
import isEqual from "lodash/isEqual.js";
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { DashKitContext } from
|
|
4
|
+
import { DashKitContext } from "../context/index.js";
|
|
5
5
|
export function prepareItem(Component) {
|
|
6
6
|
var _a;
|
|
7
7
|
return _a = class PrepareItem extends React.Component {
|
|
@@ -82,3 +82,4 @@ export function prepareItem(Component) {
|
|
|
82
82
|
_a.contextType = DashKitContext,
|
|
83
83
|
_a;
|
|
84
84
|
}
|
|
85
|
+
//# sourceMappingURL=prepareItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareItem.js","sourceRoot":"../../../src","sources":["hocs/prepareItem.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AACrC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAC,cAAc,EAAC,4BAAmB;AAE1C,MAAM,UAAU,WAAW,CAAC,SAAS;;IACjC,YAAO,MAAM,WAAY,SAAQ,KAAK,CAAC,SAAS;YAAzC;;gBAmCH,4BAAuB,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE;oBAClD,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACpF,CAAC,CAAC;gBAEF,wBAAmB,GAAG,EAAE,CAAC;gBACzB,mBAAc,GAAG,GAAG,EAAE;oBAClB,MAAM,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAC,GAClF,IAAI,CAAC,KAAK,CAAC;oBACf,MAAM,EAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAC,GACzE,IAAI,CAAC,OAAO,CAAC;oBACjB,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC;oBAEzC,MAAM,aAAa,GAAG;wBAClB,IAAI;wBACJ,QAAQ;wBACR,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;wBACvB,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;wBACrB,sBAAsB,EAAE,IAAI,CAAC,uBAAuB;wBACpD,KAAK;wBACL,MAAM;wBACN,EAAE;wBACF,QAAQ;wBACR,SAAS;wBACT,QAAQ;wBACR,OAAO;wBACP,MAAM;wBACN,UAAU,EAAE,UAAU,IAAI,eAAe,CAAC,UAAU;wBACpD,kBAAkB;wBAClB,aAAa;qBAChB,CAAC;oBAEF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;wBACpE,8FAA8F;wBAC9F,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;4BACvB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC1D,CAAC;wBAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;oBACnD,CAAC,CAAC,CAAC;oBAEH,IAAI,WAAW,EAAE,CAAC;wBACd,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;oBAC7C,CAAC;oBAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;gBACpC,CAAC,CAAC;YAqBN,CAAC;YAlFG,qBAAqB,CAAC,SAAS;gBAC3B,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC9C,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAC,GAAG,SAAS,CAAC;gBACnF,IACI,CAAC,SAAS,CAAC,gBAAgB;oBAC3B,KAAK,KAAK,SAAS;oBACnB,MAAM,KAAK,UAAU;oBACrB,SAAS,KAAK,aAAa,EAC7B,CAAC;oBACC,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;YAmDD,MAAM;gBACF,MAAM,EAAC,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAC,GAC5E,IAAI,CAAC,KAAK,CAAC;gBACf,MAAM,EAAC,eAAe,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvC,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;gBAEpB,OAAO,CACH,oBAAC,SAAS,IACN,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,EACpC,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACZ,CACL,CAAC;YACN,CAAC;SACJ;QApGU,YAAS,GAAG;YACf,UAAU,EAAE,SAAS,CAAC,MAAM;YAC5B,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;YAC7C,MAAM,EAAE,SAAS,CAAC,KAAK;YACvB,EAAE,EAAE,SAAS,CAAC,MAAM;YACpB,IAAI,EAAE,SAAS,CAAC,MAAM;YACtB,gBAAgB,EAAE,SAAS,CAAC,IAAI;YAChC,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,aAAa,EAAE,SAAS,CAAC,IAAI;YAE7B,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,iBAAiB,EAAE,SAAS,CAAC,IAAI;YAEjC,kBAAkB,EAAE,SAAS,CAAC,GAAG;SACnC;QAgBK,cAAW,GAAG,cAAe;WAoEtC;AACN,CAAC","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,12 +1,12 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import isEqual from
|
|
4
|
-
import pick from
|
|
5
|
-
import { COMPACT_TYPE_HORIZONTAL_NOWRAP, DEFAULT_GROUP, DEFAULT_WIDGET_HEIGHT, DEFAULT_WIDGET_WIDTH, TEMPORARY_ITEM_ID, } from
|
|
6
|
-
import { DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext } from
|
|
7
|
-
import { useDeepEqualMemo } from
|
|
8
|
-
import { getItemsParams, getItemsState } from
|
|
9
|
-
import { UpdateManager, resolveLayoutGroup } from
|
|
3
|
+
import isEqual from "lodash/isEqual.js";
|
|
4
|
+
import pick from "lodash/pick.js";
|
|
5
|
+
import { COMPACT_TYPE_HORIZONTAL_NOWRAP, DEFAULT_GROUP, DEFAULT_WIDGET_HEIGHT, DEFAULT_WIDGET_WIDTH, TEMPORARY_ITEM_ID, } from "../constants/common.js";
|
|
6
|
+
import { DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext } from "../context/index.js";
|
|
7
|
+
import { useDeepEqualMemo } from "../hooks/useDeepEqualMemo.js";
|
|
8
|
+
import { getItemsParams, getItemsState } from "../shared/index.js";
|
|
9
|
+
import { UpdateManager, resolveLayoutGroup } from "../utils/index.js";
|
|
10
10
|
const ITEM_PROPS = ['i', 'h', 'w', 'x', 'y', 'parent'];
|
|
11
11
|
function useMemoStateContext(props) {
|
|
12
12
|
// так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
|
|
@@ -424,3 +424,4 @@ export function withContext(Component) {
|
|
|
424
424
|
WithContext.displayName = `withContext(${Component.displayName || Component.name || 'Component'}`;
|
|
425
425
|
return WithContext;
|
|
426
426
|
}
|
|
427
|
+
//# 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
|
}[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import isEqual from
|
|
2
|
+
import isEqual from "lodash/isEqual.js";
|
|
3
3
|
function onUpdatePropsConfig(config, registerManager) {
|
|
4
4
|
return config.layout.map((itemLayout, i) => {
|
|
5
5
|
const { type } = config.items[i];
|
|
@@ -24,3 +24,4 @@ export const useCalcPropsLayout = (config, registerManager) => {
|
|
|
24
24
|
// // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts
|
|
25
25
|
// const [currentLayout, setCurrentLayout] = React.useState(propsLayout);
|
|
26
26
|
// };
|
|
27
|
+
//# sourceMappingURL=useCalcLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCalcLayout.js","sourceRoot":"../../../src","sources":["hooks/useCalcLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;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;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,eAAgC,EAAE,EAAE;IACnF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5F,IAAI,CAAC,OAAO,CAAC,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;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"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import isEqual from
|
|
2
|
+
import isEqual from "lodash/isEqual.js";
|
|
3
3
|
export const useDeepEqualMemo = (predicate, deps) => {
|
|
4
4
|
const previousValueRef = React.useRef({});
|
|
5
5
|
return React.useMemo(() => {
|
|
@@ -10,3 +10,4 @@ export const useDeepEqualMemo = (predicate, deps) => {
|
|
|
10
10
|
return previousValueRef.current;
|
|
11
11
|
}, [previousValueRef, ...deps]);
|
|
12
12
|
};
|
|
13
|
+
//# sourceMappingURL=useDeepEqualMemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeepEqualMemo.js","sourceRoot":"../../../src","sources":["hooks/useDeepEqualMemo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,SAAkB,EAClB,IAA0B,EACzB,EAAE;IACH,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAI,EAAS,CAAC,CAAC;IAEpD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,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","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"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DashKitDnDContext } from
|
|
2
|
+
import { DashKitDnDContext } from "../context/index.js";
|
|
3
3
|
export const useDnDItemProps = (item) => {
|
|
4
4
|
const dragContext = React.useContext(DashKitDnDContext);
|
|
5
5
|
const onDragStart = React.useCallback((e) => {
|
|
@@ -23,3 +23,4 @@ export const useDnDItemProps = (item) => {
|
|
|
23
23
|
}
|
|
24
24
|
return null;
|
|
25
25
|
};
|
|
26
|
+
//# sourceMappingURL=useDnDItemProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDnDItemProps.js","sourceRoot":"../../../src","sources":["hooks/useDnDItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,iBAAiB,EAAC,4BAAmB;AAS7C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAqB,EAAY,EAAE;IAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAAkB,EAAE,EAAE;QACnB,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,WAAW,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC,EACD,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAChC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAC/B,CAAC,CAAC,EAAE,EAAE;QACF,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC,EACD,CAAC,WAAW,CAAC,CAChB,CAAC;IAEF,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO;YACH,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,WAAW;YACX,SAAS;SACZ,CAAC;IACN,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport {ActionPanelItem} from '../components';\nimport {DashKitDnDContext} from '../context';\n\ntype DndProps = null | {\n draggable: true;\n unselectable: 'on';\n onDragStart: React.DragEventHandler<HTMLDivElement>;\n onDragEnd: React.DragEventHandler<HTMLDivElement>;\n};\n\nexport const useDnDItemProps = (item: ActionPanelItem): DndProps => {\n const dragContext = React.useContext(DashKitDnDContext);\n\n const onDragStart = React.useCallback(\n (e: React.DragEvent) => {\n if (dragContext && item.dragProps) {\n dragContext.onDragStart(e, item.dragProps);\n e.dataTransfer.setDragImage(dragContext.dragImagePreview, 0, 0);\n }\n },\n [dragContext, item.dragProps],\n );\n\n const onDragEnd = React.useCallback<React.DragEventHandler<HTMLDivElement>>(\n (e) => {\n if (dragContext) {\n dragContext.onDragEnd(e);\n }\n },\n [dragContext],\n );\n\n if (dragContext && item.dragProps) {\n return {\n draggable: true,\n unselectable: 'on',\n onDragStart,\n onDragEnd,\n };\n }\n\n return null;\n};\n"]}
|