/** Documentation : Icons **/ document.querySelectorAll('.doc-icon-preview').forEach(function(_t) { var vendor_path = _t.getAttribute('data-vendor-path') || 'assets/svg/icons/'; var vendor_webfont_prefix = _t.getAttribute('data-vendor-webfont-prefix') || 'fi fi-'; var vendor_available_list = _t.getAttribute('data-vendor-available') || 'img,svg,webfont'; vendor_available_list = vendor_available_list.replace(/ /gi, ''); vendor_available_list = vendor_available_list.split(','); console.log('Total Icons:', _t.querySelectorAll('li').length ); _t.querySelectorAll('li').forEach(function(el) { // ignore multiple bind -- -- -- -- -- -- -- -- -- if( el.classList.contains('icon-js') ) return; el.classList.add('icon-js'); // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- let svgItem = el.querySelector('.svg-wrapper>svg'); if( svgItem ) { // svgItem.removeAttribute('width'); // overwrite svgItem.setAttribute('height', '1.5em'); // overwrite svgItem.setAttribute('width', '1.5em'); // overwrite } let icon_name = el.getAttribute('data-icon'); // buttons let _btnTpl = ''; // -- -- -- if( vendor_available_list.indexOf('webfont') !== -1 ) _btnTpl += 'ICO'; if( vendor_available_list.indexOf('svg') !== -1 ) _btnTpl += 'SVG'; if( vendor_available_list.indexOf('img') !== -1 ) _btnTpl += 'IMG'; // -- -- -- _btnTpl += ''; el.insertAdjacentHTML( 'beforeend', _btnTpl ); // bind click el.querySelectorAll('.btn-opt-icon').forEach(function(btn) { btn.addEventListener('click', function(e) { e.preventDefault(); let icon_img = ''+icon_name+''; let icon_svg = el.querySelector('.svg-wrapper').innerHTML; // Image if( ( e.target.classList.contains('icon-img') ) ) { var icon = icon_img.trim().replace(/\/gi, '>'); // SVG } else { var icon = icon_svg.trim() .replace(/\>/gi, '>') .replace('pre').innerHTML = icon; }); }); }); }); /* Clipboard
  • ...
  • ... */ if( typeof ClipboardJS === 'function' ) { document.body.insertAdjacentHTML('beforeend', ''); var clipboard = new ClipboardJS('.btn-clipboard', { target: function (el) { let data_icon_prefix = el.getAttribute('data-icon-prefix'); let data_icon = el.getAttribute('data-icon'); let final_icon = data_icon_prefix + data_icon; // -- -- -- // fix 'fi fi-mdi-icon' => 'fi mdi-icon' final_icon = final_icon.replace('fi fi-mdi-', 'fi mdi-'); // alert(final_icon) // -- -- -- document.getElementById('clipboardCode').value = ''; return document.getElementById('clipboardCode'); } }); clipboard.on('success', function (e) { var clipboardTooltip = '
    Copied to clipboard
    '; document.body.insertAdjacentHTML('beforeend',clipboardTooltip); setTimeout(function () { var clipboardTooltipEl = document.getElementById('clipboardTooltip'); clipboardTooltipEl.parentNode.removeChild(clipboardTooltipEl); }, 1500); }); clipboard.on('error', function () { var clipboardTooltip = '
    ERROR
    '; document.body.insertAdjacentHTML('beforeend',clipboardTooltip); setTimeout(function () { var clipboardTooltipEl = document.getElementById('clipboardTooltip'); clipboardTooltipEl.parentNode.removeChild(clipboardTooltipEl); }, 2000); }); document.querySelectorAll('.btn-clipboard').forEach(function(item) { item.addEventListener('click', function(e) { e.preventDefault(); }); }); }