@@ -6,8 +6,9 @@ jQuery(document).ready(function($) {
6
6
// Hide it if they leave the area without typing
7
7
$ ( 'div.CommentForm textarea' ) . blur ( function ( ev ) {
8
8
var Comment = $ ( ev . target ) . val ( ) ;
9
+ var textArea = $ ( ev . target ) ;
9
10
if ( ! Comment || Comment == '' )
10
- $ ( 'a.Cancel' ) . hide ( ) ;
11
+ $ ( textArea ) . closest ( 'a.Cancel' ) . hide ( ) ;
11
12
} ) ;
12
13
13
14
// Reveal the textarea and hide previews.
@@ -33,6 +34,7 @@ jQuery(document).ready(function($) {
33
34
var textbox = $ ( frm ) . find ( 'textarea' ) ;
34
35
var inpCommentID = $ ( frm ) . find ( 'input:hidden[name$=CommentID]' ) ;
35
36
var inpDraftID = $ ( frm ) . find ( 'input:hidden[name$=DraftID]' ) ;
37
+ var maxCommentLength = $ ( frm ) . find ( 'input:hidden[name$=MaxCommentLength]' ) ;
36
38
var type = 'Post' ;
37
39
var preview = $ ( btn ) . hasClass ( 'PreviewButton' ) ;
38
40
var defaultValues = [
@@ -48,6 +50,34 @@ jQuery(document).ready(function($) {
48
50
return false ;
49
51
}
50
52
}
53
+
54
+ var editorContainer = $ ( frm ) . find ( '.EasyMDEContainer' ) ;
55
+ var messageContainer = $ ( frm ) . find ( '.editor-statusbar .message' ) ;
56
+
57
+ var currentVal = $ ( textbox ) . val ( ) ;
58
+ if ( defaultValues . includes ( currentVal ) || currentVal . trim ( ) . length == 0 ) {
59
+ $ ( editorContainer ) . addClass ( 'error' ) ;
60
+ $ ( messageContainer ) . text ( 'Cannot post an empty message' ) ;
61
+ $ ( frm ) . find ( ':submit' ) . attr ( 'disabled' , 'disabled' ) ;
62
+ $ ( frm ) . find ( '.Buttons a.Button:not(.Cancel)' ) . addClass ( 'Disabled' ) ;
63
+ return false ;
64
+ }
65
+
66
+
67
+ if ( currentVal . length > maxCommentLength . val ( ) ) {
68
+ $ ( editorContainer ) . addClass ( 'error' ) ;
69
+ var count = currentVal . length - maxCommentLength . val ( ) ;
70
+ $ ( messageContainer ) . text ( 'Comment is ' + count + ' characters too long' ) ;
71
+ $ ( frm ) . find ( ':submit' ) . attr ( 'disabled' , 'disabled' ) ;
72
+ $ ( frm ) . find ( '.Buttons a.Button:not(.Cancel)' ) . addClass ( 'Disabled' ) ;
73
+ return false ;
74
+ }
75
+
76
+ $ ( editorContainer ) . removeClass ( 'error' ) ;
77
+ $ ( messageContainer ) . text ( '' ) ;
78
+ $ ( frm ) . find ( ':submit' ) . removeAttr ( "disabled" ) ;
79
+ $ ( frm ) . find ( '.Buttons a.Button' ) . removeClass ( 'Disabled' ) ;
80
+
51
81
var draft = $ ( btn ) . hasClass ( 'DraftButton' ) ;
52
82
if ( draft ) {
53
83
var currentVal = $ ( textbox ) . val ( )
0 commit comments