Files
pig-farm-controller-fe/node_modules/element-plus/es/components/message/src/instance.mjs
2025-09-19 14:25:20 +08:00

34 lines
1.1 KiB
JavaScript

import { shallowReactive } from 'vue';
const placementInstances = shallowReactive({});
const getOrCreatePlacementInstances = (placement) => {
if (!placementInstances[placement]) {
placementInstances[placement] = shallowReactive([]);
}
return placementInstances[placement];
};
const getInstance = (id, placement) => {
const instances = placementInstances[placement] || [];
const idx = instances.findIndex((instance) => instance.id === id);
const current = instances[idx];
let prev;
if (idx > 0) {
prev = instances[idx - 1];
}
return { current, prev };
};
const getLastOffset = (id, placement) => {
const { prev } = getInstance(id, placement);
if (!prev)
return 0;
return prev.vm.exposed.bottom.value;
};
const getOffsetOrSpace = (id, offset, placement) => {
const instances = placementInstances[placement] || [];
const idx = instances.findIndex((instance) => instance.id === id);
return idx > 0 ? 16 : offset;
};
export { getInstance, getLastOffset, getOffsetOrSpace, getOrCreatePlacementInstances, placementInstances };
//# sourceMappingURL=instance.mjs.map