parent
acd9a18696
commit
6a790916d3
18
dist/converse.js
vendored
18
dist/converse.js
vendored
@ -70234,6 +70234,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getOwnMessages() {
|
||||||
|
return f(this.model.messages.filter({
|
||||||
|
'sender': 'me'
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
|
||||||
editLaterMessage() {
|
editLaterMessage() {
|
||||||
let message;
|
let message;
|
||||||
let idx = this.model.messages.findLastIndex('correcting');
|
let idx = this.model.messages.findLastIndex('correcting');
|
||||||
@ -70243,9 +70249,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|||||||
|
|
||||||
while (idx < this.model.messages.length - 1) {
|
while (idx < this.model.messages.length - 1) {
|
||||||
idx += 1;
|
idx += 1;
|
||||||
|
const candidate = this.model.messages.at(idx);
|
||||||
|
|
||||||
if (this.model.messages.at(idx).get('message')) {
|
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||||
message = this.model.messages.at(idx);
|
message = candidate;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -70268,15 +70275,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|||||||
|
|
||||||
while (idx > 0) {
|
while (idx > 0) {
|
||||||
idx -= 1;
|
idx -= 1;
|
||||||
|
const candidate = this.model.messages.at(idx);
|
||||||
|
|
||||||
if (this.model.messages.at(idx).get('message')) {
|
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||||
message = this.model.messages.at(idx);
|
message = candidate;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message = message || _.findLast(this.model.messages.models, msg => msg.get('message'));
|
message = message || this.getOwnMessages().findLast(msg => msg.get('message'));
|
||||||
|
|
||||||
if (message) {
|
if (message) {
|
||||||
this.insertIntoTextArea(message.get('message'), true);
|
this.insertIntoTextArea(message.get('message'), true);
|
||||||
|
@ -1720,7 +1720,7 @@
|
|||||||
'<img class="chat-image img-thumbnail" src="http://localhost:8000/logo/conversejs-filled.svg">'+
|
'<img class="chat-image img-thumbnail" src="http://localhost:8000/logo/conversejs-filled.svg">'+
|
||||||
'</a>');
|
'</a>');
|
||||||
done();
|
done();
|
||||||
});
|
}).catch(_.partial(console.error, _));
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -1801,7 +1801,7 @@
|
|||||||
expect(older_msgs[0].textContent).toBe('But soft, what light through yonder airlock breaks?');
|
expect(older_msgs[0].textContent).toBe('But soft, what light through yonder airlock breaks?');
|
||||||
expect(older_msgs[1].textContent).toBe('But soft, what light through yonder chimney breaks?');
|
expect(older_msgs[1].textContent).toBe('But soft, what light through yonder chimney breaks?');
|
||||||
done();
|
done();
|
||||||
});
|
}).catch(_.partial(console.error, _));
|
||||||
}));
|
}));
|
||||||
|
|
||||||
it("can be sent as a correction",
|
it("can be sent as a correction",
|
||||||
@ -1812,9 +1812,9 @@
|
|||||||
let msg_id, view;
|
let msg_id, view;
|
||||||
test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy')
|
test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy')
|
||||||
.then(() => {
|
.then(() => {
|
||||||
const jid = 'lounge@localhost';
|
const room_jid = 'lounge@localhost';
|
||||||
const room = _converse.api.rooms.get(jid);
|
const room = _converse.api.rooms.get(room_jid);
|
||||||
view = _converse.chatboxviews.get(jid);
|
view = _converse.chatboxviews.get(room_jid);
|
||||||
|
|
||||||
const textarea = view.el.querySelector('textarea.chat-textarea');
|
const textarea = view.el.querySelector('textarea.chat-textarea');
|
||||||
expect(textarea.value).toBe('');
|
expect(textarea.value).toBe('');
|
||||||
@ -1874,6 +1874,15 @@
|
|||||||
expect(view.el.querySelectorAll('.chat-msg').length).toBe(1);
|
expect(view.el.querySelectorAll('.chat-msg').length).toBe(1);
|
||||||
expect(u.hasClass('correcting', view.el.querySelector('.chat-msg'))).toBe(false);
|
expect(u.hasClass('correcting', view.el.querySelector('.chat-msg'))).toBe(false);
|
||||||
|
|
||||||
|
// Check that messages from other users are skipped
|
||||||
|
view.model.onMessage($msg({
|
||||||
|
'from': room_jid+'/someone-else',
|
||||||
|
'id': (new Date()).getTime(),
|
||||||
|
'to': 'dummy@localhost',
|
||||||
|
'type': 'groupchat'
|
||||||
|
}).c('body').t('Hello world').tree());
|
||||||
|
expect(view.el.querySelectorAll('.chat-msg').length).toBe(2);
|
||||||
|
|
||||||
// Test that pressing the down arrow cancels message correction
|
// Test that pressing the down arrow cancels message correction
|
||||||
expect(textarea.value).toBe('');
|
expect(textarea.value).toBe('');
|
||||||
view.keyPressed({
|
view.keyPressed({
|
||||||
@ -1882,7 +1891,7 @@
|
|||||||
});
|
});
|
||||||
expect(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
expect(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
||||||
expect(view.model.messages.at(0).get('correcting')).toBe(true);
|
expect(view.model.messages.at(0).get('correcting')).toBe(true);
|
||||||
expect(view.el.querySelectorAll('.chat-msg').length).toBe(1);
|
expect(view.el.querySelectorAll('.chat-msg').length).toBe(2);
|
||||||
expect(u.hasClass('correcting', view.el.querySelector('.chat-msg'))).toBe(true);
|
expect(u.hasClass('correcting', view.el.querySelector('.chat-msg'))).toBe(true);
|
||||||
expect(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
expect(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
||||||
view.keyPressed({
|
view.keyPressed({
|
||||||
@ -1891,10 +1900,10 @@
|
|||||||
});
|
});
|
||||||
expect(textarea.value).toBe('');
|
expect(textarea.value).toBe('');
|
||||||
expect(view.model.messages.at(0).get('correcting')).toBe(false);
|
expect(view.model.messages.at(0).get('correcting')).toBe(false);
|
||||||
expect(view.el.querySelectorAll('.chat-msg').length).toBe(1);
|
expect(view.el.querySelectorAll('.chat-msg').length).toBe(2);
|
||||||
expect(u.hasClass('correcting', view.el.querySelector('.chat-msg'))).toBe(false);
|
expect(u.hasClass('correcting', view.el.querySelector('.chat-msg'))).toBe(false);
|
||||||
done();
|
done();
|
||||||
});
|
}).catch(_.partial(console.error, _));
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
}));
|
}));
|
||||||
|
@ -927,6 +927,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getOwnMessages () {
|
||||||
|
return f(this.model.messages.filter({'sender': 'me'}));
|
||||||
|
},
|
||||||
|
|
||||||
editLaterMessage () {
|
editLaterMessage () {
|
||||||
let message;
|
let message;
|
||||||
let idx = this.model.messages.findLastIndex('correcting');
|
let idx = this.model.messages.findLastIndex('correcting');
|
||||||
@ -934,8 +938,9 @@
|
|||||||
this.model.messages.at(idx).save('correcting', false);
|
this.model.messages.at(idx).save('correcting', false);
|
||||||
while (idx < this.model.messages.length-1) {
|
while (idx < this.model.messages.length-1) {
|
||||||
idx += 1;
|
idx += 1;
|
||||||
if (this.model.messages.at(idx).get('message')) {
|
const candidate = this.model.messages.at(idx);
|
||||||
message = this.model.messages.at(idx);
|
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||||
|
message = candidate;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -955,13 +960,14 @@
|
|||||||
this.model.messages.at(idx).save('correcting', false);
|
this.model.messages.at(idx).save('correcting', false);
|
||||||
while (idx > 0) {
|
while (idx > 0) {
|
||||||
idx -= 1;
|
idx -= 1;
|
||||||
if (this.model.messages.at(idx).get('message')) {
|
const candidate = this.model.messages.at(idx);
|
||||||
message = this.model.messages.at(idx);
|
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||||
|
message = candidate;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
message = message || _.findLast(this.model.messages.models, (msg) => msg.get('message'));
|
message = message || this.getOwnMessages().findLast((msg) => msg.get('message'));
|
||||||
if (message) {
|
if (message) {
|
||||||
this.insertIntoTextArea(message.get('message'), true);
|
this.insertIntoTextArea(message.get('message'), true);
|
||||||
message.save('correcting', true);
|
message.save('correcting', true);
|
||||||
|
Loading…
Reference in New Issue
Block a user