Skip to content

Commit 7694180

Browse files
committed
deleteMessage
1 parent b8e9501 commit 7694180

File tree

3 files changed

+65
-3
lines changed

3 files changed

+65
-3
lines changed

services/static-webserver/client/source/class/osparc/conversation/MessageUI.js

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ qx.Class.define("osparc.conversation.MessageUI", {
109109
column: isMyMessage ? 0 : 2,
110110
});
111111
break;
112-
case "edit-options-menu-button": {
112+
case "menu-button": {
113113
const buttonSize = 22;
114114
control = new qx.ui.form.MenuButton().set({
115115
width: buttonSize,
@@ -164,8 +164,50 @@ qx.Class.define("osparc.conversation.MessageUI", {
164164
this.getChildControl("spacer");
165165

166166
if (this.self().isMyMessage(this.__message)) {
167-
this.getChildControl("edit-options-menu-button");
167+
const menuButton = this.getChildControl("menu-button");
168+
169+
const menu = new qx.ui.menu.Menu().set({
170+
position: "bottom-right",
171+
});
172+
menuButton.setMenu(menu);
173+
174+
const editButton = new qx.ui.menu.Button(this.tr("Edit..."));
175+
editButton.addListener("execute", () => this.__editMessage(), this);
176+
menu.add(editButton);
177+
178+
const deleteButton = new qx.ui.menu.Button(this.tr("Delete..."));
179+
deleteButton.addListener("execute", () => this.__deleteMessage(), this);
180+
menu.add(deleteButton);
168181
}
169-
}
182+
},
183+
184+
__editMessage: function() {
185+
const messageContent = this.getChildControl("message-content");
186+
const editDialog = new osparc.ui.dialog.EditMessageDialog(this.__message, messageContent.getValue());
187+
editDialog.addListener("messageEdited", e => {
188+
messageContent.setValue(e.getData());
189+
this.fireDataEvent("messageEdited", e.getData());
190+
});
191+
editDialog.open();
192+
},
193+
194+
__deleteMessage: function() {
195+
const win = new osparc.ui.window.Confirmation(this.tr("Delete message?")).set({
196+
caption: this.tr("Delete"),
197+
confirmText: this.tr("Delete"),
198+
confirmAction: "delete",
199+
});
200+
win.open();
201+
win.addListener("close", () => {
202+
if (win.getConfirmed()) {
203+
console.log(this.__message);
204+
osparc.study.Conversations.deleteMessage(this.__message["studyId"], this.__message["conversationId"], this.__message["messageId"])
205+
.then(data => {
206+
this.fireDataEvent("commentAdded", data);
207+
osparc.FlashMessenger.logAs(this.tr("Message deleted"), "INFO");
208+
});
209+
}
210+
});
211+
},
170212
}
171213
});

services/static-webserver/client/source/class/osparc/data/Resources.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,14 @@ qx.Class.define("osparc.data.Resources", {
332332
method: "POST",
333333
url: statics.API + "/projects/{studyId}/conversations/{conversationId}/messages"
334334
},
335+
editMessage: {
336+
method: "PUT",
337+
url: statics.API + "/projects/{studyId}/conversations/{conversationId}/messages/{messageId}"
338+
},
339+
deleteMessage: {
340+
method: "DELETE",
341+
url: statics.API + "/projects/{studyId}/conversations/{conversationId}/messages/{messageId}"
342+
},
335343
getMessagesPage: {
336344
method: "GET",
337345
url: statics.API + "/projects/{studyId}/conversations/{conversationId}/messages?offset={offset}&limit={limit}"

services/static-webserver/client/source/class/osparc/study/Conversations.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,18 @@ qx.Class.define("osparc.study.Conversations", {
9494
.catch(err => osparc.FlashMessenger.logError(err));
9595
},
9696

97+
deleteMessage: function(studyId, conversationId, messageId) {
98+
const params = {
99+
url: {
100+
studyId,
101+
conversationId,
102+
messageId,
103+
},
104+
};
105+
return osparc.data.Resources.fetch("conversations", "deleteMessage", params)
106+
.catch(err => osparc.FlashMessenger.logError(err));
107+
},
108+
97109
notifyUser: function(studyId, conversationId, userGroupId) {
98110
const params = {
99111
url: {

0 commit comments

Comments
 (0)