Files
MajoorWaldi-ComfyUI-Majoor-…/js/features/collections/contextmenu/addToCollectionMenuState.js
T
MajoorWaldi 2fa41a0e76 feat: add useGridState and useVirtualGrid composables for asset management
- Implemented useGridState to manage grid state, including asset selection and loading states.
- Created useVirtualGrid to centralize virtualization helpers for improved performance.
- Added createVueApp for isolated Vue 3 + Pinia application instances.
- Introduced Vite configuration for building the ComfyUI-Majoor-AssetsManager with external dependencies.
2026-04-03 11:04:55 +02:00

32 lines
886 B
JavaScript

import { reactive } from "vue";
export const addToCollectionMenuState = reactive({
open: false,
x: 0,
y: 0,
assets: [],
});
function broadcastCloseAllMenus() {
try {
window.dispatchEvent(new CustomEvent("mjr-close-all-menus"));
} catch (e) {
console.debug?.(e);
}
}
export function openAddToCollectionMenu({ x = 0, y = 0, assets = [] } = {}) {
broadcastCloseAllMenus();
addToCollectionMenuState.open = Array.isArray(assets) && assets.length > 0;
addToCollectionMenuState.x = Number(x) || 0;
addToCollectionMenuState.y = Number(y) || 0;
addToCollectionMenuState.assets = Array.isArray(assets) ? [...assets] : [];
}
export function closeAddToCollectionMenu() {
addToCollectionMenuState.open = false;
addToCollectionMenuState.x = 0;
addToCollectionMenuState.y = 0;
addToCollectionMenuState.assets = [];
}