42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
|
var vue = require('vue');
|
|
|
|
const placementInstances = vue.shallowReactive({});
|
|
const getOrCreatePlacementInstances = (placement) => {
|
|
if (!placementInstances[placement]) {
|
|
placementInstances[placement] = vue.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;
|
|
};
|
|
|
|
exports.getInstance = getInstance;
|
|
exports.getLastOffset = getLastOffset;
|
|
exports.getOffsetOrSpace = getOffsetOrSpace;
|
|
exports.getOrCreatePlacementInstances = getOrCreatePlacementInstances;
|
|
exports.placementInstances = placementInstances;
|
|
//# sourceMappingURL=instance.js.map
|