Skip to content

Commit c549b29

Browse files
committed
mark conversations
1 parent 76b1bf6 commit c549b29

File tree

5 files changed

+38
-15
lines changed

5 files changed

+38
-15
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ qx.Class.define("osparc.conversation.MessageList", {
100100
if (conversation) {
101101
conversation.addListener("messageAdded", e => {
102102
const data = e.getData();
103-
this.__messageAdded(data);
103+
this._messageAdded(data);
104104
});
105105
conversation.addListener("messageDeleted", e => {
106106
const data = e.getData();
@@ -120,7 +120,7 @@ qx.Class.define("osparc.conversation.MessageList", {
120120
return;
121121
}
122122

123-
this.getConversation().getMessages().forEach(message => this.__messageAdded(message));
123+
this.getConversation().getMessages().forEach(message => this._messageAdded(message));
124124

125125
loadMoreMessages.show();
126126
loadMoreMessages.setFetching(true);
@@ -153,7 +153,7 @@ qx.Class.define("osparc.conversation.MessageList", {
153153
);
154154
},
155155

156-
__messageAdded: function(message) {
156+
_messageAdded: function(message) {
157157
// ignore it if it was already there
158158
const existingMessageUI = this.__getMessageUI(message.getMessageId());
159159
if (existingMessageUI) {

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,13 @@ qx.Class.define("osparc.data.model.Conversation", {
140140
if (conversationId === this.getConversationId()) {
141141
switch (eventName) {
142142
case this.self().CHANNELS.CONVERSATION_MESSAGE_CREATED:
143-
this.addMessage(messageData);
143+
this._addMessage(messageData);
144144
break;
145145
case this.self().CHANNELS.CONVERSATION_MESSAGE_UPDATED:
146-
this.updateMessage(messageData);
146+
this._updateMessage(messageData);
147147
break;
148148
case this.self().CHANNELS.CONVERSATION_MESSAGE_DELETED:
149-
this.deleteMessage(messageData);
149+
this._deleteMessage(messageData);
150150
break;
151151
}
152152
}
@@ -187,7 +187,7 @@ qx.Class.define("osparc.data.model.Conversation", {
187187
return promise
188188
.then(resp => {
189189
const messagesData = resp["data"];
190-
messagesData.forEach(messageData => this.addMessage(messageData));
190+
messagesData.forEach(messageData => this._addMessage(messageData));
191191
this.__nextRequestParams = resp["_links"]["next"];
192192
return resp;
193193
})
@@ -212,7 +212,7 @@ qx.Class.define("osparc.data.model.Conversation", {
212212
return this.__messages.some(msg => msg.getMessageId() === messageId);
213213
},
214214

215-
addMessage: function(messageData) {
215+
_addMessage: function(messageData) {
216216
let message = this.__messages.find(msg => msg.getMessageId() === messageData["messageId"]);
217217
if (!message) {
218218
message = new osparc.data.model.Message(messageData);
@@ -224,7 +224,7 @@ qx.Class.define("osparc.data.model.Conversation", {
224224
return message;
225225
},
226226

227-
updateMessage: function(messageData) {
227+
_updateMessage: function(messageData) {
228228
if (messageData) {
229229
const found = this.__messages.find(msg => msg.getMessageId() === messageData["messageId"]);
230230
if (found) {
@@ -234,7 +234,7 @@ qx.Class.define("osparc.data.model.Conversation", {
234234
}
235235
},
236236

237-
deleteMessage: function(messageData) {
237+
_deleteMessage: function(messageData) {
238238
if (messageData) {
239239
const found = this.__messages.find(msg => msg.getMessageId() === messageData["messageId"]);
240240
if (found) {

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,11 @@ qx.Class.define("osparc.data.model.ConversationSupport", {
181181
.catch(err => osparc.FlashMessenger.logError(err));
182182
},
183183

184-
addMessage: function(messageData) {
184+
// overriden
185+
_addMessage: function(messageData) {
185186
const message = this.base(arguments, messageData);
186187
this.__evalFirstAndLastMessage();
188+
187189
// mark conversation as unread if the message is from the other party
188190
const userGroupId = message.getUserGroupId();
189191
const myGroupId = osparc.auth.Data.getInstance().getGroupId();
@@ -197,12 +199,14 @@ qx.Class.define("osparc.data.model.ConversationSupport", {
197199
return message;
198200
},
199201

200-
updateMessage: function(messageData) {
202+
// overriden
203+
_updateMessage: function(messageData) {
201204
this.base(arguments, messageData);
202205
this.__evalFirstAndLastMessage();
203206
},
204207

205-
deleteMessage: function(messageData) {
208+
// overriden
209+
_deleteMessage: function(messageData) {
206210
this.base(arguments, messageData);
207211
this.__evalFirstAndLastMessage();
208212
},

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,22 @@ qx.Class.define("osparc.support.Conversation", {
133133
this.__evaluateShareProject();
134134
},
135135

136+
// overridden
137+
_messageAdded: function(message) {
138+
this.base(arguments, message);
139+
140+
// keep conversation read
141+
const conversation = this.getConversation();
142+
if (conversation) {
143+
if (osparc.store.Groups.getInstance().amIASupportUser()) {
144+
conversation.setReadBySupport(true);
145+
} else {
146+
conversation.setReadByUser(true);
147+
}
148+
console.log("marked as read:", message);
149+
}
150+
},
151+
136152
__postMessage: function(content) {
137153
const conversationId = this.getConversation().getConversationId();
138154
return osparc.store.ConversationsSupport.getInstance().postMessage(conversationId, content);

services/static-webserver/client/source/class/osparc/support/ConversationPage.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,14 @@ qx.Class.define("osparc.support.ConversationPage", {
6363
}
6464
case "back-button":
6565
control = new qx.ui.form.Button().set({
66-
toolTipText: this.tr("Return to Messages"),
66+
toolTipText: this.tr("Return to Conversations"),
6767
icon: "@FontAwesome5Solid/arrow-left/16",
6868
backgroundColor: "transparent"
6969
});
70-
control.addListener("execute", () => this.fireEvent("showConversations"));
70+
control.addListener("execute", () => {
71+
this.setConversation(null);
72+
this.fireEvent("showConversations");
73+
});
7174
this.getChildControl("conversation-header-layout").addAt(control, 0);
7275
break;
7376
case "conversation-header-center-layout":

0 commit comments

Comments
 (0)