| | |
| | | */ |
| | | window.getTemplate = function (template){ |
| | | if (window.templates.size === 0) { |
| | | loadTemplates(); |
| | | window.loadTemplates(); |
| | | } |
| | | if(window.templates.has(template)){ |
| | | return window.templates.get(template).cloneNode(true); |
| | |
| | | * @param icon |
| | | * @returns {Node | ActiveX.IXMLDOMNode} |
| | | */ |
| | | window.icon = document.querySelector('.icon').cloneNode(true); |
| | | window.icon.className = 'icon'; |
| | | window.getIcon = function getIcon(icon){ |
| | | window.icon = null; |
| | | window.getIcon = function getIcon(icon, style = ''){ |
| | | if (typeof icon === 'undefined') { |
| | | return ''; |
| | | } |
| | | console.log('Getting icon: '+icon); |
| | | |
| | | if (!window.icon) { |
| | | window.icon = document.createElement('i'); |
| | | window.icon.className = 'icon'; |
| | | window.icon.ariaHidden = true; |
| | | } |
| | | let theIcon = window.icon.cloneNode(true); |
| | | theIcon.classList.add('icon-'+icon); |
| | | if (style !== '' && ['regular', 'bold', 'duotone', 'fill', 'light', 'thin' ].includes('style')) { |
| | | style = `-${style.slice(0, 2)}`; |
| | | } else { |
| | | style = ''; |
| | | } |
| | | theIcon.classList.add(`icon-${icon}${style}`); |
| | | return theIcon; |
| | | |
| | | |
| | | if(!window.jvbIcons){ |
| | | window.jvbIcons = new Map(); |
| | | } |
| | | if(!window.jvbIcons.has(icon) && jvbSettings.icons[icon]){ |
| | | let temp = document.createElement('div'); |
| | | temp.innerHTML = jvbSettings.icons[icon]; |
| | | window.jvbIcons.set(icon, temp.firstElementChild.cloneNode(true)); |
| | | temp.remove(); |
| | | } |
| | | return window.jvbIcons.get(icon)?.cloneNode(true); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | window.targetCheck = function (e, selector) { |
| | | if (Array.isArray(selector)) { |
| | | selector = selector.join(','); |
| | | } |
| | | if (typeof selector !== 'string') { |
| | | return false; |
| | | } |