ep_comments_page 11.0.26 → 11.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/static/tests/frontend-new/helper/comments.ts +188 -0
- package/static/tests/frontend-new/specs/commentDelete.spec.ts +57 -0
- package/static/tests/frontend-new/specs/commentEdit.spec.ts +113 -0
- package/static/tests/frontend-new/specs/commentIcons.spec.ts +131 -0
- package/static/tests/frontend-new/specs/commentReply.spec.ts +92 -0
- package/static/tests/frontend-new/specs/commentSuggestion.spec.ts +97 -0
- package/static/tests/frontend-new/specs/comment_l10n.spec.ts +63 -0
- package/static/tests/frontend-new/specs/comment_settings.spec.ts +47 -0
- package/static/tests/frontend-new/specs/newComment.spec.ts +25 -0
- package/static/tests/frontend-new/specs/preCommentMark.spec.ts +123 -0
- package/static/tests/frontend-new/specs/timeFormat.spec.ts +244 -0
- package/static/tests/frontend-new/specs/xcommentCopyPaste.spec.ts +29 -0
- package/static/tests/frontend/specs/commentDelete.js +0 -146
- package/static/tests/frontend/specs/commentEdit.js +0 -291
- package/static/tests/frontend/specs/commentIcons.js +0 -298
- package/static/tests/frontend/specs/commentReply.js +0 -200
- package/static/tests/frontend/specs/commentSuggestion.js +0 -100
- package/static/tests/frontend/specs/comment_l10n.js +0 -141
- package/static/tests/frontend/specs/comment_settings.js +0 -132
- package/static/tests/frontend/specs/newComment.js +0 -18
- package/static/tests/frontend/specs/preCommentMark.js +0 -241
- package/static/tests/frontend/specs/timeFormat.js +0 -266
- package/static/tests/frontend/specs/xcommentCopyPaste.js +0 -480
- package/static/tests/frontend/utils.js +0 -14
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const utils = require('../utils');
|
|
4
|
-
|
|
5
|
-
let helperFunctions;
|
|
6
|
-
const textOfComment = 'original comment';
|
|
7
|
-
const textOfReply = 'original reply';
|
|
8
|
-
const FIRST_LINE = 0;
|
|
9
|
-
|
|
10
|
-
// create pad with a comment and a reply
|
|
11
|
-
beforeEach(async function () {
|
|
12
|
-
helperFunctions = commentDelete;
|
|
13
|
-
await helperFunctions.createPad(this);
|
|
14
|
-
await helperFunctions.addCommentAndReplyToLine(FIRST_LINE, textOfComment, textOfReply);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
context('when user presses the delete button on a comment', function () {
|
|
18
|
-
it('should delete comment', function (done) {
|
|
19
|
-
const outer$ = helper.padOuter$;
|
|
20
|
-
const inner$ = helper.padInner$;
|
|
21
|
-
outer$('.comment-delete').click();
|
|
22
|
-
helper.waitFor(() => inner$('.comment').length === 0).done(() => {
|
|
23
|
-
if (inner$('.comment').length !== 0) throw new Error('Error deleting comment');
|
|
24
|
-
done();
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
context('when user presses the delete button on other users comment', function () {
|
|
30
|
-
it('should not delete comment', async function () {
|
|
31
|
-
let outer$ = helper.padOuter$;
|
|
32
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
33
|
-
await utils.aNewPad({id: helperFunctions.padId});
|
|
34
|
-
await helper.waitForPromise(() => {
|
|
35
|
-
outer$ = helper.padOuter$;
|
|
36
|
-
return !!outer$ && outer$('.comment-delete').length;
|
|
37
|
-
});
|
|
38
|
-
outer$('.comment-delete').click();
|
|
39
|
-
await helper.waitForPromise(() => {
|
|
40
|
-
const chrome$ = helper.padChrome$;
|
|
41
|
-
return chrome$('#gritter-container').find('.error').length > 0;
|
|
42
|
-
});
|
|
43
|
-
const inner$ = helper.padInner$;
|
|
44
|
-
if (inner$('.comment').length === 0) throw new Error('Comment should not have been deleted');
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
const commentDelete = {
|
|
49
|
-
padId: undefined,
|
|
50
|
-
async createPad(test) {
|
|
51
|
-
test.timeout(60000);
|
|
52
|
-
this.padId = await utils.aNewPad();
|
|
53
|
-
this.enlargeScreen();
|
|
54
|
-
await this.createOrResetPadText();
|
|
55
|
-
},
|
|
56
|
-
async createOrResetPadText() {
|
|
57
|
-
await this.cleanPad();
|
|
58
|
-
const inner$ = helper.padInner$;
|
|
59
|
-
inner$('div').first().sendkeys('something\n anything');
|
|
60
|
-
await helper.waitForPromise(() => {
|
|
61
|
-
const inner$ = helper.padInner$;
|
|
62
|
-
const lineLength = inner$('div').length;
|
|
63
|
-
return lineLength > 1;
|
|
64
|
-
});
|
|
65
|
-
},
|
|
66
|
-
async cleanPad() {
|
|
67
|
-
const inner$ = helper.padInner$;
|
|
68
|
-
const $padContent = inner$('#innerdocbody');
|
|
69
|
-
$padContent.html(' ');
|
|
70
|
-
|
|
71
|
-
// wait for Etherpad to re-create first line
|
|
72
|
-
await helper.waitForPromise(() => {
|
|
73
|
-
const lineNumber = inner$('div').length;
|
|
74
|
-
return lineNumber === 1;
|
|
75
|
-
}, 20000);
|
|
76
|
-
},
|
|
77
|
-
enlargeScreen() {
|
|
78
|
-
$('#iframe-container iframe').css('max-width', '3000px');
|
|
79
|
-
},
|
|
80
|
-
async addCommentAndReplyToLine(line, textOfComment, textOfReply) {
|
|
81
|
-
await this.addCommentToLine(line, textOfComment);
|
|
82
|
-
await this.addCommentReplyToLine(line, textOfReply);
|
|
83
|
-
},
|
|
84
|
-
async addCommentToLine(line, textOfComment) {
|
|
85
|
-
const chrome$ = helper.padChrome$;
|
|
86
|
-
const $line = this.getLine(line);
|
|
87
|
-
$line.sendkeys('{selectall}'); // needs to select content to add comment to
|
|
88
|
-
const $commentButton = chrome$('.addComment');
|
|
89
|
-
$commentButton.click();
|
|
90
|
-
|
|
91
|
-
// fill the comment form and submit it
|
|
92
|
-
const $commentField = chrome$('textarea.comment-content');
|
|
93
|
-
$commentField.val(textOfComment);
|
|
94
|
-
const $submittButton = chrome$('.comment-buttons input[type=submit]');
|
|
95
|
-
$submittButton.click();
|
|
96
|
-
|
|
97
|
-
// wait until comment is created and comment id is set
|
|
98
|
-
await this.createdCommentOnLine(line);
|
|
99
|
-
},
|
|
100
|
-
async addCommentReplyToLine(line, textOfReply) {
|
|
101
|
-
const outer$ = helper.padOuter$;
|
|
102
|
-
const commentId = this.getCommentIdOfLine(line);
|
|
103
|
-
const existingReplies = outer$('.sidebar-comment-reply').length;
|
|
104
|
-
|
|
105
|
-
// if comment icons are enabled, make sure we display the comment box:
|
|
106
|
-
if (this.commentIconsEnabled()) {
|
|
107
|
-
// click on the icon
|
|
108
|
-
const $commentIcon = outer$(`#commentIcons #icon-${commentId}`).first();
|
|
109
|
-
$commentIcon.click();
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// fill reply field
|
|
113
|
-
const $replyField = outer$('.comment-content');
|
|
114
|
-
$replyField.val(textOfReply);
|
|
115
|
-
|
|
116
|
-
// submit reply
|
|
117
|
-
const $submitReplyButton = outer$("form.new-comment input[type='submit']").first();
|
|
118
|
-
$submitReplyButton.click();
|
|
119
|
-
|
|
120
|
-
// wait for the reply to be saved
|
|
121
|
-
await helper.waitForPromise(() => {
|
|
122
|
-
const hasSavedReply = outer$('.sidebar-comment-reply').length === existingReplies + 1;
|
|
123
|
-
return hasSavedReply;
|
|
124
|
-
});
|
|
125
|
-
},
|
|
126
|
-
getLine(lineNum) {
|
|
127
|
-
const inner$ = helper.padInner$;
|
|
128
|
-
const $line = inner$('div').slice(lineNum, lineNum + 1);
|
|
129
|
-
return $line;
|
|
130
|
-
},
|
|
131
|
-
async createdCommentOnLine(line) {
|
|
132
|
-
await helper.waitForPromise(() => this.getCommentIdOfLine(line) != null);
|
|
133
|
-
},
|
|
134
|
-
getCommentIdOfLine(line) {
|
|
135
|
-
const $line = this.getLine(line);
|
|
136
|
-
const comment = $line.find('.comment');
|
|
137
|
-
const cls = comment.attr('class');
|
|
138
|
-
const classCommentId = /(?:^| )(c-[A-Za-z0-9]*)/.exec(cls);
|
|
139
|
-
const commentId = (classCommentId) ? classCommentId[1] : null;
|
|
140
|
-
|
|
141
|
-
return commentId;
|
|
142
|
-
},
|
|
143
|
-
commentIconsEnabled() {
|
|
144
|
-
return helper.padOuter$('#commentIcons').length > 0;
|
|
145
|
-
},
|
|
146
|
-
};
|
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
describe('ep_comments_page - Comment Edit', function () {
|
|
4
|
-
let helperFunctions;
|
|
5
|
-
const textOfComment = 'original comment';
|
|
6
|
-
const textOfReply = 'original reply';
|
|
7
|
-
const FIRST_LINE = 0;
|
|
8
|
-
|
|
9
|
-
// create pad with a comment and a reply
|
|
10
|
-
before(function (done) {
|
|
11
|
-
helperFunctions = commentEdit;
|
|
12
|
-
helperFunctions.createPad(this, () => {
|
|
13
|
-
helperFunctions.addComentAndReplyToLine(FIRST_LINE, textOfComment, textOfReply, done);
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
context('when user presses the button edit on a comment', function () {
|
|
18
|
-
before(async function () {
|
|
19
|
-
helperFunctions.clickEditCommentButton();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('should add a comment form', function (done) {
|
|
23
|
-
helperFunctions.checkIfOneFormEditWasAdded();
|
|
24
|
-
done();
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('should show the original comment text on the edit form', function (done) {
|
|
28
|
-
const editFormText = helperFunctions.getEditForm().find('.comment-edit-text').text();
|
|
29
|
-
expect(editFormText).to.be(textOfComment);
|
|
30
|
-
done();
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
context('and presses edit button again', function () {
|
|
34
|
-
before(async function () {
|
|
35
|
-
helperFunctions.clickEditCommentButton();
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('should not add a new form', function (done) {
|
|
39
|
-
helperFunctions.checkIfOneFormEditWasAdded();
|
|
40
|
-
done();
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
context('and presses cancel', function () {
|
|
45
|
-
before(async function () {
|
|
46
|
-
helperFunctions.pressCancel();
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it('should remove the edit form', function (done) {
|
|
50
|
-
helperFunctions.checkIfOneFormEditWasRemoved();
|
|
51
|
-
done();
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
context('and writes a new comment text', function () {
|
|
56
|
-
const updatedText = 'this comment was edited';
|
|
57
|
-
before(async function () {
|
|
58
|
-
helperFunctions.clickEditCommentButton();
|
|
59
|
-
helperFunctions.writeCommentText(updatedText);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
context('and presses save', function () {
|
|
63
|
-
beforeEach(async function () {
|
|
64
|
-
helperFunctions.pressSave();
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it('should update the comment text', function (done) {
|
|
68
|
-
helper.waitFor(() => {
|
|
69
|
-
const outer$ = helper.padOuter$;
|
|
70
|
-
const commentText = outer$('.comment-text').first().text();
|
|
71
|
-
return (commentText === updatedText);
|
|
72
|
-
}).done(() => {
|
|
73
|
-
const outer$ = helper.padOuter$;
|
|
74
|
-
const commentText = outer$('.comment-text').first().text();
|
|
75
|
-
expect(commentText).to.be(updatedText);
|
|
76
|
-
done();
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
// ensure that the comment was saved in database
|
|
81
|
-
context('and reloads the page', function () {
|
|
82
|
-
before(function (done) {
|
|
83
|
-
helperFunctions.reloadPad(this, done);
|
|
84
|
-
this.timeout(20000);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
it('shows the comment text updated', function (done) {
|
|
88
|
-
const outer$ = helper.padOuter$;
|
|
89
|
-
helper.waitFor(() => {
|
|
90
|
-
const commentText = outer$('.comment-text').first().text();
|
|
91
|
-
return (commentText === updatedText);
|
|
92
|
-
}, 2000).done(() => {
|
|
93
|
-
const commentText = outer$('.comment-text').first().text();
|
|
94
|
-
expect(commentText).to.be(updatedText);
|
|
95
|
-
done();
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
context('new user tries editing', function () {
|
|
103
|
-
const updatedText2 = 'this comment was edited again';
|
|
104
|
-
|
|
105
|
-
it('should not update the comment text', async function () {
|
|
106
|
-
let outer$ = helper.padOuter$;
|
|
107
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
108
|
-
await new Promise((resolve) => helper.newPad(resolve, helperFunctions.padId));
|
|
109
|
-
await helper.waitForPromise(() => {
|
|
110
|
-
outer$ = helper.padOuter$;
|
|
111
|
-
return !!outer$ && outer$('#comments').find('.comment-edit').length;
|
|
112
|
-
});
|
|
113
|
-
helperFunctions.clickEditCommentButton();
|
|
114
|
-
helperFunctions.writeCommentText(updatedText2);
|
|
115
|
-
helperFunctions.pressSave();
|
|
116
|
-
|
|
117
|
-
await helper.waitForPromise(() => {
|
|
118
|
-
// Error message is shown
|
|
119
|
-
const chrome$ = helper.padChrome$;
|
|
120
|
-
return chrome$('#gritter-container').find('.error').length > 0;
|
|
121
|
-
});
|
|
122
|
-
await helper.waitForPromise(() => {
|
|
123
|
-
outer$ = helper.padOuter$;
|
|
124
|
-
const commentText = outer$('.comment-text').first().text();
|
|
125
|
-
return (commentText !== updatedText2);
|
|
126
|
-
});
|
|
127
|
-
const commentText = outer$('.comment-text').first().text();
|
|
128
|
-
expect(commentText).to.not.be(updatedText2);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
const commentEdit = {
|
|
135
|
-
padId: undefined,
|
|
136
|
-
createPad(test, cb) {
|
|
137
|
-
const self = this;
|
|
138
|
-
this.padId = helper.newPad(() => {
|
|
139
|
-
self.enlargeScreen(() => {
|
|
140
|
-
self.createOrResetPadText(() => {
|
|
141
|
-
cb();
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
test.timeout(60000);
|
|
146
|
-
},
|
|
147
|
-
createOrResetPadText(cb) {
|
|
148
|
-
this.cleanPad(() => {
|
|
149
|
-
const inner$ = helper.padInner$;
|
|
150
|
-
inner$('div').first().sendkeys('something\n anything');
|
|
151
|
-
helper.waitFor(() => {
|
|
152
|
-
const inner$ = helper.padInner$;
|
|
153
|
-
const lineLength = inner$('div').length;
|
|
154
|
-
|
|
155
|
-
return lineLength > 1;
|
|
156
|
-
}).done(cb);
|
|
157
|
-
});
|
|
158
|
-
},
|
|
159
|
-
reloadPad(test, cb) {
|
|
160
|
-
test.timeout(20000);
|
|
161
|
-
const self = this;
|
|
162
|
-
const padId = this.padId;
|
|
163
|
-
// we do nothing for a second while we wait for content to be collected before reloading
|
|
164
|
-
// this may be hacky, but we need time for CC to run so... :?
|
|
165
|
-
setTimeout(() => {
|
|
166
|
-
helper.newPad(() => {
|
|
167
|
-
self.enlargeScreen(cb);
|
|
168
|
-
}, padId);
|
|
169
|
-
}, 1000);
|
|
170
|
-
},
|
|
171
|
-
cleanPad(callback) {
|
|
172
|
-
const inner$ = helper.padInner$;
|
|
173
|
-
const $padContent = inner$('#innerdocbody');
|
|
174
|
-
$padContent.html(' ');
|
|
175
|
-
|
|
176
|
-
// wait for Etherpad to re-create first line
|
|
177
|
-
helper.waitFor(() => {
|
|
178
|
-
const lineNumber = inner$('div').length;
|
|
179
|
-
return lineNumber === 1;
|
|
180
|
-
}, 20000).done(callback);
|
|
181
|
-
},
|
|
182
|
-
enlargeScreen(callback) {
|
|
183
|
-
$('#iframe-container iframe').css('max-width', '3000px');
|
|
184
|
-
callback();
|
|
185
|
-
},
|
|
186
|
-
addComentAndReplyToLine(line, textOfComment, textOfReply, callback) {
|
|
187
|
-
const self = this;
|
|
188
|
-
this.addCommentToLine(line, textOfComment, () => {
|
|
189
|
-
self.addCommentReplyToLine(line, textOfReply, callback);
|
|
190
|
-
});
|
|
191
|
-
},
|
|
192
|
-
addCommentToLine(line, textOfComment, callback) {
|
|
193
|
-
const chrome$ = helper.padChrome$;
|
|
194
|
-
const $line = this.getLine(line);
|
|
195
|
-
$line.sendkeys('{selectall}'); // needs to select content to add comment to
|
|
196
|
-
const $commentButton = chrome$('.addComment');
|
|
197
|
-
$commentButton.click();
|
|
198
|
-
|
|
199
|
-
// fill the comment form and submit it
|
|
200
|
-
const $commentField = chrome$('textarea.comment-content');
|
|
201
|
-
$commentField.val(textOfComment);
|
|
202
|
-
const $submittButton = chrome$('.comment-buttons input[type=submit]');
|
|
203
|
-
$submittButton.click();
|
|
204
|
-
|
|
205
|
-
// wait until comment is created and comment id is set
|
|
206
|
-
this.createdCommentOnLine(line, callback);
|
|
207
|
-
},
|
|
208
|
-
addCommentReplyToLine(line, textOfReply, callback) {
|
|
209
|
-
const outer$ = helper.padOuter$;
|
|
210
|
-
const commentId = this.getCommentIdOfLine(line);
|
|
211
|
-
const existingReplies = outer$('.sidebar-comment-reply').length;
|
|
212
|
-
|
|
213
|
-
// if comment icons are enabled, make sure we display the comment box:
|
|
214
|
-
if (this.commentIconsEnabled()) {
|
|
215
|
-
// click on the icon
|
|
216
|
-
const $commentIcon = outer$(`#commentIcons #icon-${commentId}`).first();
|
|
217
|
-
$commentIcon.click();
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
// fill reply field
|
|
221
|
-
const $replyField = outer$('.comment-content');
|
|
222
|
-
$replyField.val(textOfReply);
|
|
223
|
-
|
|
224
|
-
// submit reply
|
|
225
|
-
const $submitReplyButton = outer$("form.new-comment input[type='submit']").first();
|
|
226
|
-
$submitReplyButton.click();
|
|
227
|
-
|
|
228
|
-
// wait for the reply to be saved
|
|
229
|
-
helper.waitFor(() => {
|
|
230
|
-
const hasSavedReply = outer$('.sidebar-comment-reply').length === existingReplies + 1;
|
|
231
|
-
return hasSavedReply;
|
|
232
|
-
}).done(callback);
|
|
233
|
-
},
|
|
234
|
-
getLine(lineNum) {
|
|
235
|
-
const inner$ = helper.padInner$;
|
|
236
|
-
const $line = inner$('div').slice(lineNum, lineNum + 1);
|
|
237
|
-
return $line;
|
|
238
|
-
},
|
|
239
|
-
createdCommentOnLine(line, cb) {
|
|
240
|
-
const self = this;
|
|
241
|
-
helper.waitFor(() => self.getCommentIdOfLine(line) != null).done(cb);
|
|
242
|
-
},
|
|
243
|
-
getCommentIdOfLine(line) {
|
|
244
|
-
const $line = this.getLine(line);
|
|
245
|
-
const comment = $line.find('.comment');
|
|
246
|
-
const cls = comment.attr('class');
|
|
247
|
-
const classCommentId = /(?:^| )(c-[A-Za-z0-9]*)/.exec(cls);
|
|
248
|
-
const commentId = (classCommentId) ? classCommentId[1] : null;
|
|
249
|
-
|
|
250
|
-
return commentId;
|
|
251
|
-
},
|
|
252
|
-
commentIconsEnabled() {
|
|
253
|
-
return helper.padOuter$('#commentIcons').length > 0;
|
|
254
|
-
},
|
|
255
|
-
clickEditCommentButton() {
|
|
256
|
-
const outer$ = helper.padOuter$;
|
|
257
|
-
const $editButton = outer$('.comment-edit').first();
|
|
258
|
-
$editButton.click();
|
|
259
|
-
},
|
|
260
|
-
clickEditCommentReplyButton() {
|
|
261
|
-
const outer$ = helper.padOuter$;
|
|
262
|
-
const $editButton = outer$('.comment-edit').last();
|
|
263
|
-
$editButton.click();
|
|
264
|
-
},
|
|
265
|
-
getEditForm() {
|
|
266
|
-
const outer$ = helper.padOuter$;
|
|
267
|
-
return outer$('.comment-edit-form');
|
|
268
|
-
},
|
|
269
|
-
checkIfOneFormEditWasAdded() {
|
|
270
|
-
expect(this.getEditForm().length).to.be(1);
|
|
271
|
-
},
|
|
272
|
-
checkIfOneFormEditWasRemoved() {
|
|
273
|
-
expect(this.getEditForm().length).to.be(0);
|
|
274
|
-
},
|
|
275
|
-
checkIfCommentFieldIsHidden(fieldClass) {
|
|
276
|
-
const outer$ = helper.padOuter$;
|
|
277
|
-
const $field = outer$(`.${fieldClass}`).first();
|
|
278
|
-
expect($field.is(':visible')).to.be(false);
|
|
279
|
-
},
|
|
280
|
-
pressCancel() {
|
|
281
|
-
const $cancelButton = this.getEditForm().find('.comment-edit-cancel');
|
|
282
|
-
$cancelButton.click();
|
|
283
|
-
},
|
|
284
|
-
pressSave() {
|
|
285
|
-
const $saveButton = this.getEditForm().find('.comment-edit-submit');
|
|
286
|
-
$saveButton.click();
|
|
287
|
-
},
|
|
288
|
-
writeCommentText(commentText) {
|
|
289
|
-
this.getEditForm().find('.comment-edit-text').text(commentText);
|
|
290
|
-
},
|
|
291
|
-
};
|