>({
{...styling('actionListRows')}
ref={setNodeRef}
>
- {filteredActionIds.map((actionId) => (
-
= startActionId &&
- actionId <= (selectedActionId as number)) ||
- actionId === selectedActionId
- }
- isInFuture={
- actionIds.indexOf(actionId) > actionIds.indexOf(currentActionId)
- }
- onSelect={(e: React.MouseEvent) =>
- onSelect(e, actionId)
- }
- timestamps={getTimestamps(actions, actionIds, actionId)}
- action={actions[actionId].action}
- onToggleClick={() => onToggleAction(actionId)}
- onJumpClick={() => onJumpToState(actionId)}
- onCommitClick={() => onCommit()}
- hideActionButtons={hideActionButtons}
- isSkipped={skippedActionIds.indexOf(actionId) !== -1}
- />
- ))}
+
+
+ {filteredActionIds.map((actionId) => (
+
+ {renderActionListRow(actionId)}
+
+ ))}
+
+
+ {activeDragActionId ? (
+ - {renderActionListRow(activeDragActionId)}
+ ) : null}
+
+
);
}
+
+interface SortableItemProps {
+ readonly children: ReactNode;
+ readonly actionId: number;
+}
+
+function SortableItem({ children, actionId }: SortableItemProps) {
+ const { attributes, listeners, setNodeRef, transform, transition } =
+ useSortable({ id: actionId });
+
+ const style = {
+ transform: CSS.Transform.toString(transform),
+ transition,
+ };
+
+ return (
+