diff --git a/masks/chat.html b/masks/chat.html
index 810586e..455346b 100755
--- a/masks/chat.html
+++ b/masks/chat.html
@@ -999,34 +999,39 @@ function toggleEditButton()
function editMessage()
{
let $Editable = $(this);
- if($Editable.prop('contenteditable') != 'true')
+ $Editable.prop('contenteditable', 'true').focus();
+
+ if($Editable.data('backup') == null)
{
$Editable
.data('backup', $Editable.text())
- .prop('contenteditable', 'true')
- .focus();
-
- $Editable.on('focusout keydown', function(e) {
- if(e.type == 'focusout' || e.which == 13) {
- e.preventDefault();
- $(this).prop('contenteditable', 'false');
- databap.getInfo
- (
- 'edit_message',
- function(asResult)
- {
- refresh_chat();
- $MsgInput.focus();
- },
- {message_id: $Editable.parents('p.U').data('id'), message: $Editable.text()},
- 'json',
- function(textStatus)
- {
- databap.showError(textStatus);
+ .on('focusout keydown', function(e) {
+ if(e.type == 'focusout' || e.which == 13) {
+ e.preventDefault();
+ var sOldMsg = $Editable.data('backup');
+ var sNewMsg = $Editable.text();
+ if(sOldMsg != sNewMsg) {
+ $Editable.data('backup', sNewMsg);
+ $Editable.prop('contenteditable', 'false');
+ databap.getInfo
+ (
+ 'edit_message',
+ function(asResult)
+ {
+ refresh_chat();
+ $MsgInput.focus();
+ },
+ {message_id: $Editable.parents('p.U').data('id'), message: sNewMsg},
+ 'json',
+ function(textStatus)
+ {
+ $Editable.data('backup', sOldMsg);
+ databap.showError(textStatus);
+ }
+ );
}
- );
- }
- });
+ }
+ });
}
}