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() {
|
||||
let message;
|
||||
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) {
|
||||
idx += 1;
|
||||
const candidate = this.model.messages.at(idx);
|
||||
|
||||
if (this.model.messages.at(idx).get('message')) {
|
||||
message = this.model.messages.at(idx);
|
||||
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||
message = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -70268,15 +70275,16 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
||||
|
||||
while (idx > 0) {
|
||||
idx -= 1;
|
||||
const candidate = this.model.messages.at(idx);
|
||||
|
||||
if (this.model.messages.at(idx).get('message')) {
|
||||
message = this.model.messages.at(idx);
|
||||
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||
message = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message = message || _.findLast(this.model.messages.models, msg => msg.get('message'));
|
||||
message = message || this.getOwnMessages().findLast(msg => msg.get('message'));
|
||||
|
||||
if (message) {
|
||||
this.insertIntoTextArea(message.get('message'), true);
|
||||
|
@ -1720,7 +1720,7 @@
|
||||
'<img class="chat-image img-thumbnail" src="http://localhost:8000/logo/conversejs-filled.svg">'+
|
||||
'</a>');
|
||||
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[1].textContent).toBe('But soft, what light through yonder chimney breaks?');
|
||||
done();
|
||||
});
|
||||
}).catch(_.partial(console.error, _));
|
||||
}));
|
||||
|
||||
it("can be sent as a correction",
|
||||
@ -1812,9 +1812,9 @@
|
||||
let msg_id, view;
|
||||
test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy')
|
||||
.then(() => {
|
||||
const jid = 'lounge@localhost';
|
||||
const room = _converse.api.rooms.get(jid);
|
||||
view = _converse.chatboxviews.get(jid);
|
||||
const room_jid = 'lounge@localhost';
|
||||
const room = _converse.api.rooms.get(room_jid);
|
||||
view = _converse.chatboxviews.get(room_jid);
|
||||
|
||||
const textarea = view.el.querySelector('textarea.chat-textarea');
|
||||
expect(textarea.value).toBe('');
|
||||
@ -1874,6 +1874,15 @@
|
||||
expect(view.el.querySelectorAll('.chat-msg').length).toBe(1);
|
||||
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
|
||||
expect(textarea.value).toBe('');
|
||||
view.keyPressed({
|
||||
@ -1882,7 +1891,7 @@
|
||||
});
|
||||
expect(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
||||
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(textarea.value).toBe('But soft, what light through yonder window breaks?');
|
||||
view.keyPressed({
|
||||
@ -1891,10 +1900,10 @@
|
||||
});
|
||||
expect(textarea.value).toBe('');
|
||||
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);
|
||||
done();
|
||||
});
|
||||
}).catch(_.partial(console.error, _));
|
||||
}));
|
||||
});
|
||||
}));
|
||||
|
@ -927,6 +927,10 @@
|
||||
}
|
||||
},
|
||||
|
||||
getOwnMessages () {
|
||||
return f(this.model.messages.filter({'sender': 'me'}));
|
||||
},
|
||||
|
||||
editLaterMessage () {
|
||||
let message;
|
||||
let idx = this.model.messages.findLastIndex('correcting');
|
||||
@ -934,8 +938,9 @@
|
||||
this.model.messages.at(idx).save('correcting', false);
|
||||
while (idx < this.model.messages.length-1) {
|
||||
idx += 1;
|
||||
if (this.model.messages.at(idx).get('message')) {
|
||||
message = this.model.messages.at(idx);
|
||||
const candidate = this.model.messages.at(idx);
|
||||
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||
message = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -955,13 +960,14 @@
|
||||
this.model.messages.at(idx).save('correcting', false);
|
||||
while (idx > 0) {
|
||||
idx -= 1;
|
||||
if (this.model.messages.at(idx).get('message')) {
|
||||
message = this.model.messages.at(idx);
|
||||
const candidate = this.model.messages.at(idx);
|
||||
if (candidate.get('sender') === 'me' && candidate.get('message')) {
|
||||
message = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
message = message || _.findLast(this.model.messages.models, (msg) => msg.get('message'));
|
||||
message = message || this.getOwnMessages().findLast((msg) => msg.get('message'));
|
||||
if (message) {
|
||||
this.insertIntoTextArea(message.get('message'), true);
|
||||
message.save('correcting', true);
|
||||
|
Loading…
Reference in New Issue
Block a user