66 content: 'p-0 flex flex-row'
77 }"
88 >
9- <ExecuteButton v-show =" nodeSelected" />
10- <ColorPickerButton v-show =" nodeSelected || groupSelected" />
11- <Button
12- v-show =" nodeSelected"
13- v-tooltip.top =" {
14- value: t('commands.Comfy_Canvas_ToggleSelectedNodes_Bypass.label'),
15- showDelay: 1000
16- }"
17- severity =" secondary"
18- text
19- data-testid =" bypass-button"
20- @click ="
21- () => commandStore.execute('Comfy.Canvas.ToggleSelectedNodes.Bypass')
22- "
23- >
24- <template #icon >
25- <i-game-icons:detour />
26- </template >
27- </Button >
28- <Button
29- v-show =" nodeSelected || groupSelected"
30- v-tooltip.top =" {
31- value: t('commands.Comfy_Canvas_ToggleSelectedNodes_Pin.label'),
32- showDelay: 1000
33- }"
34- severity =" secondary"
35- text
36- icon =" pi pi-thumbtack"
37- @click =" () => commandStore.execute('Comfy.Canvas.ToggleSelected.Pin')"
38- />
39- <Button
40- v-tooltip.top =" {
41- value: t('commands.Comfy_Canvas_DeleteSelectedItems.label'),
42- showDelay: 1000
43- }"
44- severity =" danger"
45- text
46- icon =" pi pi-trash"
47- @click =" () => commandStore.execute('Comfy.Canvas.DeleteSelectedItems')"
48- />
49- <Button
50- v-show =" isRefreshable"
51- severity =" info"
52- text
53- icon =" pi pi-refresh"
54- @click =" refreshSelected"
55- />
56- <Button
9+ <ExecuteButton />
10+ <ColorPickerButton />
11+ <BypassButton />
12+ <PinButton />
13+ <DeleteButton />
14+ <RefreshButton />
15+ <ExtensionCommandButton
5716 v-for =" command in extensionToolboxCommands"
5817 :key =" command.id"
59- v-tooltip.top =" {
60- value:
61- st(`commands.${normalizeI18nKey(command.id)}.label`, '') || undefined,
62- showDelay: 1000
63- }"
64- severity =" secondary"
65- text
66- :icon =" typeof command.icon === 'function' ? command.icon() : command.icon"
67- @click =" () => commandStore.execute(command.id)"
18+ :command =" command"
6819 />
6920 </Panel >
7021</template >
7122
7223<script setup lang="ts">
73- import Button from ' primevue/button'
7424import Panel from ' primevue/panel'
7525import { computed } from ' vue'
7626
7727import ColorPickerButton from ' @/components/graph/selectionToolbox/ColorPickerButton.vue'
7828import ExecuteButton from ' @/components/graph/selectionToolbox/ExecuteButton.vue'
79- import { useRefreshableSelection } from ' @/composables/useRefreshableSelection'
80- import { st , t } from ' @/i18n'
8129import { useExtensionService } from ' @/services/extensionService'
82- import { ComfyCommand , useCommandStore } from ' @/stores/commandStore'
30+ import { type ComfyCommandImpl , useCommandStore } from ' @/stores/commandStore'
8331import { useCanvasStore } from ' @/stores/graphStore'
84- import { normalizeI18nKey } from ' @/utils/formatUtil'
85- import { isLGraphGroup , isLGraphNode } from ' @/utils/litegraphUtil'
32+
33+ import BypassButton from ' ./selectionToolbox/BypassButton.vue'
34+ import DeleteButton from ' ./selectionToolbox/DeleteButton.vue'
35+ import ExtensionCommandButton from ' ./selectionToolbox/ExtensionCommandButton.vue'
36+ import PinButton from ' ./selectionToolbox/PinButton.vue'
37+ import RefreshButton from ' ./selectionToolbox/RefreshButton.vue'
8638
8739const commandStore = useCommandStore ()
8840const canvasStore = useCanvasStore ()
8941const extensionService = useExtensionService ()
90- const { isRefreshable, refreshSelected } = useRefreshableSelection ()
91- const nodeSelected = computed (() =>
92- canvasStore .selectedItems .some (isLGraphNode )
93- )
94- const groupSelected = computed (() =>
95- canvasStore .selectedItems .some (isLGraphGroup )
96- )
9742
98- const extensionToolboxCommands = computed <ComfyCommand []>(() => {
43+ const extensionToolboxCommands = computed <ComfyCommandImpl []>(() => {
9944 const commandIds = new Set <string >(
10045 canvasStore .selectedItems
10146 .map (
@@ -108,7 +53,7 @@ const extensionToolboxCommands = computed<ComfyCommand[]>(() => {
10853 )
10954 return Array .from (commandIds )
11055 .map ((commandId ) => commandStore .getCommand (commandId ))
111- .filter ((command ) => command !== undefined )
56+ .filter ((command ): command is ComfyCommandImpl => command !== undefined )
11257})
11358 </script >
11459
0 commit comments