class DocumentPage { /** * @param {string} type * @param {string} editLink * @param {string} deleteLink */ constructor(type, editLink, deleteLink) { this.type = type; this.editLink = editLink; this.deleteLink = deleteLink; this.initialize(); } initialize() { document.addEventListener("DOMContentLoaded", () => { document.addEventListener('click', this.onClick.bind(this)); }); } onClick(event) { let target = event.target; let element; if ((element = target.closest('[data-modal-remote-signing]'))) { Commons.showModal('remoteSigning' + this.type) return; } if ((element = target.closest('[data-modal-send-mail]'))) { Commons.showModal('sendMail') return; } if ((element = target.closest('[data-document-edit]'))) { this.editItem(element.dataset.id); return; } if ((element = target.closest('[data-document-delete]'))) { this.deleteItem(element.dataset.id); return; } } /** * @param {string} id */ editItem(id) { location.href = this.editLink.replace('ID', id); } /** * @param {string} id */ deleteItem(id) { app.needConfirmationClickOnURL(this.deleteLink.replace('ID', id)); } }