Add progress tracking to command menu items (#18732)
Introduces a progress indicator for command menu items (both engine commands and front components). When a command is running, the menu item now displays a percentage alongside the loader spinner instead of just a spinner. - Added `commandMenuItemProgressFamilyState` to track per-item progress and `CommandListItemLoader` to render it - Exposed `updateProgress` in the twenty-sdk public API so front components can report execution progress back to the host - Wired progress reporting into `ExportMultipleRecordsCommand` as the first consumer, showing CSV export progress - Progress state is cleaned up on unmount for both engine commands and headless front components - Refactor
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
import { mountedEngineCommandsState } from '@/command-menu-item/engine-command/states/mountedEngineCommandsState';
|
||||
import { createAtomFamilySelector } from '@/ui/utilities/state/jotai/utils/createAtomFamilySelector';
|
||||
|
||||
export const isEngineCommandMountedFamilySelector = createAtomFamilySelector<
|
||||
boolean,
|
||||
string
|
||||
>({
|
||||
key: 'isEngineCommandMountedFamilySelector',
|
||||
get:
|
||||
(engineCommandId: string) =>
|
||||
({ get }) => {
|
||||
const mountedMap = get(mountedEngineCommandsState);
|
||||
|
||||
return mountedMap.has(engineCommandId);
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user