TIconAUniversal = function(param) { return { html: ` BBBtextBBB`, objName: param.objName, blockName: param.blockName, elementName: param.elementName, elementType: param.elementType, title: param.title, text: param.text, char: param.char, getHtml: function(){ return this.html .replace(new RegExp('BBBobjNameBBB', 'gim'), this.objName) .replace(new RegExp('BBBblockNameBBB', 'gim'), this.blockName) .replace(new RegExp('BBBelementNameBBB', 'gim'), this.elementName) .replace(new RegExp('BBBelementObjBBB', 'gim'), this.objName) .replace(new RegExp('BBBtitleBBB', 'gim'), this.title) .replace(new RegExp('BBBtextBBB', 'gim'), this.text) .replace(new RegExp('BBBcharBBB', 'gim'), this.char) ; }, click: function(ev, t){ let e = new CustomEvent(this.blockName + 'IconClick', { bubbles: true, cancelable: true, composed: true, detail: { 'event': ev, 'blockName': this.blockName, 'elementName':this.elementName, 'elementType':this.elementType, 'element': t, }, }); document.dispatchEvent(e); }, }; };