/*
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);
}
})();