- 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.
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
const assetDragStartCleanupByContainer = new WeakMap();
|
|
|
|
let internalDropOccurred = false;
|
|
|
|
export function getAssetDragStartCleanup(containerEl) {
|
|
if (!containerEl) return null;
|
|
return assetDragStartCleanupByContainer.get(containerEl) || null;
|
|
}
|
|
|
|
export function setAssetDragStartCleanup(containerEl, cleanup) {
|
|
if (!containerEl) return null;
|
|
if (typeof cleanup === "function") {
|
|
assetDragStartCleanupByContainer.set(containerEl, cleanup);
|
|
return cleanup;
|
|
}
|
|
assetDragStartCleanupByContainer.delete(containerEl);
|
|
return null;
|
|
}
|
|
|
|
export function clearAssetDragStartCleanup(containerEl) {
|
|
if (!containerEl) return;
|
|
assetDragStartCleanupByContainer.delete(containerEl);
|
|
}
|
|
|
|
export function markInternalDropOccurred() {
|
|
internalDropOccurred = true;
|
|
}
|
|
|
|
export function consumeInternalDropOccurred() {
|
|
if (!internalDropOccurred) return false;
|
|
internalDropOccurred = false;
|
|
return true;
|
|
}
|
|
|
|
export function resetDndRuntimeState() {
|
|
internalDropOccurred = false;
|
|
}
|