js-cloudimage-360-view 2.7.2-beta.6 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -3
- package/LICENSE +13 -1
- package/README.md +112 -90
- package/dist/ci360.service.js +82 -81
- package/dist/ci360.utils.js +2 -2
- package/dist/constants/auto-play-behavior.js +13 -0
- package/dist/constants/falsy-values.js +8 -0
- package/dist/constants/index.js +43 -0
- package/dist/constants/orientations.js +12 -0
- package/dist/constants/regex.js +10 -0
- package/dist/index.js +6 -2
- package/dist/utils/auto-play/get-speed-factor.js +14 -0
- package/dist/utils/auto-play/is-completed-one-cycle.js +32 -0
- package/dist/utils/auto-play/loop.js +67 -0
- package/dist/utils/common/add-class.js +18 -0
- package/dist/utils/common/remove-class.js +16 -0
- package/dist/utils/container-elements/apply-styles-to-container.js +16 -0
- package/dist/utils/container-elements/create-360-view-circle-icon.js +16 -0
- package/dist/utils/container-elements/create-360-view-icon.js +15 -0
- package/dist/utils/container-elements/create-box-shadow.js +16 -0
- package/dist/utils/container-elements/create-canvas.js +16 -0
- package/dist/utils/container-elements/create-close-fullscreen-icon.js +14 -0
- package/dist/utils/container-elements/create-fullscreen-icon.js +14 -0
- package/dist/utils/container-elements/create-fullscreen-modal.js +20 -0
- package/dist/utils/container-elements/create-icons-container.js +15 -0
- package/dist/utils/container-elements/create-inner-box.js +15 -0
- package/dist/utils/container-elements/create-loader.js +15 -0
- package/dist/utils/container-elements/create-magnifier-icon.js +14 -0
- package/dist/utils/container-elements/index.js +101 -0
- package/dist/utils/controls/get-item-skipped.js +13 -0
- package/dist/utils/controls/init-controls.js +77 -0
- package/dist/utils/hotspot/attach-popup-events.js +63 -0
- package/dist/utils/hotspot/configs-error-handler.js +30 -0
- package/dist/utils/hotspot/create-popper-instace.js +32 -0
- package/dist/utils/hotspot/elements/create-carousel-dot.js +26 -0
- package/dist/utils/hotspot/elements/create-carousel-image.js +21 -0
- package/dist/utils/hotspot/elements/create-hotspot-icon.js +42 -0
- package/dist/utils/hotspot/elements/create-hotspot-popup-link.js +23 -0
- package/dist/utils/hotspot/elements/create-hotspots.js +20 -0
- package/dist/utils/hotspot/elements/create-images-carousel.js +27 -0
- package/dist/utils/hotspot/elements/create-modal-description.js +15 -0
- package/dist/utils/hotspot/elements/create-modal-title.js +15 -0
- package/dist/utils/hotspot/elements/create-model-elements.js +49 -0
- package/dist/utils/hotspot/elements/create-popup-arrow.js +16 -0
- package/dist/utils/hotspot/elements/create-popup.js +60 -0
- package/dist/utils/hotspot/fill-previous-coord-with-previous.js +26 -0
- package/dist/utils/hotspot/generate-hotspots-configs.js +41 -0
- package/dist/utils/hotspot/generate-popup-config.js +34 -0
- package/dist/utils/hotspot/get-hotspot-icon.js +14 -0
- package/dist/utils/hotspot/get-hotspot-orientation.js +21 -0
- package/dist/utils/hotspot/get-hotspot-popup-node.js +19 -0
- package/dist/utils/hotspot/get-hotspot-variant.js +20 -0
- package/dist/utils/hotspot/get-popup-node.js +14 -0
- package/dist/utils/hotspot/hide-hotspot-icon.js +13 -0
- package/dist/utils/hotspot/hide-hotspots-icons.js +18 -0
- package/dist/utils/hotspot/is-mouse-on-hotspot.js +14 -0
- package/dist/utils/hotspot/prepare-hotspots-positions.js +28 -0
- package/dist/utils/hotspot/set-current-slide.js +23 -0
- package/dist/utils/hotspot/update-hotspot-icon-position.js +21 -0
- package/dist/utils/hotspot/update-hotspots.js +60 -0
- package/dist/utils/image-src/generate-images-path.js +40 -0
- package/dist/utils/index.js +228 -0
- package/dist/utils/load-images/images-from-folder/prepare-images-from-folder.js +36 -0
- package/dist/utils/load-images/images-from-list/prepare-images-from-list.js +37 -0
- package/dist/utils/load-images/load-image-as-promise.js +79 -0
- package/dist/utils/load-images/load-image.js +26 -0
- package/dist/utils/load-images/load-images-relative-to-container-size.js +58 -0
- package/dist/utils/load-images/load-original-images.js +58 -0
- package/dist/utils/load-images/pad.js +14 -0
- package/dist/utils/load-images/preload-images.js +38 -0
- package/dist/utils/load-images/preload-original-images.js +38 -0
- package/dist/utils/magnify/get-current-original-image.js +29 -0
- package/dist/utils/magnify/get-cursor-position.js +24 -0
- package/dist/utils/magnify/magnify.js +54 -0
- package/dist/utils/magnify/move-magnifier.js +47 -0
- package/dist/utils/responsive/contain.js +11 -0
- package/dist/utils/responsive/fit.js +33 -0
- package/dist/utils/responsive/get-container-responsive-height.js +20 -0
- package/dist/utils/responsive/get-container-responsive-width.js +20 -0
- package/dist/utils/responsive/get-responsive-width-of-container.js +14 -0
- package/dist/utils/responsive/get-size-according-to-pixel-ratio.js +17 -0
- package/dist/utils/responsive/get-size-limit.js +14 -0
- package/dist/utils/spin-y/get-moving-direction.js +21 -0
- package/dist/utils/zoom/generate-zoom-in-steps.js +20 -0
- package/dist/utils/zoom/generate-zoom-out-steps.js +20 -0
- package/package.json +3 -3
- package/.vscode/settings.json +0 -2
- package/dist/ci360.constants.js +0 -34
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updateHotspots = void 0;
|
|
7
|
+
|
|
8
|
+
var _getHotspotPopupNode = require("./get-hotspot-popup-node");
|
|
9
|
+
|
|
10
|
+
var _createPopperInstace = require("./create-popper-instace");
|
|
11
|
+
|
|
12
|
+
var _attachPopupEvents = require("./attach-popup-events");
|
|
13
|
+
|
|
14
|
+
var _prepareHotspotsPositions = require("./prepare-hotspots-positions");
|
|
15
|
+
|
|
16
|
+
var _getHotspotIcon = require("./get-hotspot-icon");
|
|
17
|
+
|
|
18
|
+
var _updateHotspotIconPosition = require("./update-hotspot-icon-position");
|
|
19
|
+
|
|
20
|
+
var _hideHotspotIcon = require("./hide-hotspot-icon");
|
|
21
|
+
|
|
22
|
+
var _getHotspotOrientation = require("./get-hotspot-orientation");
|
|
23
|
+
|
|
24
|
+
var updateHotspots = function updateHotspots(container, hotspotsProps) {
|
|
25
|
+
var activeImageX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
26
|
+
var activeImageY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
27
|
+
var movingDirection = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'x-axis';
|
|
28
|
+
hotspotsProps.forEach(function (hotspotProps) {
|
|
29
|
+
var popupProps = hotspotProps.popupProps,
|
|
30
|
+
hotspots = hotspotProps.hotspots,
|
|
31
|
+
initialDimensions = hotspotProps.initialDimensions,
|
|
32
|
+
orientation = hotspotProps.orientation;
|
|
33
|
+
var hotspotOriantaion = (0, _getHotspotOrientation.getHotspotOriantaion)(movingDirection);
|
|
34
|
+
var currentImage = orientation === 'x' ? activeImageX : activeImageY;
|
|
35
|
+
var anchorId = popupProps.anchorId,
|
|
36
|
+
open = popupProps.open;
|
|
37
|
+
var popup = (0, _getHotspotPopupNode.getHotspotPopupNode)(anchorId, open);
|
|
38
|
+
var hotspotIcon = (0, _getHotspotIcon.getHotspotIcon)(anchorId);
|
|
39
|
+
var hotspotsPositions = (0, _prepareHotspotsPositions.prepareHotspotsPositions)(hotspots);
|
|
40
|
+
var popperInstance = (0, _createPopperInstace.createPopperInstance)(popup, popupProps, container);
|
|
41
|
+
popperInstance.state.elements.reference = hotspotIcon;
|
|
42
|
+
popperInstance.update();
|
|
43
|
+
(0, _attachPopupEvents.attachPopupEvents)(hotspotIcon, popup, popperInstance, open);
|
|
44
|
+
var currentPosition = hotspotsPositions.find(function (hotspotPosition) {
|
|
45
|
+
return hotspotPosition.imageIndex === currentImage;
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
if (currentPosition && hotspotOriantaion === orientation) {
|
|
49
|
+
var _currentPosition$xCoo = currentPosition.xCoord,
|
|
50
|
+
xCoord = _currentPosition$xCoo === void 0 ? 0 : _currentPosition$xCoo,
|
|
51
|
+
_currentPosition$yCoo = currentPosition.yCoord,
|
|
52
|
+
yCoord = _currentPosition$yCoo === void 0 ? 0 : _currentPosition$yCoo;
|
|
53
|
+
(0, _updateHotspotIconPosition.updateHotspotIconPosition)(container, initialDimensions, hotspotIcon, xCoord, yCoord);
|
|
54
|
+
} else {
|
|
55
|
+
(0, _hideHotspotIcon.hideHotspotIcon)(hotspotIcon);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
exports.updateHotspots = updateHotspots;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateImagesPath = void 0;
|
|
7
|
+
|
|
8
|
+
var _falsyValues = require("../../constants/falsy-values");
|
|
9
|
+
|
|
10
|
+
var _getResponsiveWidthOfContainer = require("../responsive/get-responsive-width-of-container");
|
|
11
|
+
|
|
12
|
+
var _getSizeAccordingToPixelRatio = require("../responsive/get-size-according-to-pixel-ratio");
|
|
13
|
+
|
|
14
|
+
var generateImagesPath = function generateImagesPath(srcConfig) {
|
|
15
|
+
var container = srcConfig.container,
|
|
16
|
+
folder = srcConfig.folder,
|
|
17
|
+
apiVersion = srcConfig.apiVersion,
|
|
18
|
+
_srcConfig$filename = srcConfig.filename,
|
|
19
|
+
filename = _srcConfig$filename === void 0 ? '' : _srcConfig$filename,
|
|
20
|
+
ciParams = srcConfig.ciParams;
|
|
21
|
+
|
|
22
|
+
var _ref = ciParams || {},
|
|
23
|
+
ciToken = _ref.ciToken,
|
|
24
|
+
ciFilters = _ref.ciFilters,
|
|
25
|
+
ciTransformation = _ref.ciTransformation;
|
|
26
|
+
|
|
27
|
+
var src = "".concat(folder).concat(filename);
|
|
28
|
+
|
|
29
|
+
if (ciToken) {
|
|
30
|
+
var imageOffsetWidth = container.offsetWidth;
|
|
31
|
+
var vesrion = _falsyValues.FALSY_VALUES.indexOf(apiVersion) !== -1 ? null : apiVersion;
|
|
32
|
+
var finalApiVersion = vesrion ? "".concat(vesrion, "/") : '';
|
|
33
|
+
var ciSizeNext = (0, _getSizeAccordingToPixelRatio.getSizeAccordingToPixelRatio)((0, _getResponsiveWidthOfContainer.getResponsiveWidthOfContainer)(imageOffsetWidth));
|
|
34
|
+
src = "https://".concat(ciToken, ".cloudimg.io/").concat(finalApiVersion).concat(src, "?").concat(ciTransformation || "width=".concat(ciSizeNext)).concat(ciFilters ? "&f=".concat(ciFilters) : '');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return src;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.generateImagesPath = generateImagesPath;
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
generateImagesPath: true,
|
|
8
|
+
preloadImages: true,
|
|
9
|
+
preloadOriginalImages: true,
|
|
10
|
+
contain: true,
|
|
11
|
+
getCurrentOriginalImage: true,
|
|
12
|
+
magnify: true,
|
|
13
|
+
getSpeedFactor: true,
|
|
14
|
+
isCompletedOneCycle: true,
|
|
15
|
+
getContainerResponsiveWidth: true,
|
|
16
|
+
getContainerResponsiveHeight: true,
|
|
17
|
+
getMovingDirection: true,
|
|
18
|
+
initControls: true,
|
|
19
|
+
addClass: true,
|
|
20
|
+
removeClass: true,
|
|
21
|
+
getItemSkipped: true,
|
|
22
|
+
loop: true,
|
|
23
|
+
generateZoomInSteps: true,
|
|
24
|
+
generateZoomOutSteps: true,
|
|
25
|
+
updateHotspots: true,
|
|
26
|
+
createHotspots: true,
|
|
27
|
+
generateHotspotsConfigs: true,
|
|
28
|
+
isMouseOnHotspot: true,
|
|
29
|
+
hideHotspotsIcons: true
|
|
30
|
+
};
|
|
31
|
+
Object.defineProperty(exports, "addClass", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function get() {
|
|
34
|
+
return _addClass.addClass;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(exports, "contain", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
get: function get() {
|
|
40
|
+
return _contain.contain;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "createHotspots", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _createHotspots.createHotspots;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, "generateHotspotsConfigs", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function get() {
|
|
52
|
+
return _generateHotspotsConfigs.generateHotspotsConfigs;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, "generateImagesPath", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function get() {
|
|
58
|
+
return _generateImagesPath.generateImagesPath;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(exports, "generateZoomInSteps", {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
get: function get() {
|
|
64
|
+
return _generateZoomInSteps.generateZoomInSteps;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(exports, "generateZoomOutSteps", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function get() {
|
|
70
|
+
return _generateZoomOutSteps.generateZoomOutSteps;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
Object.defineProperty(exports, "getContainerResponsiveHeight", {
|
|
74
|
+
enumerable: true,
|
|
75
|
+
get: function get() {
|
|
76
|
+
return _getContainerResponsiveHeight.getContainerResponsiveHeight;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(exports, "getContainerResponsiveWidth", {
|
|
80
|
+
enumerable: true,
|
|
81
|
+
get: function get() {
|
|
82
|
+
return _getContainerResponsiveWidth.getContainerResponsiveWidth;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
Object.defineProperty(exports, "getCurrentOriginalImage", {
|
|
86
|
+
enumerable: true,
|
|
87
|
+
get: function get() {
|
|
88
|
+
return _getCurrentOriginalImage.getCurrentOriginalImage;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(exports, "getItemSkipped", {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function get() {
|
|
94
|
+
return _getItemSkipped.getItemSkipped;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
Object.defineProperty(exports, "getMovingDirection", {
|
|
98
|
+
enumerable: true,
|
|
99
|
+
get: function get() {
|
|
100
|
+
return _getMovingDirection.getMovingDirection;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(exports, "getSpeedFactor", {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
get: function get() {
|
|
106
|
+
return _getSpeedFactor.getSpeedFactor;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
Object.defineProperty(exports, "hideHotspotsIcons", {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function get() {
|
|
112
|
+
return _hideHotspotsIcons.hideHotspotsIcons;
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
Object.defineProperty(exports, "initControls", {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
get: function get() {
|
|
118
|
+
return _initControls.initControls;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
Object.defineProperty(exports, "isCompletedOneCycle", {
|
|
122
|
+
enumerable: true,
|
|
123
|
+
get: function get() {
|
|
124
|
+
return _isCompletedOneCycle.isCompletedOneCycle;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
Object.defineProperty(exports, "isMouseOnHotspot", {
|
|
128
|
+
enumerable: true,
|
|
129
|
+
get: function get() {
|
|
130
|
+
return _isMouseOnHotspot.isMouseOnHotspot;
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
Object.defineProperty(exports, "loop", {
|
|
134
|
+
enumerable: true,
|
|
135
|
+
get: function get() {
|
|
136
|
+
return _loop.loop;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
Object.defineProperty(exports, "magnify", {
|
|
140
|
+
enumerable: true,
|
|
141
|
+
get: function get() {
|
|
142
|
+
return _magnify.magnify;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
Object.defineProperty(exports, "preloadImages", {
|
|
146
|
+
enumerable: true,
|
|
147
|
+
get: function get() {
|
|
148
|
+
return _preloadImages.preloadImages;
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
Object.defineProperty(exports, "preloadOriginalImages", {
|
|
152
|
+
enumerable: true,
|
|
153
|
+
get: function get() {
|
|
154
|
+
return _preloadOriginalImages.preloadOriginalImages;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
Object.defineProperty(exports, "removeClass", {
|
|
158
|
+
enumerable: true,
|
|
159
|
+
get: function get() {
|
|
160
|
+
return _removeClass.removeClass;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
Object.defineProperty(exports, "updateHotspots", {
|
|
164
|
+
enumerable: true,
|
|
165
|
+
get: function get() {
|
|
166
|
+
return _updateHotspots.updateHotspots;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
var _generateImagesPath = require("./image-src/generate-images-path");
|
|
171
|
+
|
|
172
|
+
var _preloadImages = require("./load-images/preload-images");
|
|
173
|
+
|
|
174
|
+
var _preloadOriginalImages = require("./load-images/preload-original-images");
|
|
175
|
+
|
|
176
|
+
var _contain = require("./responsive/contain");
|
|
177
|
+
|
|
178
|
+
var _getCurrentOriginalImage = require("./magnify/get-current-original-image");
|
|
179
|
+
|
|
180
|
+
var _magnify = require("./magnify/magnify");
|
|
181
|
+
|
|
182
|
+
var _getSpeedFactor = require("./auto-play/get-speed-factor");
|
|
183
|
+
|
|
184
|
+
var _isCompletedOneCycle = require("./auto-play/is-completed-one-cycle");
|
|
185
|
+
|
|
186
|
+
var _getContainerResponsiveWidth = require("./responsive/get-container-responsive-width");
|
|
187
|
+
|
|
188
|
+
var _getContainerResponsiveHeight = require("./responsive/get-container-responsive-height");
|
|
189
|
+
|
|
190
|
+
var _getMovingDirection = require("./spin-y/get-moving-direction");
|
|
191
|
+
|
|
192
|
+
var _initControls = require("./controls/init-controls");
|
|
193
|
+
|
|
194
|
+
var _addClass = require("./common/add-class");
|
|
195
|
+
|
|
196
|
+
var _removeClass = require("./common/remove-class");
|
|
197
|
+
|
|
198
|
+
var _getItemSkipped = require("./controls/get-item-skipped");
|
|
199
|
+
|
|
200
|
+
var _containerElements = require("./container-elements");
|
|
201
|
+
|
|
202
|
+
Object.keys(_containerElements).forEach(function (key) {
|
|
203
|
+
if (key === "default" || key === "__esModule") return;
|
|
204
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
205
|
+
if (key in exports && exports[key] === _containerElements[key]) return;
|
|
206
|
+
Object.defineProperty(exports, key, {
|
|
207
|
+
enumerable: true,
|
|
208
|
+
get: function get() {
|
|
209
|
+
return _containerElements[key];
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
var _loop = require("./auto-play/loop");
|
|
215
|
+
|
|
216
|
+
var _generateZoomInSteps = require("./zoom/generate-zoom-in-steps");
|
|
217
|
+
|
|
218
|
+
var _generateZoomOutSteps = require("./zoom/generate-zoom-out-steps");
|
|
219
|
+
|
|
220
|
+
var _updateHotspots = require("./hotspot/update-hotspots");
|
|
221
|
+
|
|
222
|
+
var _createHotspots = require("./hotspot/elements/create-hotspots");
|
|
223
|
+
|
|
224
|
+
var _generateHotspotsConfigs = require("./hotspot/generate-hotspots-configs");
|
|
225
|
+
|
|
226
|
+
var _isMouseOnHotspot = require("./hotspot/is-mouse-on-hotspot");
|
|
227
|
+
|
|
228
|
+
var _hideHotspotsIcons = require("./hotspot/hide-hotspots-icons");
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.prepareImagesFromFolder = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _regex = require("../../../constants/regex");
|
|
13
|
+
|
|
14
|
+
var _pad = require("../pad");
|
|
15
|
+
|
|
16
|
+
var prepareImagesFromFolder = function prepareImagesFromFolder(imagesSrc, srcConfig) {
|
|
17
|
+
var _ref = srcConfig || {},
|
|
18
|
+
amount = _ref.amount,
|
|
19
|
+
indexZeroBase = _ref.indexZeroBase;
|
|
20
|
+
|
|
21
|
+
var resultSrc = [];
|
|
22
|
+
var originalSrc = [];
|
|
23
|
+
(0, _toConsumableArray2.default)(new Array(amount)).forEach(function (_item, index) {
|
|
24
|
+
var nextZeroFilledIndex = (0, _pad.pad)(index + 1, indexZeroBase);
|
|
25
|
+
var imageResultSrc = imagesSrc.replace('{index}', nextZeroFilledIndex);
|
|
26
|
+
var imageOriginalSrc = imageResultSrc.replace(_regex.ORGINAL_SIZE_REGEX, '').replace(_regex.AND_SYMBOL_REGEX, '?');
|
|
27
|
+
resultSrc.push(imageResultSrc);
|
|
28
|
+
originalSrc.push(imageOriginalSrc);
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
resultSrc: resultSrc,
|
|
32
|
+
originalSrc: originalSrc
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.prepareImagesFromFolder = prepareImagesFromFolder;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.prepareImagesFromList = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _generateImagesPath = require("../../image-src/generate-images-path");
|
|
13
|
+
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
|
|
18
|
+
var prepareImagesFromList = function prepareImagesFromList(images, srcConfig) {
|
|
19
|
+
var folder = srcConfig.folder;
|
|
20
|
+
var resultSrc = [];
|
|
21
|
+
var originalSrc = [];
|
|
22
|
+
images.forEach(function (src) {
|
|
23
|
+
var nextSrcConfig = _objectSpread({}, srcConfig);
|
|
24
|
+
|
|
25
|
+
nextSrcConfig.folder = /(http(s?)):\/\//gi.test(src) ? '' : folder;
|
|
26
|
+
nextSrcConfig.filename = src;
|
|
27
|
+
var lastIndex = resultSrc.lastIndexOf('//');
|
|
28
|
+
resultSrc.push((0, _generateImagesPath.generateImagesPath)(nextSrcConfig));
|
|
29
|
+
originalSrc.push(resultSrc.slice(lastIndex));
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
resultSrc: resultSrc,
|
|
33
|
+
originalSrc: originalSrc
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.prepareImagesFromList = prepareImagesFromList;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.loadImageAsPromise = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _orientations = require("../../constants/orientations");
|
|
15
|
+
|
|
16
|
+
var loadImageAsPromise = /*#__PURE__*/function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(src, index, srcConfig) {
|
|
18
|
+
var onImageLoadCallback,
|
|
19
|
+
_ref2,
|
|
20
|
+
lazyload,
|
|
21
|
+
lazySelector,
|
|
22
|
+
fullscreenView,
|
|
23
|
+
innerBox,
|
|
24
|
+
orientation,
|
|
25
|
+
image,
|
|
26
|
+
_args = arguments;
|
|
27
|
+
|
|
28
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
29
|
+
while (1) {
|
|
30
|
+
switch (_context.prev = _context.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
onImageLoadCallback = _args.length > 3 && _args[3] !== undefined ? _args[3] : function () {};
|
|
33
|
+
_ref2 = srcConfig || {}, lazyload = _ref2.lazyload, lazySelector = _ref2.lazySelector, fullscreenView = _ref2.fullscreenView, innerBox = _ref2.innerBox, orientation = _ref2.orientation;
|
|
34
|
+
image = new Image();
|
|
35
|
+
|
|
36
|
+
if (lazyload && !fullscreenView) {
|
|
37
|
+
image.setAttribute('data-src', src);
|
|
38
|
+
image.className = image.className.length ? "".concat(image.className, " ").concat(lazySelector) : lazySelector;
|
|
39
|
+
|
|
40
|
+
if (index === 0 && orientation !== _orientations.ORIENTATIONS.Y) {
|
|
41
|
+
image.style.position = 'absolute';
|
|
42
|
+
image.style.top = '0';
|
|
43
|
+
image.style.left = '0';
|
|
44
|
+
innerBox.appendChild(image);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
image.onload = function () {
|
|
48
|
+
return onImageLoadCallback(image, index);
|
|
49
|
+
};
|
|
50
|
+
} else {
|
|
51
|
+
image.src = src;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return _context.abrupt("return", new Promise(function (reslove) {
|
|
55
|
+
image.onload = function () {
|
|
56
|
+
onImageLoadCallback(image, index);
|
|
57
|
+
reslove(image);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
image.onerror = function () {
|
|
61
|
+
onImageLoadCallback(image, index);
|
|
62
|
+
reslove(image);
|
|
63
|
+
};
|
|
64
|
+
}));
|
|
65
|
+
|
|
66
|
+
case 5:
|
|
67
|
+
case "end":
|
|
68
|
+
return _context.stop();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}, _callee);
|
|
72
|
+
}));
|
|
73
|
+
|
|
74
|
+
return function loadImageAsPromise(_x, _x2, _x3) {
|
|
75
|
+
return _ref.apply(this, arguments);
|
|
76
|
+
};
|
|
77
|
+
}();
|
|
78
|
+
|
|
79
|
+
exports.loadImageAsPromise = loadImageAsPromise;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.loadImage = void 0;
|
|
7
|
+
|
|
8
|
+
var loadImage = function loadImage(src, index, srcConfig) {
|
|
9
|
+
var _ref = srcConfig || {},
|
|
10
|
+
lazyload = _ref.lazyload,
|
|
11
|
+
lazySelector = _ref.lazySelector,
|
|
12
|
+
fullscreenView = _ref.fullscreenView;
|
|
13
|
+
|
|
14
|
+
var image = new Image();
|
|
15
|
+
|
|
16
|
+
if (lazyload && !fullscreenView) {
|
|
17
|
+
image.setAttribute('data-src', src);
|
|
18
|
+
image.className = image.className.length ? "".concat(image.className, " ").concat(lazySelector) : lazySelector;
|
|
19
|
+
} else {
|
|
20
|
+
image.src = src;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return image;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.loadImage = loadImage;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.loadImagesRelativeToContainerSize = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _loadImageAsPromise = require("./load-image-as-promise");
|
|
15
|
+
|
|
16
|
+
var loadImagesRelativeToContainerSize = /*#__PURE__*/function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imagesSrcs, srcConfig, onImageLoadCallback) {
|
|
18
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
19
|
+
while (1) {
|
|
20
|
+
switch (_context2.prev = _context2.next) {
|
|
21
|
+
case 0:
|
|
22
|
+
_context2.next = 2;
|
|
23
|
+
return Promise.all(imagesSrcs.map( /*#__PURE__*/function () {
|
|
24
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(src, index) {
|
|
25
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
26
|
+
while (1) {
|
|
27
|
+
switch (_context.prev = _context.next) {
|
|
28
|
+
case 0:
|
|
29
|
+
_context.next = 2;
|
|
30
|
+
return (0, _loadImageAsPromise.loadImageAsPromise)(src, index, srcConfig, onImageLoadCallback);
|
|
31
|
+
|
|
32
|
+
case 2:
|
|
33
|
+
case "end":
|
|
34
|
+
return _context.stop();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, _callee);
|
|
38
|
+
}));
|
|
39
|
+
|
|
40
|
+
return function (_x4, _x5) {
|
|
41
|
+
return _ref2.apply(this, arguments);
|
|
42
|
+
};
|
|
43
|
+
}()));
|
|
44
|
+
|
|
45
|
+
case 2:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context2.stop();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, _callee2);
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
return function loadImagesRelativeToContainerSize(_x, _x2, _x3) {
|
|
54
|
+
return _ref.apply(this, arguments);
|
|
55
|
+
};
|
|
56
|
+
}();
|
|
57
|
+
|
|
58
|
+
exports.loadImagesRelativeToContainerSize = loadImagesRelativeToContainerSize;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.loadOriginalImages = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _loadImageAsPromise = require("./load-image-as-promise");
|
|
15
|
+
|
|
16
|
+
var loadOriginalImages = /*#__PURE__*/function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imagesSrcs, onImageLoadCallback) {
|
|
18
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
19
|
+
while (1) {
|
|
20
|
+
switch (_context2.prev = _context2.next) {
|
|
21
|
+
case 0:
|
|
22
|
+
_context2.next = 2;
|
|
23
|
+
return Promise.all(imagesSrcs.map( /*#__PURE__*/function () {
|
|
24
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(src, index) {
|
|
25
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
26
|
+
while (1) {
|
|
27
|
+
switch (_context.prev = _context.next) {
|
|
28
|
+
case 0:
|
|
29
|
+
_context.next = 2;
|
|
30
|
+
return (0, _loadImageAsPromise.loadImageAsPromise)(src, index, null, onImageLoadCallback);
|
|
31
|
+
|
|
32
|
+
case 2:
|
|
33
|
+
case "end":
|
|
34
|
+
return _context.stop();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}, _callee);
|
|
38
|
+
}));
|
|
39
|
+
|
|
40
|
+
return function (_x3, _x4) {
|
|
41
|
+
return _ref2.apply(this, arguments);
|
|
42
|
+
};
|
|
43
|
+
}()));
|
|
44
|
+
|
|
45
|
+
case 2:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context2.stop();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, _callee2);
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
return function loadOriginalImages(_x, _x2) {
|
|
54
|
+
return _ref.apply(this, arguments);
|
|
55
|
+
};
|
|
56
|
+
}();
|
|
57
|
+
|
|
58
|
+
exports.loadOriginalImages = loadOriginalImages;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.pad = void 0;
|
|
7
|
+
|
|
8
|
+
var pad = function pad(n) {
|
|
9
|
+
var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
10
|
+
n += '';
|
|
11
|
+
return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.pad = pad;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.preloadImages = void 0;
|
|
7
|
+
|
|
8
|
+
var _loadImagesRelativeToContainerSize = require("./load-images-relative-to-container-size");
|
|
9
|
+
|
|
10
|
+
var _prepareImagesFromFolder = require("./images-from-folder/prepare-images-from-folder");
|
|
11
|
+
|
|
12
|
+
var _prepareImagesFromList = require("./images-from-list/prepare-images-from-list");
|
|
13
|
+
|
|
14
|
+
/* eslint-disable no-console */
|
|
15
|
+
var preloadImages = function preloadImages(srcConfig, imagesSrc, onImageLoadCallback) {
|
|
16
|
+
var _ref = srcConfig || {},
|
|
17
|
+
imageList = _ref.imageList;
|
|
18
|
+
|
|
19
|
+
var imagesSets = {};
|
|
20
|
+
|
|
21
|
+
if (imageList) {
|
|
22
|
+
try {
|
|
23
|
+
var images = JSON.parse(imageList);
|
|
24
|
+
imagesSets = (0, _prepareImagesFromList.prepareImagesFromList)(images, srcConfig);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
console.error("Wrong format in image-list attribute: ".concat(error.message));
|
|
27
|
+
}
|
|
28
|
+
} else {
|
|
29
|
+
imagesSets = (0, _prepareImagesFromFolder.prepareImagesFromFolder)(imagesSrc, srcConfig);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var _ref2 = imagesSets || {},
|
|
33
|
+
resultSrc = _ref2.resultSrc;
|
|
34
|
+
|
|
35
|
+
(0, _loadImagesRelativeToContainerSize.loadImagesRelativeToContainerSize)(resultSrc, srcConfig, onImageLoadCallback);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.preloadImages = preloadImages;
|