index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports["default"] = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _vue = _interopRequireDefault(require("vue"));
  7. var _ImagePreview = _interopRequireDefault(require("./ImagePreview"));
  8. var _utils = require("../utils");
  9. var instance;
  10. var defaultConfig = {
  11. images: [],
  12. loop: true,
  13. value: true,
  14. minZoom: 1 / 3,
  15. maxZoom: 3,
  16. className: '',
  17. lazyLoad: false,
  18. showIndex: true,
  19. asyncClose: false,
  20. startPosition: 0,
  21. showIndicators: false
  22. };
  23. var initInstance = function initInstance() {
  24. instance = new (_vue["default"].extend(_ImagePreview["default"]))({
  25. el: document.createElement('div')
  26. });
  27. document.body.appendChild(instance.$el);
  28. };
  29. var ImagePreview = function ImagePreview(images, startPosition) {
  30. if (startPosition === void 0) {
  31. startPosition = 0;
  32. }
  33. /* istanbul ignore if */
  34. if (_utils.isServer) {
  35. return;
  36. }
  37. if (!instance) {
  38. initInstance();
  39. }
  40. var options = Array.isArray(images) ? {
  41. images: images,
  42. startPosition: startPosition
  43. } : images;
  44. (0, _extends2["default"])(instance, defaultConfig, options);
  45. instance.$once('input', function (show) {
  46. instance.value = show;
  47. });
  48. if (options.onClose) {
  49. instance.$once('close', options.onClose);
  50. }
  51. return instance;
  52. };
  53. ImagePreview.install = function () {
  54. _vue["default"].use(_ImagePreview["default"]);
  55. };
  56. var _default = ImagePreview;
  57. exports["default"] = _default;