diff --git a/src/main/webapp/app/WebSocket.js b/src/main/webapp/app/WebSocket.js index 627ddc3c3364e5c26fbadd43b0733d26b88fded7..fb1cf49f13df48bb87db42274632d7afeac2b909 100644 --- a/src/main/webapp/app/WebSocket.js +++ b/src/main/webapp/app/WebSocket.js @@ -239,6 +239,11 @@ Ext.define('ARSnova.WebSocket', { this.socket.emit("readInterposedQuestion", question.getData()); }, + readFreetextAnswer: function (answer) { + console.debug("Socket.IO.emit: readFreetextAnswer", answer._id); + this.socket.emit("readFreetextAnswer", answer._id); + }, + setLearningProgressOptions: function (data) { console.debug("Socket.IO.emit: setLearningProgressOptions", data); this.socket.emit("setLearningProgressOptions", data); diff --git a/src/main/webapp/app/controller/Questions.js b/src/main/webapp/app/controller/Questions.js index b98d7ece8ad6e3bd95dec06b120d5f1120759d93..b38faa03d7f4ff1ece97c848371e09a09b01ddf9 100644 --- a/src/main/webapp/app/controller/Questions.js +++ b/src/main/webapp/app/controller/Questions.js @@ -308,6 +308,11 @@ Ext.define("ARSnova.controller.Questions", { answer: options.answer }); + if (ARSnova.app.isSessionOwner && options.answer.read === false) { + options.answer.read = true; + ARSnova.app.socket.readFreetextAnswer(options.answer); + } + mainTabPanel.animateActiveItem(freetextDetailAnswerPanel, { type: 'slide', direction: 'left', diff --git a/src/main/webapp/app/view/FreetextAnswerPanel.js b/src/main/webapp/app/view/FreetextAnswerPanel.js index 0fdd1e0fb5a752ef34bdffdb75b37e26d23b220c..db8cac57bd5565e2ea948502b1407077862630c0 100644 --- a/src/main/webapp/app/view/FreetextAnswerPanel.js +++ b/src/main/webapp/app/view/FreetextAnswerPanel.js @@ -155,11 +155,23 @@ Ext.define('ARSnova.view.FreetextAnswerPanel', { }, itemCls: 'forwardListButton', - itemTpl: [ + // Display unread answers for teachers only + itemTpl: Ext.create('Ext.XTemplate', '
', - '{formattedTime}{answerSubject:htmlEncode}', - '
' - ], + '{formattedTime}', + '', + '{answerSubject:htmlEncode}', + '', + '', + '{answerSubject:htmlEncode}', + '', + '', + { + isStudent: function () { + return ARSnova.app.isSessionOwner !== true; + } + } + ), grouped: true, deferEmptyText: false, diff --git a/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js b/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js index 14ef9fca7da890315cee24feb1f6fd8b63ea6bef..864fdc3bf6fea542681d3bfd33cef691f120e71d 100644 --- a/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js +++ b/src/main/webapp/app/view/speaker/QuestionDetailsPanel.js @@ -47,7 +47,8 @@ Ext.define('FreetextAnswer', { 'sessionId', 'type', '_rev', - 'answerThumbnailImage' + 'answerThumbnailImage', + 'read' ] } });