Skip to content

Commit 66b4b32

Browse files
committed
refactor
1 parent 260f056 commit 66b4b32

File tree

4 files changed

+53
-36
lines changed

4 files changed

+53
-36
lines changed

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,8 @@ qx.Class.define("osparc.conversation.Conversation", {
262262
}
263263
},
264264

265-
deleteMessage: function(messageId) {
266-
const messageIndex = this.__messages.findIndex(msg => msg["messageId"] === messageId);
265+
deleteMessage: function(message) {
266+
const messageIndex = this.__messages.findIndex(msg => msg["messageId"] === message["messageId"]);
267267
if (messageIndex !== -1) {
268268
this.__messages.splice(messageIndex, 1);
269269

@@ -272,5 +272,14 @@ qx.Class.define("osparc.conversation.Conversation", {
272272
console.log(this.__messagesList.getChildren());
273273
}
274274
},
275+
276+
updateMessage: function(message) {
277+
this.__messagesList.getChildren().forEach(control => {
278+
if ("getMessage" in control && control.getMessage()["messageId"] === message["messageId"]) {
279+
control.setMessage(message);
280+
return;
281+
}
282+
});
283+
},
275284
}
276285
});

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

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,15 @@ qx.Class.define("osparc.conversation.MessageUI", {
2727
this.base(arguments);
2828

2929
this.__studyData = studyData;
30-
this.set({
31-
message,
32-
});
3330

34-
const isMyMessage = this.self().isMyMessage(message);
3531
const layout = new qx.ui.layout.Grid(12, 4);
3632
layout.setColumnFlex(1, 1); // content
37-
layout.setColumnFlex(isMyMessage ? 0 : 2, 3); // spacer
3833
this._setLayout(layout);
3934
this.setPadding(5);
4035

41-
this.__buildLayout();
36+
this.set({
37+
message,
38+
});
4239
},
4340

4441
statics: {
@@ -57,6 +54,7 @@ qx.Class.define("osparc.conversation.MessageUI", {
5754
check: "Object",
5855
init: null,
5956
nullable: false,
57+
apply: "__applyMessage",
6058
},
6159
},
6260

@@ -148,20 +146,25 @@ qx.Class.define("osparc.conversation.MessageUI", {
148146
return control || this.base(arguments, id);
149147
},
150148

151-
__buildLayout: function() {
149+
__applyMessage: function(message) {
150+
this._removeAll();
151+
152+
const isMyMessage = this.self().isMyMessage(message);
153+
this._getLayout().setColumnFlex(isMyMessage ? 0 : 2, 3); // spacer
154+
152155
const thumbnail = this.getChildControl("thumbnail");
153156

154157
const userName = this.getChildControl("user-name");
155158

156-
const date = new Date(this.getMessage()["modified"]);
159+
const date = new Date(message["modified"]);
157160
const date2 = osparc.utils.Utils.formatDateAndTime(date);
158161
const lastUpdate = this.getChildControl("last-updated");
159162
lastUpdate.setValue(date2);
160163

161164
const messageContent = this.getChildControl("message-content");
162-
messageContent.setValue(this.getMessage()["content"]);
165+
messageContent.setValue(message["content"]);
163166

164-
osparc.store.Users.getInstance().getUser(this.getMessage()["userGroupId"])
167+
osparc.store.Users.getInstance().getUser(message["userGroupId"])
165168
.then(user => {
166169
if (user) {
167170
thumbnail.setSource(user.getThumbnail());
@@ -178,7 +181,7 @@ qx.Class.define("osparc.conversation.MessageUI", {
178181

179182
this.getChildControl("spacer");
180183

181-
if (this.self().isMyMessage(this.getMessage())) {
184+
if (this.self().isMyMessage(message)) {
182185
const menuButton = this.getChildControl("menu-button");
183186

184187
const menu = new qx.ui.menu.Menu().set({
@@ -197,7 +200,9 @@ qx.Class.define("osparc.conversation.MessageUI", {
197200
},
198201

199202
__editMessage: function() {
200-
const addMessage = new osparc.conversation.AddMessage(this.__studyData, this.getMessage()["conversationId"], this.getMessage());
203+
const message = this.getMessage();
204+
205+
const addMessage = new osparc.conversation.AddMessage(this.__studyData, message["conversationId"], message);
201206
const title = this.tr("Edit message");
202207
const win = osparc.ui.window.Window.popUpInWindow(addMessage, title, 570, 135).set({
203208
clickAwayClose: false,
@@ -211,6 +216,8 @@ qx.Class.define("osparc.conversation.MessageUI", {
211216
},
212217

213218
__deleteMessage: function() {
219+
const message = this.getMessage();
220+
214221
const win = new osparc.ui.window.Confirmation(this.tr("Delete message?")).set({
215222
caption: this.tr("Delete"),
216223
confirmText: this.tr("Delete"),
@@ -219,7 +226,7 @@ qx.Class.define("osparc.conversation.MessageUI", {
219226
win.open();
220227
win.addListener("close", () => {
221228
if (win.getConfirmed()) {
222-
osparc.study.Conversations.deleteMessage(this.getMessage()["projectId"], this.getMessage()["conversationId"], this.getMessage()["messageId"])
229+
osparc.study.Conversations.deleteMessage(message)
223230
.then(() => this.fireEvent("messageDeleted"))
224231
.catch(err => osparc.FlashMessenger.logError(err));
225232
}

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

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,24 @@ qx.Class.define("osparc.conversation.NotificationUI", {
2525
construct: function(message) {
2626
this.base(arguments);
2727

28-
this.set({
29-
message,
30-
});
31-
3228
const isMyMessage = osparc.conversation.MessageUI.isMyMessage(message);
3329
const layout = new qx.ui.layout.Grid(4, 4);
3430
layout.setColumnFlex(isMyMessage ? 0 : 3, 3); // spacer
3531
layout.setRowAlign(0, "center", "middle");
3632
this._setLayout(layout);
3733
this.setPadding(5);
3834

39-
this.__buildLayout();
35+
this.set({
36+
message,
37+
});
4038
},
4139

4240
properties: {
4341
message: {
4442
check: "Object",
4543
init: null,
4644
nullable: false,
45+
apply: "__applyMessage",
4746
},
4847
},
4948

@@ -95,19 +94,21 @@ qx.Class.define("osparc.conversation.NotificationUI", {
9594
return control || this.base(arguments, id);
9695
},
9796

98-
__buildLayout: function() {
97+
__applyMessage: function(message) {
98+
this._removeAll();
99+
99100
this.getChildControl("thumbnail-spacer");
100101

101-
const isMyMessage = osparc.conversation.MessageUI.isMyMessage(this.getMessage());
102+
const isMyMessage = osparc.conversation.MessageUI.isMyMessage(message);
102103

103-
const modifiedDate = new Date(this.getMessage()["modified"]);
104+
const modifiedDate = new Date(message["modified"]);
104105
const date = osparc.utils.Utils.formatDateAndTime(modifiedDate);
105106
const lastUpdate = this.getChildControl("last-updated");
106107
lastUpdate.setValue(isMyMessage ? date + " -" : " - " + date);
107108

108109
const messageContent = this.getChildControl("message-content");
109-
const notifierUserGroupId = parseInt(this.getMessage()["userGroupId"]);
110-
const notifiedUserGroupId = parseInt(this.getMessage()["content"]);
110+
const notifierUserGroupId = parseInt(message["userGroupId"]);
111+
const notifiedUserGroupId = parseInt(message["content"]);
111112
let msgContent = "🔔 ";
112113
Promise.all([
113114
osparc.store.Users.getInstance().getUser(notifierUserGroupId),

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

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@ qx.Class.define("osparc.study.Conversations", {
113113
.catch(err => osparc.FlashMessenger.logError(err));
114114
},
115115

116-
deleteMessage: function(studyId, conversationId, messageId) {
116+
deleteMessage: function(message) {
117117
const params = {
118118
url: {
119-
studyId,
120-
conversationId,
121-
messageId,
119+
studyId: message["projectId"],
120+
conversationId: message["conversationId"],
121+
messageId: message["messageId"],
122122
},
123123
};
124124
return osparc.data.Resources.fetch("conversations", "deleteMessage", params)
@@ -170,21 +170,21 @@ qx.Class.define("osparc.study.Conversations", {
170170
"conversation:message:update",
171171
"conversation:message:deleted",
172172
].forEach(eventName => {
173-
socket.on(eventName, data => {
174-
console.log("Conversation message", eventName, data);
175-
if (data) {
176-
const conversationId = data["conversationId"];
173+
socket.on(eventName, message => {
174+
console.log("Conversation message", eventName, message);
175+
if (message) {
176+
const conversationId = message["conversationId"];
177177
const conversation = this.__getConversation(conversationId);
178178
if (conversation) {
179179
switch (eventName) {
180180
case "conversation:message:created":
181-
conversation.addMessage(data);
181+
conversation.addMessage(message);
182182
break;
183183
case "conversation:message:update":
184-
conversation.updateMessage(data);
184+
conversation.updateMessage(message);
185185
break;
186186
case "conversation:message:deleted":
187-
conversation.deleteMessage(data);
187+
conversation.deleteMessage(message);
188188
break;
189189
}
190190
}

0 commit comments

Comments
 (0)