1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| import _extends from "@babel/runtime/helpers/esm/extends";
| import Vue from 'vue';
| import VueImagePreview from './ImagePreview';
| import { isServer } from '../utils';
| var instance;
| var defaultConfig = {
| loop: true,
| value: true,
| images: [],
| maxZoom: 3,
| minZoom: 1 / 3,
| onClose: null,
| onChange: null,
| className: '',
| showIndex: true,
| closeable: false,
| closeIcon: 'clear',
| asyncClose: false,
| transition: 'van-fade',
| getContainer: 'body',
| overlayStyle: null,
| startPosition: 0,
| swipeDuration: 300,
| showIndicators: false,
| closeOnPopstate: true,
| closeIconPosition: 'top-right'
| };
|
| var initInstance = function initInstance() {
| instance = new (Vue.extend(VueImagePreview))({
| el: document.createElement('div')
| });
| document.body.appendChild(instance.$el);
| instance.$on('change', function (index) {
| if (instance.onChange) {
| instance.onChange(index);
| }
| });
| instance.$on('scale', function (data) {
| if (instance.onScale) {
| instance.onScale(data);
| }
| });
| };
|
| var ImagePreview = function ImagePreview(images, startPosition) {
| if (startPosition === void 0) {
| startPosition = 0;
| }
|
| /* istanbul ignore if */
| if (isServer) {
| return;
| }
|
| if (!instance) {
| initInstance();
| }
|
| var options = Array.isArray(images) ? {
| images: images,
| startPosition: startPosition
| } : images;
|
| _extends(instance, defaultConfig, options);
|
| instance.$once('input', function (show) {
| instance.value = show;
| });
| instance.$once('closed', function () {
| instance.images = [];
| });
|
| if (options.onClose) {
| instance.$off('close');
| instance.$once('close', options.onClose);
| }
|
| return instance;
| };
|
| ImagePreview.Component = VueImagePreview;
|
| ImagePreview.install = function () {
| Vue.use(VueImagePreview);
| };
|
| export default ImagePreview;
|
|