From 527f0a838cfa6fe95f924dc24f3ce8b0979f96d7 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Fri, 3 Apr 2020 18:43:23 +0200 Subject: [PATCH] Can request to delete an emoji --- assets/js/components/settings/interface.js | 17 ++++++++++-- assets/js/pages/settings/sections/emojis.js | 30 +++++++++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/assets/js/components/settings/interface.js b/assets/js/components/settings/interface.js index 9d3223d2..a67f10b6 100644 --- a/assets/js/components/settings/interface.js +++ b/assets/js/components/settings/interface.js @@ -4,7 +4,7 @@ * @author Pierre HUBERT */ -ComunicWeb.components.settings.interface = { +const SettingsInterface = { /** * Get general account settings @@ -175,4 +175,17 @@ ComunicWeb.components.settings.interface = { }) }) }, -} \ No newline at end of file + + /** + * Delete a custom emoji + * + * @param {Number} id The ID of the emoji to delete + */ + deleteEmoji: async function(id) { + await api("settings/delete_custom_emoji", { + emojiID: id + }, true); + }, +} + +ComunicWeb.components.settings.interface = SettingsInterface; \ No newline at end of file diff --git a/assets/js/pages/settings/sections/emojis.js b/assets/js/pages/settings/sections/emojis.js index d72ade0c..6781d73a 100644 --- a/assets/js/pages/settings/sections/emojis.js +++ b/assets/js/pages/settings/sections/emojis.js @@ -72,10 +72,36 @@ class EmojiesSection { line.innerHTML += "" + - ""+e.shorcut+"" + ""+e.shorcut+"" + // Add delete button + const deleteBtnTarget = line.querySelector("td:last-of-type") + const deleteButtonLink = createElem2({ + appendTo: deleteBtnTarget, + type: "a", + innerHTML: "" + }); + + deleteButtonLink.addEventListener("click", () => { + + ComunicWeb.common.messages.confirm("Do you really want to delete this emoji ?", async (confirm) => { + if(!confirm) + return; + + try { + await SettingsInterface.deleteEmoji(e.id) + + this.RefreshList(target); + } catch(e) { + console.error(e); + notify("Could not delete emoji!", "danger") + } + + }) + + }) } } catch (error) { @@ -179,7 +205,7 @@ class EmojiesSection { fd.append("shorcut", shorcut) fd.append("image", associatedImage.files[0]) - await ComunicWeb.components.settings.interface.uploadEmoji(fd) + await SettingsInterface.uploadEmoji(fd) cb()