js-cloudimage-360-view 2.7.9 → 2.7.12
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 +14 -0
- package/README.md +3 -4
- package/dist/ci360.service.js +77 -64
- package/dist/ci360.utils.js +4 -2
- package/dist/index.js +27 -18
- package/dist/static/css/hotspots.css +5 -3
- package/dist/static/css/style.css +107 -0
- package/dist/utils/hotspots/attach-events/hide-popup.js +15 -0
- package/dist/utils/hotspots/attach-events/show-popup.js +14 -0
- package/dist/utils/hotspots/elements/create-hotspot-icon.js +37 -12
- package/dist/utils/hotspots/elements/create-hotspots.js +7 -2
- package/dist/utils/hotspots/get-hotspot-popup-node.js +1 -8
- package/dist/utils/hotspots/toggle-popup-events.js +23 -0
- package/dist/utils/hotspots/update-hotspots.js +2 -15
- package/dist/utils/index.js +9 -0
- package/dist/utils/load-images/images-from-folder/prepare-images-from-folder.js +10 -12
- package/dist/utils/load-images/images-from-list/prepare-images-from-list.js +9 -11
- package/dist/utils/load-images/lazyload/init-lazyload.js +49 -0
- package/dist/utils/load-images/lazyload/prepare-first-image/prepare-first-image-from-folder.js +18 -0
- package/dist/utils/load-images/lazyload/prepare-first-image/prepare-first-image-from-list.js +29 -0
- package/dist/utils/load-images/load-image-as-promise.js +12 -37
- package/dist/utils/load-images/load-images-relative-to-container-size.js +4 -4
- package/dist/utils/load-images/load-original-images.js +2 -2
- package/dist/utils/load-images/preload-images.js +5 -8
- package/dist/utils/load-images/preload-original-images.js +5 -8
- package/dist/utils/responsive/get-image-aspect-ratio.js +1 -1
- package/package.json +1 -1
- package/dist/utils/hotspots/attach-popup-events.js +0 -63
- package/dist/utils/load-images/load-image.js +0 -26
|
@@ -5,34 +5,59 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createHotspotIcon = void 0;
|
|
7
7
|
|
|
8
|
+
var _hidePopup = require("../attach-events/hide-popup");
|
|
9
|
+
|
|
10
|
+
var _showPopup = require("../attach-events/show-popup");
|
|
11
|
+
|
|
8
12
|
var _hideHotspotIcon = require("../hide-hotspot-icon");
|
|
9
13
|
|
|
10
|
-
var createHotspotIcon = function createHotspotIcon(container, hotspotConfig) {
|
|
14
|
+
var createHotspotIcon = function createHotspotIcon(container, hotspotConfig, popup, popperInstance) {
|
|
11
15
|
var indicatorSelector = hotspotConfig.indicatorSelector,
|
|
12
16
|
variant = hotspotConfig.variant;
|
|
13
17
|
var url = variant.url,
|
|
14
18
|
anchorId = variant.anchorId;
|
|
19
|
+
var _hotspotConfig$popupP = hotspotConfig.popupProps.open,
|
|
20
|
+
open = _hotspotConfig$popupP === void 0 ? false : _hotspotConfig$popupP;
|
|
21
|
+
var isVisible;
|
|
15
22
|
var hotspotIcon = document.createElement('div');
|
|
16
|
-
|
|
17
|
-
var mouseEnterHotspot = function mouseEnterHotspot() {
|
|
18
|
-
hotspotIcon.setAttribute('data-cloudimage-360-show', '');
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
var mouseLeaveHotspot = function mouseLeaveHotspot() {
|
|
22
|
-
hotspotIcon.removeAttribute('data-cloudimage-360-show');
|
|
23
|
-
};
|
|
24
|
-
|
|
25
23
|
hotspotIcon.style.position = 'absolute';
|
|
26
24
|
hotspotIcon.className = "cloudimage-360-hotspot-".concat(url ? 'link' : 'custom', "-icon ").concat(indicatorSelector);
|
|
27
25
|
hotspotIcon.setAttribute('data-hotspot-icon-id', anchorId);
|
|
28
26
|
hotspotIcon.setAttribute('data-cloudimage-360-hotspot', '');
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
|
|
28
|
+
var popupMouseEnter = function popupMouseEnter() {
|
|
29
|
+
isVisible = true;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
var popupMouseLeave = function popupMouseLeave() {
|
|
33
|
+
isVisible = false;
|
|
34
|
+
!open && (0, _hidePopup.hidePopup)(popup, isVisible);
|
|
35
|
+
};
|
|
31
36
|
|
|
32
37
|
hotspotIcon.onclick = function (e) {
|
|
33
38
|
return e.stopPropagation();
|
|
34
39
|
};
|
|
35
40
|
|
|
41
|
+
var showEvents = ['mouseenter', 'touchstart', 'focus'];
|
|
42
|
+
var hideEvents = ['mouseleave', 'blur'];
|
|
43
|
+
showEvents.forEach(function (event) {
|
|
44
|
+
hotspotIcon.addEventListener(event, function () {
|
|
45
|
+
return (0, _showPopup.showPopup)(popup, popperInstance);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
if (!open) {
|
|
50
|
+
hideEvents.forEach(function (event) {
|
|
51
|
+
hotspotIcon.addEventListener(event, function () {
|
|
52
|
+
return setTimeout(function () {
|
|
53
|
+
return (0, _hidePopup.hidePopup)(popup, isVisible);
|
|
54
|
+
}, 160);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
popup.addEventListener('mouseenter', popupMouseEnter);
|
|
60
|
+
popup.addEventListener('mouseleave', popupMouseLeave);
|
|
36
61
|
(0, _hideHotspotIcon.hideHotspotIcon)(hotspotIcon);
|
|
37
62
|
container.appendChild(hotspotIcon);
|
|
38
63
|
return hotspotIcon;
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createHotspots = void 0;
|
|
7
7
|
|
|
8
|
+
var _createPopperInstace = require("../create-popper-instace");
|
|
9
|
+
|
|
8
10
|
var _createHotspotIcon = require("./create-hotspot-icon");
|
|
9
11
|
|
|
10
12
|
var _createPopup = require("./create-popup");
|
|
@@ -12,8 +14,11 @@ var _createPopup = require("./create-popup");
|
|
|
12
14
|
var createHotspots = function createHotspots(container, hotspotsProps) {
|
|
13
15
|
hotspotsProps.forEach(function (hotspotProps) {
|
|
14
16
|
var popupProps = hotspotProps.popupProps;
|
|
15
|
-
(0, _createPopup.createPopup)(container, hotspotProps, popupProps);
|
|
16
|
-
(0,
|
|
17
|
+
var popup = (0, _createPopup.createPopup)(container, hotspotProps, popupProps);
|
|
18
|
+
var popperInstance = (0, _createPopperInstace.createPopperInstance)(popup, popupProps, container);
|
|
19
|
+
var hotspotIcon = (0, _createHotspotIcon.createHotspotIcon)(container, hotspotProps, popup, popperInstance);
|
|
20
|
+
popperInstance.state.elements.reference = hotspotIcon;
|
|
21
|
+
popperInstance.update();
|
|
17
22
|
});
|
|
18
23
|
};
|
|
19
24
|
|
|
@@ -5,16 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getHotspotPopupNode = void 0;
|
|
7
7
|
|
|
8
|
-
var getHotspotPopupNode = function getHotspotPopupNode(anchorId
|
|
8
|
+
var getHotspotPopupNode = function getHotspotPopupNode(anchorId) {
|
|
9
9
|
var hotspotPopupSelector = "[data-hotspot-popup-id=".concat(anchorId, "]");
|
|
10
10
|
var hotspotPopup = document.querySelector(hotspotPopupSelector);
|
|
11
|
-
|
|
12
|
-
if (open && currentPosition) {
|
|
13
|
-
hotspotPopup.setAttribute('data-show', '');
|
|
14
|
-
} else {
|
|
15
|
-
hotspotPopup.removeAttribute('data-show');
|
|
16
|
-
}
|
|
17
|
-
|
|
18
11
|
return hotspotPopup;
|
|
19
12
|
};
|
|
20
13
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.togglePopupEvents = void 0;
|
|
7
|
+
|
|
8
|
+
var _ci = require("../../ci360.utils");
|
|
9
|
+
|
|
10
|
+
var _getHotspotIcon = require("./get-hotspot-icon");
|
|
11
|
+
|
|
12
|
+
var togglePopupEvents = function togglePopupEvents(hotspotsProps, event, isMouseDown) {
|
|
13
|
+
var iClickOnHotspotIcon = event && (0, _ci.isTrue)(event.target, 'data-cloudimage-360-hotspot');
|
|
14
|
+
if (iClickOnHotspotIcon) return;
|
|
15
|
+
hotspotsProps.forEach(function (hotspotProps) {
|
|
16
|
+
var variant = hotspotProps.variant;
|
|
17
|
+
var anchorId = variant.anchorId;
|
|
18
|
+
var hotspotIcon = (0, _getHotspotIcon.getHotspotIcon)(anchorId);
|
|
19
|
+
hotspotIcon.style.pointerEvents = isMouseDown ? 'none' : 'all';
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.togglePopupEvents = togglePopupEvents;
|
|
@@ -5,12 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.updateHotspots = void 0;
|
|
7
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
8
|
var _prepareHotspotsPositions = require("./prepare-hotspots-positions");
|
|
15
9
|
|
|
16
10
|
var _getHotspotIcon = require("./get-hotspot-icon");
|
|
@@ -26,25 +20,18 @@ var updateHotspots = function updateHotspots(container, hotspotsProps) {
|
|
|
26
20
|
var activeImageY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
27
21
|
var movingDirection = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'x-axis';
|
|
28
22
|
hotspotsProps.forEach(function (hotspotProps) {
|
|
29
|
-
var
|
|
30
|
-
hotspots = hotspotProps.hotspots,
|
|
23
|
+
var hotspots = hotspotProps.hotspots,
|
|
31
24
|
initialDimensions = hotspotProps.initialDimensions,
|
|
32
25
|
orientation = hotspotProps.orientation,
|
|
33
26
|
variant = hotspotProps.variant;
|
|
27
|
+
var anchorId = variant.anchorId;
|
|
34
28
|
var hotspotOriantaion = (0, _getHotspotOrientation.getHotspotOriantaion)(movingDirection);
|
|
35
29
|
var currentImageIndex = orientation === 'x' ? activeImageX : activeImageY;
|
|
36
|
-
var open = popupProps.open;
|
|
37
|
-
var anchorId = variant.anchorId;
|
|
38
30
|
var hotspotsPositions = (0, _prepareHotspotsPositions.prepareHotspotsPositions)(hotspots);
|
|
39
31
|
var currentPosition = hotspotsPositions.find(function (hotspotPosition) {
|
|
40
32
|
return hotspotPosition.imageIndex === currentImageIndex;
|
|
41
33
|
});
|
|
42
|
-
var popup = (0, _getHotspotPopupNode.getHotspotPopupNode)(anchorId, open, currentPosition);
|
|
43
34
|
var hotspotIcon = (0, _getHotspotIcon.getHotspotIcon)(anchorId);
|
|
44
|
-
var popperInstance = (0, _createPopperInstace.createPopperInstance)(popup, popupProps, container);
|
|
45
|
-
popperInstance.state.elements.reference = hotspotIcon;
|
|
46
|
-
popperInstance.update();
|
|
47
|
-
(0, _attachPopupEvents.attachPopupEvents)(hotspotIcon, popup, popperInstance, open);
|
|
48
35
|
|
|
49
36
|
if (currentPosition && hotspotOriantaion === orientation) {
|
|
50
37
|
var _currentPosition$xCoo = currentPosition.xCoord,
|
package/dist/utils/index.js
CHANGED
|
@@ -8,6 +8,7 @@ var _exportNames = {
|
|
|
8
8
|
generateImagesPath: true,
|
|
9
9
|
preloadImages: true,
|
|
10
10
|
preloadOriginalImages: true,
|
|
11
|
+
initLazyload: true,
|
|
11
12
|
contain: true,
|
|
12
13
|
getImageAspectRatio: true,
|
|
13
14
|
getCurrentOriginalImage: true,
|
|
@@ -112,6 +113,12 @@ Object.defineProperty(exports, "initControls", {
|
|
|
112
113
|
return _initControls.initControls;
|
|
113
114
|
}
|
|
114
115
|
});
|
|
116
|
+
Object.defineProperty(exports, "initLazyload", {
|
|
117
|
+
enumerable: true,
|
|
118
|
+
get: function get() {
|
|
119
|
+
return _initLazyload.initLazyload;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
115
122
|
Object.defineProperty(exports, "isCompletedOneCycle", {
|
|
116
123
|
enumerable: true,
|
|
117
124
|
get: function get() {
|
|
@@ -175,6 +182,8 @@ var _preloadImages = require("./load-images/preload-images");
|
|
|
175
182
|
|
|
176
183
|
var _preloadOriginalImages = require("./load-images/preload-original-images");
|
|
177
184
|
|
|
185
|
+
var _initLazyload = require("./load-images/lazyload/init-lazyload");
|
|
186
|
+
|
|
178
187
|
var _contain = require("./responsive/contain");
|
|
179
188
|
|
|
180
189
|
var _getImageAspectRatio = require("./responsive/get-image-aspect-ratio");
|
|
@@ -13,24 +13,22 @@ var _regex = require("../../../constants/regex");
|
|
|
13
13
|
|
|
14
14
|
var _pad = require("../pad");
|
|
15
15
|
|
|
16
|
-
var prepareImagesFromFolder = function prepareImagesFromFolder(imagesSrc, srcConfig) {
|
|
16
|
+
var prepareImagesFromFolder = function prepareImagesFromFolder(imagesSrc, srcConfig, loadOriginalImages) {
|
|
17
17
|
var _ref = srcConfig || {},
|
|
18
18
|
amount = _ref.amount,
|
|
19
19
|
indexZeroBase = _ref.indexZeroBase;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
var originalSrc = [];
|
|
23
|
-
(0, _toConsumableArray2.default)(new Array(amount)).forEach(function (_item, index) {
|
|
21
|
+
return (0, _toConsumableArray2.default)(new Array(amount)).map(function (_item, index) {
|
|
24
22
|
var nextZeroFilledIndex = (0, _pad.pad)(index + 1, indexZeroBase);
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
var imageSrc = imagesSrc.replace('{index}', nextZeroFilledIndex);
|
|
24
|
+
|
|
25
|
+
if (loadOriginalImages) {
|
|
26
|
+
var imageOriginalSrc = imageSrc.replace(_regex.ORGINAL_SIZE_REGEX, '').replace(_regex.AND_SYMBOL_REGEX, '?');
|
|
27
|
+
return imageOriginalSrc;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return imageSrc;
|
|
29
31
|
});
|
|
30
|
-
return {
|
|
31
|
-
resultSrc: resultSrc,
|
|
32
|
-
originalSrc: originalSrc
|
|
33
|
-
};
|
|
34
32
|
};
|
|
35
33
|
|
|
36
34
|
exports.prepareImagesFromFolder = prepareImagesFromFolder;
|
|
@@ -15,23 +15,21 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
15
15
|
|
|
16
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
17
|
|
|
18
|
-
var prepareImagesFromList = function prepareImagesFromList(images, srcConfig) {
|
|
18
|
+
var prepareImagesFromList = function prepareImagesFromList(images, srcConfig, loadOriginalImages) {
|
|
19
19
|
var folder = srcConfig.folder;
|
|
20
|
-
|
|
21
|
-
var originalSrc = [];
|
|
22
|
-
images.forEach(function (src) {
|
|
20
|
+
return images.map(function (src) {
|
|
23
21
|
var nextSrcConfig = _objectSpread({}, srcConfig);
|
|
24
22
|
|
|
25
23
|
nextSrcConfig.folder = /(http(s?)):\/\//gi.test(src) ? '' : folder;
|
|
26
24
|
nextSrcConfig.filename = src;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
|
|
26
|
+
if (loadOriginalImages) {
|
|
27
|
+
var lastIndex = resultSrc.lastIndexOf('//');
|
|
28
|
+
return resultSrc.slice(lastIndex);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return (0, _generateImagesPath.generateImagesPath)(nextSrcConfig);
|
|
30
32
|
});
|
|
31
|
-
return {
|
|
32
|
-
resultSrc: resultSrc,
|
|
33
|
-
originalSrc: originalSrc
|
|
34
|
-
};
|
|
35
33
|
};
|
|
36
34
|
|
|
37
35
|
exports.prepareImagesFromList = prepareImagesFromList;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.initLazyload = void 0;
|
|
7
|
+
|
|
8
|
+
var _prepareFirstImageFromFolder = require("./prepare-first-image/prepare-first-image-from-folder");
|
|
9
|
+
|
|
10
|
+
var _prepareFirstImageFromList = require("./prepare-first-image/prepare-first-image-from-list");
|
|
11
|
+
|
|
12
|
+
var initLazyload = function initLazyload(imagesSrc, srcConfig, cb) {
|
|
13
|
+
var _ref = srcConfig || {},
|
|
14
|
+
imageList = _ref.imageList,
|
|
15
|
+
lazySelector = _ref.lazySelector,
|
|
16
|
+
innerBox = _ref.innerBox;
|
|
17
|
+
|
|
18
|
+
var firstImageSrc;
|
|
19
|
+
|
|
20
|
+
if (imageList) {
|
|
21
|
+
try {
|
|
22
|
+
var images = JSON.parse(imageList);
|
|
23
|
+
firstImageSrc = (0, _prepareFirstImageFromList.prepareFirstImageFromList)(images, srcConfig);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
console.error("Wrong format in image-list attribute: ".concat(error.message));
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
firstImageSrc = (0, _prepareFirstImageFromFolder.prepareFirstImageFromFolder)(imagesSrc, srcConfig);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var image = new Image();
|
|
32
|
+
image.setAttribute('data-src', firstImageSrc);
|
|
33
|
+
image.style.position = 'absolute';
|
|
34
|
+
image.style.top = 0;
|
|
35
|
+
image.style.left = 0;
|
|
36
|
+
image.style.width = '100%';
|
|
37
|
+
image.style.maxWidth = '100%';
|
|
38
|
+
image.style.maxHeight = '100%';
|
|
39
|
+
if (lazySelector) image.className = lazySelector;
|
|
40
|
+
innerBox.appendChild(image);
|
|
41
|
+
|
|
42
|
+
if (cb) {
|
|
43
|
+
image.onload = function () {
|
|
44
|
+
return cb(image);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
exports.initLazyload = initLazyload;
|
package/dist/utils/load-images/lazyload/prepare-first-image/prepare-first-image-from-folder.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.prepareFirstImageFromFolder = void 0;
|
|
7
|
+
|
|
8
|
+
var _pad = require("../../pad");
|
|
9
|
+
|
|
10
|
+
var prepareFirstImageFromFolder = function prepareFirstImageFromFolder(imagesSrcs, srcConfig) {
|
|
11
|
+
var _ref = srcConfig || {},
|
|
12
|
+
indexZeroBase = _ref.indexZeroBase;
|
|
13
|
+
|
|
14
|
+
var nextZeroFilledIndex = (0, _pad.pad)(1, indexZeroBase);
|
|
15
|
+
return imagesSrcs.replace('{index}', nextZeroFilledIndex);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.prepareFirstImageFromFolder = prepareFirstImageFromFolder;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.prepareFirstImageFromList = 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 prepareFirstImageFromList = function prepareFirstImageFromList(images, srcConfig) {
|
|
19
|
+
var folder = srcConfig.folder;
|
|
20
|
+
var firstImageSrc = images[0];
|
|
21
|
+
|
|
22
|
+
var nextSrcConfig = _objectSpread({}, srcConfig);
|
|
23
|
+
|
|
24
|
+
nextSrcConfig.folder = /(http(s?)):\/\//gi.test(firstImageSrc) ? '' : folder;
|
|
25
|
+
nextSrcConfig.filename = firstImageSrc;
|
|
26
|
+
return (0, _generateImagesPath.generateImagesPath)(nextSrcConfig);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.prepareFirstImageFromList = prepareFirstImageFromList;
|
|
@@ -11,59 +11,34 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
-
var _orientations = require("../../constants/orientations");
|
|
15
|
-
|
|
16
14
|
var loadImageAsPromise = /*#__PURE__*/function () {
|
|
17
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(src, index,
|
|
18
|
-
var
|
|
19
|
-
_ref2,
|
|
20
|
-
lazyload,
|
|
21
|
-
lazySelector,
|
|
22
|
-
fullscreenView,
|
|
23
|
-
innerBox,
|
|
24
|
-
orientation,
|
|
25
|
-
image,
|
|
26
|
-
_args = arguments;
|
|
27
|
-
|
|
15
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(src, index, cb) {
|
|
16
|
+
var image;
|
|
28
17
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
29
18
|
while (1) {
|
|
30
19
|
switch (_context.prev = _context.next) {
|
|
31
20
|
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
21
|
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
|
-
|
|
22
|
+
image.src = src;
|
|
54
23
|
return _context.abrupt("return", new Promise(function (reslove) {
|
|
55
24
|
image.onload = function () {
|
|
56
|
-
onImageLoadCallback(image, index);
|
|
57
25
|
reslove(image);
|
|
26
|
+
|
|
27
|
+
if (cb) {
|
|
28
|
+
cb(image, index);
|
|
29
|
+
}
|
|
58
30
|
};
|
|
59
31
|
|
|
60
32
|
image.onerror = function () {
|
|
61
|
-
onImageLoadCallback(image, index);
|
|
62
33
|
reslove(image);
|
|
34
|
+
|
|
35
|
+
if (cb) {
|
|
36
|
+
cb(image, index);
|
|
37
|
+
}
|
|
63
38
|
};
|
|
64
39
|
}));
|
|
65
40
|
|
|
66
|
-
case
|
|
41
|
+
case 3:
|
|
67
42
|
case "end":
|
|
68
43
|
return _context.stop();
|
|
69
44
|
}
|
|
@@ -14,7 +14,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
14
14
|
var _loadImageAsPromise = require("./load-image-as-promise");
|
|
15
15
|
|
|
16
16
|
var loadImagesRelativeToContainerSize = /*#__PURE__*/function () {
|
|
17
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imagesSrcs,
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imagesSrcs, cb) {
|
|
18
18
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
19
19
|
while (1) {
|
|
20
20
|
switch (_context2.prev = _context2.next) {
|
|
@@ -27,7 +27,7 @@ var loadImagesRelativeToContainerSize = /*#__PURE__*/function () {
|
|
|
27
27
|
switch (_context.prev = _context.next) {
|
|
28
28
|
case 0:
|
|
29
29
|
_context.next = 2;
|
|
30
|
-
return (0, _loadImageAsPromise.loadImageAsPromise)(src, index,
|
|
30
|
+
return (0, _loadImageAsPromise.loadImageAsPromise)(src, index, cb);
|
|
31
31
|
|
|
32
32
|
case 2:
|
|
33
33
|
case "end":
|
|
@@ -37,7 +37,7 @@ var loadImagesRelativeToContainerSize = /*#__PURE__*/function () {
|
|
|
37
37
|
}, _callee);
|
|
38
38
|
}));
|
|
39
39
|
|
|
40
|
-
return function (
|
|
40
|
+
return function (_x3, _x4) {
|
|
41
41
|
return _ref2.apply(this, arguments);
|
|
42
42
|
};
|
|
43
43
|
}()));
|
|
@@ -50,7 +50,7 @@ var loadImagesRelativeToContainerSize = /*#__PURE__*/function () {
|
|
|
50
50
|
}, _callee2);
|
|
51
51
|
}));
|
|
52
52
|
|
|
53
|
-
return function loadImagesRelativeToContainerSize(_x, _x2
|
|
53
|
+
return function loadImagesRelativeToContainerSize(_x, _x2) {
|
|
54
54
|
return _ref.apply(this, arguments);
|
|
55
55
|
};
|
|
56
56
|
}();
|
|
@@ -14,7 +14,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
14
14
|
var _loadImageAsPromise = require("./load-image-as-promise");
|
|
15
15
|
|
|
16
16
|
var loadOriginalImages = /*#__PURE__*/function () {
|
|
17
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imagesSrcs,
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(imagesSrcs, cb) {
|
|
18
18
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
19
19
|
while (1) {
|
|
20
20
|
switch (_context2.prev = _context2.next) {
|
|
@@ -27,7 +27,7 @@ var loadOriginalImages = /*#__PURE__*/function () {
|
|
|
27
27
|
switch (_context.prev = _context.next) {
|
|
28
28
|
case 0:
|
|
29
29
|
_context.next = 2;
|
|
30
|
-
return (0, _loadImageAsPromise.loadImageAsPromise)(src, index,
|
|
30
|
+
return (0, _loadImageAsPromise.loadImageAsPromise)(src, index, cb);
|
|
31
31
|
|
|
32
32
|
case 2:
|
|
33
33
|
case "end":
|
|
@@ -12,27 +12,24 @@ var _prepareImagesFromFolder = require("./images-from-folder/prepare-images-from
|
|
|
12
12
|
var _prepareImagesFromList = require("./images-from-list/prepare-images-from-list");
|
|
13
13
|
|
|
14
14
|
/* eslint-disable no-console */
|
|
15
|
-
var preloadImages = function preloadImages(srcConfig, imagesSrc,
|
|
15
|
+
var preloadImages = function preloadImages(srcConfig, imagesSrc, cb) {
|
|
16
16
|
var _ref = srcConfig || {},
|
|
17
17
|
imageList = _ref.imageList;
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var imagesSrcs = [];
|
|
20
20
|
|
|
21
21
|
if (imageList) {
|
|
22
22
|
try {
|
|
23
23
|
var images = JSON.parse(imageList);
|
|
24
|
-
|
|
24
|
+
imagesSrcs = (0, _prepareImagesFromList.prepareImagesFromList)(images, srcConfig);
|
|
25
25
|
} catch (error) {
|
|
26
26
|
console.error("Wrong format in image-list attribute: ".concat(error.message));
|
|
27
27
|
}
|
|
28
28
|
} else {
|
|
29
|
-
|
|
29
|
+
imagesSrcs = (0, _prepareImagesFromFolder.prepareImagesFromFolder)(imagesSrc, srcConfig);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
resultSrc = _ref2.resultSrc;
|
|
34
|
-
|
|
35
|
-
(0, _loadImagesRelativeToContainerSize.loadImagesRelativeToContainerSize)(resultSrc, srcConfig, onImageLoadCallback);
|
|
32
|
+
(0, _loadImagesRelativeToContainerSize.loadImagesRelativeToContainerSize)(imagesSrcs, cb);
|
|
36
33
|
};
|
|
37
34
|
|
|
38
35
|
exports.preloadImages = preloadImages;
|
|
@@ -12,27 +12,24 @@ var _prepareImagesFromList = require("./images-from-list/prepare-images-from-lis
|
|
|
12
12
|
var _loadOriginalImages = require("./load-original-images");
|
|
13
13
|
|
|
14
14
|
/* eslint-disable no-console */
|
|
15
|
-
var preloadOriginalImages = function preloadOriginalImages(srcConfig, imagesSrc,
|
|
15
|
+
var preloadOriginalImages = function preloadOriginalImages(srcConfig, imagesSrc, cb) {
|
|
16
16
|
var _ref = srcConfig || {},
|
|
17
17
|
imageList = _ref.imageList;
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var imagesSrcs = [];
|
|
20
20
|
|
|
21
21
|
if (imageList) {
|
|
22
22
|
try {
|
|
23
23
|
var images = JSON.parse(imageList);
|
|
24
|
-
|
|
24
|
+
imagesSrcs = (0, _prepareImagesFromList.prepareImagesFromList)(images, srcConfig, true);
|
|
25
25
|
} catch (error) {
|
|
26
26
|
console.error("Wrong format in image-list attribute: ".concat(error.message));
|
|
27
27
|
}
|
|
28
28
|
} else {
|
|
29
|
-
|
|
29
|
+
imagesSrcs = (0, _prepareImagesFromFolder.prepareImagesFromFolder)(imagesSrc, srcConfig, true);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
originalSrc = _ref2.originalSrc;
|
|
34
|
-
|
|
35
|
-
(0, _loadOriginalImages.loadOriginalImages)(originalSrc, onImageLoadCallback);
|
|
32
|
+
(0, _loadOriginalImages.loadOriginalImages)(imagesSrcs, cb);
|
|
36
33
|
};
|
|
37
34
|
|
|
38
35
|
exports.preloadOriginalImages = preloadOriginalImages;
|
|
@@ -17,7 +17,7 @@ var getImageAspectRatio = function getImageAspectRatio(image, providedRatio) {
|
|
|
17
17
|
imageAspectRatio = providedRatio;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
if ((0, _typeof2.default)(providedRatio) === 'object') {
|
|
20
|
+
if (providedRatio && (0, _typeof2.default)(providedRatio) === 'object') {
|
|
21
21
|
var mediaQueries = Object.keys(providedRatio).sort(function (a, b) {
|
|
22
22
|
return a - b;
|
|
23
23
|
});
|
package/package.json
CHANGED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.attachPopupEvents = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
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 attachPopupEvents = function attachPopupEvents(reference, popper, popperInstance, open) {
|
|
19
|
-
if (open) return;
|
|
20
|
-
var showEvents = ['mouseenter', 'touchstart', 'focus'];
|
|
21
|
-
var hideEvents = ['mouseleave', 'blur'];
|
|
22
|
-
var isVisible;
|
|
23
|
-
|
|
24
|
-
var showPopup = function showPopup() {
|
|
25
|
-
popper.setAttribute('data-show', '');
|
|
26
|
-
popper.setAttribute('data-cloudimage-360-show', '');
|
|
27
|
-
popperInstance.update();
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
var hidePopup = function hidePopup() {
|
|
31
|
-
setTimeout(function () {
|
|
32
|
-
if (!isVisible) {
|
|
33
|
-
popper.removeAttribute('data-show');
|
|
34
|
-
popper.removeAttribute('data-cloudimage-360-show');
|
|
35
|
-
popperInstance.setOptions(function (options) {
|
|
36
|
-
return _objectSpread(_objectSpread({}, options), {}, {
|
|
37
|
-
modifiers: [].concat((0, _toConsumableArray2.default)(options.modifiers), [{
|
|
38
|
-
name: 'eventListeners',
|
|
39
|
-
enabled: false
|
|
40
|
-
}])
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
} else {
|
|
44
|
-
isVisible = false;
|
|
45
|
-
}
|
|
46
|
-
}, 160);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
var keepPopupShown = function keepPopupShown() {
|
|
50
|
-
isVisible = true;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
showEvents.forEach(function (event) {
|
|
54
|
-
reference.addEventListener(event, showPopup);
|
|
55
|
-
});
|
|
56
|
-
hideEvents.forEach(function (event) {
|
|
57
|
-
reference.addEventListener(event, hidePopup);
|
|
58
|
-
});
|
|
59
|
-
popper.addEventListener('mouseenter', keepPopupShown);
|
|
60
|
-
popper.addEventListener('mouseleave', hidePopup);
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
exports.attachPopupEvents = attachPopupEvents;
|