diff --git a/dev/css/sakai/sakai.base.css b/dev/css/sakai/sakai.base.css
index d793402ff42..8d7d24d8433 100644
--- a/dev/css/sakai/sakai.base.css
+++ b/dev/css/sakai/sakai.base.css
@@ -754,6 +754,7 @@ a.s3d-button {
}
.s3d-link-button:disabled {
cursor: default !important;
+ color: #999;
}
.s3d-link-button:focus {
box-shadow: none !important;
diff --git a/devwidgets/discussion/bundles/default.properties b/devwidgets/discussion/bundles/default.properties
index 483468f0c36..6be9e9e3220 100644
--- a/devwidgets/discussion/bundles/default.properties
+++ b/devwidgets/discussion/bundles/default.properties
@@ -7,12 +7,14 @@ ANYONE = Anyone
COLLAPSE_ALL = Collapse all
CONTACT_ADMINISTRATOR_FOR_INFORMATION = Contact the administrators for more information.
DELETED_BY = Deleted by
+DISCUSSION WIDGET = Discussion widget
DONT_ADD_TOPIC = Don't add topic
DONT_REPLY = Don't reply
EDIT = Edit
EDIT_YOUR_MESSAGE = Edit your message
EDITED_BY = Edited by
ENTER_YOUR_MESSAGE = Enter your message
+ERROR_NOT_CHANGEABLE = You can't modify anything in edit mode. Please save the document first.
EXPAND_ALL = Expand all
name = BBS
description = Bulletin Board System widget\r\n
diff --git a/devwidgets/discussion/discussion.html b/devwidgets/discussion/discussion.html
index 094e3598a2c..3f0098d07d6 100644
--- a/devwidgets/discussion/discussion.html
+++ b/devwidgets/discussion/discussion.html
@@ -129,7 +129,7 @@
{if settings.addtopic == true}
|
{/if}
-
+
{for topic in postData}
diff --git a/devwidgets/discussion/javascript/discussion.js b/devwidgets/discussion/javascript/discussion.js
index ad966259bd1..14b7a849b3e 100644
--- a/devwidgets/discussion/javascript/discussion.js
+++ b/devwidgets/discussion/javascript/discussion.js
@@ -120,6 +120,7 @@ require(["jquery", "sakai/sakai.api.core", "jquery-plugins/jquery.cookie"], func
var discussionEditContainer = ".discussion_edit_container";
var discussionDontSaveEdit = "#discussion_dont_save_edit";
var discussionSaveEdit = "#discussion_save_edit";
+ var discussionEditButtons = '#discussion_add_new_topic, .discussion_reply_topic, .discussion_quote, .discussion_edit';
// Delete
var discussionDelete = ".discussion_delete";
@@ -142,23 +143,30 @@ require(["jquery", "sakai/sakai.api.core", "jquery-plugins/jquery.cookie"], func
var $discussionHide = $("#discussion_i18n_hide", $rootel);
/**
- * Enables all edit mode buttons (reply, quote, edit, create new topic)
- */
+ * Show a message to the user that they can't change anything while in edit mode
+ */
+ var showNotChangeableMessage = function() {
+ sakai.api.Util.notification.show(sakai.api.i18n.getValueForKey('DISCUSSION WIDGET', 'discussion'),
+ sakai.api.i18n.getValueForKey('ERROR_NOT_CHANGEABLE', 'discussion'),
+ sakai.api.Util.notification.type.ERROR);
+ };
+
+ /**
+ * Enables all edit mode buttons (reply, quote, edit, create new topic)
+ */
var enableEditButtons = function() {
- $('#discussion_add_new_topic').removeAttr('disabled');
- $('.discussion_reply_topic').removeAttr('disabled');
- $('.discussion_quote,').removeAttr('disabled');
- $('.discussion_edit').removeAttr('disabled');
+ $(discussionEditButtons, $rootel)
+ .off('click', showNotChangeableMessage)
+ .removeAttr('disabled');
};
/**
- * Disables all edit mode buttons (reply, quote, edit, create new topic)
- */
+ * Disables all edit mode buttons (reply, quote, edit, create new topic)
+ */
var disableEditButtons = function() {
- $('#discussion_add_new_topic').attr('disabled', 'disabled');
- $('.discussion_reply_topic').attr('disabled', 'disabled');
- $('.discussion_quote,').attr('disabled', 'disabled');
- $('.discussion_edit').attr('disabled', 'disabled');
+ $(discussionEditButtons, $rootel)
+ .on('click', showNotChangeableMessage)
+ .attr('disabled', 'disabled');
};
var continueInit = function(){
@@ -347,7 +355,7 @@ require(["jquery", "sakai/sakai.api.core", "jquery-plugins/jquery.cookie"], func
"sakai": sakai
}, $(discussionNoInitialTopic, $rootel));
$(discussionNoInitialTopic, $rootel).show();
- if ($($rootel.parents('.contentauthoring_edit_mode')).length) {
+ if ($rootel.parents('.contentauthoring_edit_mode').length) {
disableEditButtons();
}
}