import { observer } from 'mobx-react-lite'; import { FiltersMap } from '@wix/bex-core'; import { KanbanState } from '../../state/KanbanState'; import { CardComponent } from '../Kanban/Card'; import { ItemActionsState } from '../../state'; import { KanbanBaseProps } from '../Kanban/KanbanProps'; import React from 'react'; export interface KanbanDragOverlayCardItemProps { state: KanbanState; renderItem?: KanbanBaseProps['renderItem']; actionCell?: KanbanBaseProps['actionCell']; dataExtension?: KanbanBaseProps['dataExtension']; tags?: KanbanBaseProps['tags']; } function _KanbanDragOverlayCardItem( props: KanbanDragOverlayCardItemProps, ) { const { state, renderItem, actionCell, dataExtension, tags } = props; const { activeId } = state.dragAndDropState; if (!activeId) { return null; } // Parse the activeId to get stageKey and itemKey const [stageKey, itemKey] = activeId.split('-##-'); if (!stageKey || !itemKey) { return null; } const stageState = state.kanbanStageStates[stageKey]; if (!stageState) { return null; } const keyedItem = stageState.itemsCollectionState.getKeyedItem(itemKey); if (!keyedItem) { return null; } const itemActionsState = new ItemActionsState({ fade: 'static', keyedItem, collection: stageState.itemsCollectionState, reportBi: state.toolbar.reportBi, }); const cardProps = { keyedItem, stageKey: stageState.stageKey, originalItem: keyedItem.item, itemIndex: 0, // Index not relevant for overlay itemActionsState, item: { ...renderItem?.({ stage: stageState.stage, item: keyedItem.item, }), key: keyedItem.key, }, actionCell, dataExtension, tags, isDragging: true, state, }; return ; } export const KanbanDragOverlayCardItem = observer(_KanbanDragOverlayCardItem);