Skip to main content
La API Selection Toolbox permite a las extensiones agregar botones de acción personalizados que aparecen al seleccionar nodos en el lienzo. Esto brinda acceso rápido a comandos contextuales para los elementos seleccionados (nodos, grupos, etc.).

Uso básico

Para añadir comandos al cuadro de herramientas de selección, tu extensión debe:
  1. Definir los comandos con la interfaz de comandos estándar
  2. Implementar el método getSelectionToolboxCommands para especificar qué comandos aparecen en el cuadro de herramientas
Nota: el método getSelectionToolboxCommands se llama para cada elemento del conjunto de selección cada vez que se realiza una nueva selección.

Definición de comando

Los comandos del cuadro de herramientas de selección usan la interfaz de comandos estándar de ComfyUI:
La function recibe el elemento o los elementos seleccionados como parámetro, lo que te permite realizar acciones sobre la selección actual.

Opciones de iconos

Los botones del cuadro de herramientas de selección admiten las mismas bibliotecas de iconos que otros elementos de la interfaz:
  • Iconos de PrimeVue: pi pi-[icon-name] (por ejemplo, pi pi-star)
  • Iconos de Material Design: mdi mdi-[icon-name] (por ejemplo, mdi mdi-content-copy)

Visibilidad dinámica de comandos

El método getSelectionToolboxCommands se llama cada vez que cambia la selección, lo que te permite mostrar comandos distintos según lo que esté seleccionado:

Trabajar con los elementos seleccionados

Accede a la información de los elementos seleccionados a través del objeto canvas de la app. La propiedad selectedItems es un Set que incluye nodos, grupos y otros elementos del lienzo:

Ejemplo completo

Aquí tienes un ejemplo sencillo que muestra varias características del cuadro de herramientas de selección:

Notas

  • La cuadro de herramientas de selección debe estar habilitada en las configuraciones: Comfy.Canvas.SelectionToolbox
  • Los comandos deben definirse en el arreglo commands antes de referenciarlos en getSelectionToolboxCommands
  • La cuadro de herramientas se actualiza automáticamente cuando cambia la selección
  • El método getSelectionToolboxCommands se llama para cada elemento del conjunto de selección cada vez que se realiza una nueva selección
  • Usa app.canvas.selectedItems (un Set) para acceder a todos los elementos seleccionados, incluidos nodos, grupos y otros elementos del lienzo
  • Por compatibilidad con versiones anteriores, app.canvas.selected_nodes todavía existe, pero solo contiene nodos