/* Show Grid Plugin */ (function () { var icon_html = '' + '' + '' + '' + ''; _cb.addHtml(icon_html); var css = ''; _cb.addCss(css); var button_html = ''; _cb.addButton('showgrid', button_html, '#btnShowGrid', function () { showGrid(); }); function showGrid() { // Get all editable areas const areas = document.querySelectorAll('.container'); Array.prototype.forEach.call(areas, function(area){ if(hasClass(area,'showgrid')){ removeClass(area, 'showgrid'); } else { addClass(area, 'showgrid'); } }); } function addClass(element, classname) { if(!element) return; if(hasClass(element,classname)) return; if(element.classList.length===0) element.className = classname; else element.className = element.className + ' ' + classname; element.className = element.className.replace(/ +/g, ' '); } function removeClass(element, classname) { if(!element) return; if(element.classList.length>0) { element.className = element.className.replace(new RegExp('\\b'+ classname+'\\b', 'g'), ''); element.className = element.className.replace(/ +/g, ' '); } } function hasClass(element, classname) { if(!element) return false; return element.classList ? element.classList.contains(classname) : new RegExp('\\b'+ classname+'\\b').test(element.className); } })();