mirror of
https://github.com/kiwix/kiwix-js-pwa.git
synced 2025-09-09 12:19:46 -04:00
Create separate function for control icons
This commit is contained in:
parent
822ad0d1d2
commit
47d5d22775
@ -1688,28 +1688,7 @@ function attachKiwixPopoverDiv (ev, link, articleBaseUrl, dark) {
|
||||
div.appendChild(span);
|
||||
}
|
||||
// Programme the icons
|
||||
var breakout = function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
link.newcontainer = true;
|
||||
link.click();
|
||||
closePopover(div);
|
||||
}
|
||||
var closeIcon = currentDocument.getElementById('popcloseicon');
|
||||
var breakoutIcon = currentDocument.getElementById('popbreakouticon');
|
||||
// Register click event for full support
|
||||
closeIcon.addEventListener('mousedown', function () {
|
||||
closePopover(div);
|
||||
}, true);
|
||||
breakoutIcon.addEventListener('mousedown', breakout, true);
|
||||
// Register either pointerdown or touchstart if supported
|
||||
var eventName = window.PointerEvent ? 'pointerdown' : 'touchstart';
|
||||
closeIcon.addEventListener(eventName, function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
closePopover(div);
|
||||
}, true);
|
||||
breakoutIcon.addEventListener(eventName, breakout, true);
|
||||
addEventListenersToPopoverIcons(link, div, currentDocument);
|
||||
}).catch(function (err) {
|
||||
console.warn(err);
|
||||
// Remove the div
|
||||
@ -1721,6 +1700,38 @@ function attachKiwixPopoverDiv (ev, link, articleBaseUrl, dark) {
|
||||
}, 500);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds event listeners to the popover's control icons
|
||||
*
|
||||
* @param {Element} anchor The anchor which launched the popover
|
||||
* @param {Element} popover The containing element of the popover (div)
|
||||
* @param {Document} doc The doucment on which to operate
|
||||
*/
|
||||
function addEventListenersToPopoverIcons (anchor, popover, doc) {
|
||||
var breakout = function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
anchor.newcontainer = true;
|
||||
anchor.click();
|
||||
closePopover(popover);
|
||||
}
|
||||
var closeIcon = doc.getElementById('popcloseicon');
|
||||
var breakoutIcon = doc.getElementById('popbreakouticon');
|
||||
// Register click event for full support
|
||||
closeIcon.addEventListener('mousedown', function () {
|
||||
closePopover(popover);
|
||||
}, true);
|
||||
breakoutIcon.addEventListener('mousedown', breakout, true);
|
||||
// Register either pointerdown or touchstart if supported
|
||||
var eventName = window.PointerEvent ? 'pointerdown' : 'touchstart';
|
||||
closeIcon.addEventListener(eventName, function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
closePopover(popover);
|
||||
}, true);
|
||||
breakoutIcon.addEventListener(eventName, breakout, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove any preview popover DIVs
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user