mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-06-17 13:05:03 +00:00
79 lines
3.1 KiB
JavaScript
79 lines
3.1 KiB
JavaScript
function toolsManager() {
|
|
const convertToPDF = document.querySelector('#groupConvertTo');
|
|
const convertFromPDF = document.querySelector('#groupConvertFrom');
|
|
|
|
if (convertToPDF && convertFromPDF) {
|
|
const itemsTo = Array.from(convertToPDF.querySelectorAll('.dropdown-item')).filter(
|
|
(item) => !item.querySelector('hr.dropdown-divider')
|
|
);
|
|
const itemsFrom = Array.from(convertFromPDF.querySelectorAll('.dropdown-item')).filter(
|
|
(item) => !item.querySelector('hr.dropdown-divider')
|
|
);
|
|
|
|
const totalItems = itemsTo.length + itemsFrom.length;
|
|
|
|
if (totalItems > 12) {
|
|
document.querySelectorAll('#convertGroup').forEach((element) => (element.style.display = 'none'));
|
|
document.querySelectorAll('#groupConvertTo').forEach((element) => (element.style.display = 'flex'));
|
|
document.querySelectorAll('#groupConvertFrom').forEach((element) => (element.style.display = 'flex'));
|
|
} else {
|
|
document.querySelectorAll('#convertGroup').forEach((element) => (element.style.display = 'flex'));
|
|
document.querySelectorAll('#groupConvertTo').forEach((element) => (element.style.display = 'none'));
|
|
document.querySelectorAll('#groupConvertFrom').forEach((element) => (element.style.display = 'none'));
|
|
}
|
|
}
|
|
|
|
document.querySelectorAll('.navbar-item').forEach((element) => {
|
|
if (!element.closest('#stacked')) {
|
|
const dropdownItems = element.querySelectorAll('.dropdown-item');
|
|
const items = Array.from(dropdownItems).filter((item) => !item.querySelector('hr.dropdown-divider'));
|
|
|
|
if (items.length === 0) {
|
|
if (
|
|
element.previousElementSibling &&
|
|
element.previousElementSibling.classList.contains('navbar-item') &&
|
|
element.previousElementSibling.classList.contains('nav-item-separator')
|
|
) {
|
|
element.previousElementSibling.remove();
|
|
}
|
|
element.remove();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
window.tooltipSetup = () => {
|
|
const tooltipElements = document.querySelectorAll('[title]');
|
|
|
|
tooltipElements.forEach((element) => {
|
|
const tooltipText = element.getAttribute('title');
|
|
element.removeAttribute('title');
|
|
element.setAttribute('data-title', tooltipText);
|
|
const customTooltip = document.createElement('div');
|
|
customTooltip.className = 'btn-tooltip';
|
|
customTooltip.textContent = tooltipText;
|
|
|
|
document.body.appendChild(customTooltip);
|
|
|
|
element.addEventListener('mouseenter', (event) => {
|
|
customTooltip.style.display = 'block';
|
|
customTooltip.style.left = `${event.pageX + 10}px`; // Position tooltip slightly away from the cursor
|
|
customTooltip.style.top = `${event.pageY + 10}px`;
|
|
});
|
|
|
|
// Update the position of the tooltip as the user moves the mouse
|
|
element.addEventListener('mousemove', (event) => {
|
|
customTooltip.style.left = `${event.pageX + 10}px`;
|
|
customTooltip.style.top = `${event.pageY + 10}px`;
|
|
});
|
|
|
|
// Hide the tooltip when the mouse leaves
|
|
element.addEventListener('mouseleave', () => {
|
|
customTooltip.style.display = 'none';
|
|
});
|
|
});
|
|
};
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
tooltipSetup();
|
|
});
|