class CommunicationPage { /** * @param {string} syncRoute */ constructor(syncRoute) { this.syncRoute = syncRoute; this.uploadBox = new UploadBoxWidget('marketing-form', false); app.addWidget('UploadBox', this.uploadBox); this.initialize(); } initialize() { document.addEventListener("DOMContentLoaded", () => { document.addEventListener('click', this.onClick.bind(this)) }); } /** * @param {PointerEvent} event */ onClick(event) { let target = event.target let element; if ((element = target.closest("[data-action='remove']"))) { console.log(element.dataset); if (element.dataset.id === 'logo') { document.querySelector('[data-id="logoImg"]').remove(); document.getElementById('logo').value = ''; } } if (target.closest('[data-action="enable"]')) { this.switchEnable(); } if (target.closest('[data-action="disable"]')) { this.switchEnable(); } } switchEnable() { AjaxForm.post(null, this.syncRoute, "enable=true"); } }