66fed8907a111ba1dcc6cdb26cff54efb9a0afbcff7082ef6ffeb25cb4bf5edfd9cd3c7b26f410099bc2b25021dcd2545ff3f398f620e3c8cd90c5d940f560 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. const placementInstances = vue.shallowReactive({});
  5. const getOrCreatePlacementInstances = (placement) => {
  6. if (!placementInstances[placement]) {
  7. placementInstances[placement] = vue.shallowReactive([]);
  8. }
  9. return placementInstances[placement];
  10. };
  11. const getInstance = (id, placement) => {
  12. const instances = placementInstances[placement] || [];
  13. const idx = instances.findIndex((instance) => instance.id === id);
  14. const current = instances[idx];
  15. let prev;
  16. if (idx > 0) {
  17. prev = instances[idx - 1];
  18. }
  19. return { current, prev };
  20. };
  21. const getLastOffset = (id, placement) => {
  22. const { prev } = getInstance(id, placement);
  23. if (!prev)
  24. return 0;
  25. return prev.vm.exposed.bottom.value;
  26. };
  27. const getOffsetOrSpace = (id, offset, placement) => {
  28. const instances = placementInstances[placement] || [];
  29. const idx = instances.findIndex((instance) => instance.id === id);
  30. return idx > 0 ? 16 : offset;
  31. };
  32. exports.getInstance = getInstance;
  33. exports.getLastOffset = getLastOffset;
  34. exports.getOffsetOrSpace = getOffsetOrSpace;
  35. exports.getOrCreatePlacementInstances = getOrCreatePlacementInstances;
  36. exports.placementInstances = placementInstances;
  37. //# sourceMappingURL=instance.js.map