Skip to content

Commit cc1ec8c

Browse files
committed
- Fix when sending/receiving a message, scroll to the bottom.
- Fix ensure use of boolean types in order to support PostgreSQL.
1 parent a8f5f35 commit cc1ec8c

File tree

6 files changed

+43
-28
lines changed

6 files changed

+43
-28
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
# CHANGELOG
22

3+
## [0.0.5] - 2018-10-12
4+
- Fix when sending/receiving a message, scroll to the bottom.
5+
- Fix ensure use of boolean types in order to support PostgreSQL.
6+
7+
8+
## [0.0.4] - 2018-10-11
9+
- Fix SQL query to support PostgreSQL.
10+
11+
12+
## [0.0.3] - 2018-10-11
13+
- Fix messages id collision when appending a message, and request more data.
14+
15+
316
## [0.0.2] - 2018-10-11
417
- Changed documentation.
518
- Fix messages panel initialScrollY.
619

20+
721
## [0.0.1] - 2018-10-10
822
- First Release beta.

publishable/public/js/mercurius.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

publishable/views/master.blade.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<meta charset="utf-8">
55
<meta http-equiv="X-UA-Compatible" content="IE=edge">
66
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<meta content="author" description="Bruno Torrinha <https://torrinha.com>">
78

89
<meta name="csrf-token" content="{{ csrf_token() }}">
910

resources/js/messages/Messages.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
<!-- Message -->
3939
<div class="message__body"
40-
v-b-toggle="'aux'+msg.id"
40+
v-b-toggle="'aux'+idx"
4141
v-text="msg.message">
4242
</div>
4343

@@ -56,7 +56,7 @@
5656
<!-- Message Datetime -->
5757
<b-collapse
5858
class="message__datetime"
59-
:id="'aux'+msg.id"
59+
:id="'aux'+idx"
6060
>
6161
<svg class="ic ic-clock"><use xlink:href="#icon-clock"></use></svg>
6262
{{msg.created_at | datetimeSingle}}
@@ -145,18 +145,9 @@ export default {
145145
146146
// Private helpers
147147
//
148-
_scrollTo(scroll_y) {
149-
setTimeout(() => {
150-
this.$refs.wrap.scrollTo({x: 0, y: scroll_y+'%'}, false)
151-
}, 300);
152-
},
153148
_hasMsg(idx) {
154149
return (!!this.messages[idx]);
155150
},
156-
_appendMsg(msg) {
157-
this.messages.unshift(msg)
158-
this._scrollTo(10)
159-
},
160151
// Check if message was received or sent
161152
_received(msg) {
162153
return msg.sender_id !== Mercurius.user.id
@@ -171,6 +162,15 @@ export default {
171162
if (!this._hasMsg(idx+1)) return false;
172163
return (this.messages[idx+1].sender_id === msg.sender_id);
173164
},
165+
_scrollTo(scroll_y) {
166+
setTimeout(() => {
167+
this.$refs.wrap.scrollTo({x: 0, y: scroll_y+'%'}, false)
168+
}, 300);
169+
},
170+
_appendMsg(msg) {
171+
this.messages.unshift(msg)
172+
this._scrollTo(100)
173+
},
174174
175175
176176
// Event handlers
@@ -189,7 +189,7 @@ export default {
189189
if (barY.scrollTop > 20 || this.offset < 0) return false;
190190
191191
this.loadMessages()
192-
.then(() => this._scrollTo(15));
192+
.then(() => this._scrollTo(25));
193193
},
194194
}
195195
}

src/Repositories/ConversationRepository.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ public function get($receiver, $offset = 0, $limit = 10, $sender = null)
2828
->where([
2929
['sender_id', $sender],
3030
['receiver_id', $receiver],
31-
['deleted_by_sender', '=', 0],
31+
['deleted_by_sender', '=', false],
3232
])
3333
->orWhere([
3434
['sender_id', $receiver],
3535
['receiver_id', $sender],
36-
['deleted_by_receiver', '=', 0],
36+
['deleted_by_receiver', '=', false],
3737
])
3838
->orderBy('created_at', 'desc')
3939
->offset($offset)
@@ -92,10 +92,10 @@ public function all($user = null)
9292
' FROM',
9393
' (',
9494
' SELECT receiver_id as usr, MAX(id) AS id FROM '.$tbl_messages,
95-
' WHERE deleted_by_sender IS NOT TRUE AND sender_id ='.$user.' GROUP BY usr',
95+
' WHERE deleted_by_sender IS FALSE AND sender_id ='.$user.' GROUP BY usr',
9696
' UNION ALL',
9797
' SELECT sender_id as usr, MAX(id) as id FROM '.$tbl_messages,
98-
' WHERE deleted_by_receiver IS NOT TRUE AND receiver_id ='.$user.' GROUP BY usr',
98+
' WHERE deleted_by_receiver IS FALSE AND receiver_id ='.$user.' GROUP BY usr',
9999
' ) u',
100100
' GROUP BY u.usr',
101101
' ) mm',
@@ -127,10 +127,10 @@ public function recipients($user = null)
127127
'FROM',
128128
' (',
129129
' SELECT receiver_id as id FROM '.$tbl_messages,
130-
' WHERE sender_id ='.$user.' AND deleted_by_receiver IS NOT TRUE',
130+
' WHERE sender_id ='.$user.' AND deleted_by_receiver IS FALSE',
131131
' UNION ALL',
132132
' SELECT sender_id as id FROM '.$tbl_messages,
133-
' WHERE receiver_id ='.$user.' AND deleted_by_sender IS NOT TRUE',
133+
' WHERE receiver_id ='.$user.' AND deleted_by_sender IS FALSE',
134134
') u',
135135
]));
136136

@@ -183,26 +183,26 @@ public function delete($senderId, $receiverId)
183183
['sender_id', $senderId],
184184
['receiver_id', $receiverId],
185185
])
186-
->update(['deleted_by_sender' => 1]);
186+
->update(['deleted_by_sender' => true]);
187187

188188
(new $_mdl())
189189
->where([
190190
['sender_id', $receiverId],
191191
['receiver_id', $senderId],
192192
])
193-
->update(['deleted_by_receiver' => 1]);
193+
->update(['deleted_by_receiver' => true]);
194194

195195
// Deletes messages, if removed from both users
196196
$res = (new $_mdl())
197197
->where([
198198
['sender_id', $senderId],
199199
['receiver_id', $receiverId],
200-
['deleted_by_sender', '=', 1],
200+
['deleted_by_sender', '=', true],
201201
])
202202
->Where([
203203
['sender_id', $receiverId],
204204
['receiver_id', $senderId],
205-
['deleted_by_receiver', '=', 1],
205+
['deleted_by_receiver', '=', true],
206206
])
207207
->delete();
208208

@@ -227,12 +227,12 @@ private function userConversations($sender, $receiver)
227227
->where([
228228
['sender_id', $sender],
229229
['receiver_id', $receiver],
230-
['deleted_by_sender', '=', 0],
230+
['deleted_by_sender', '=', false],
231231
])
232232
->orWhere([
233233
['sender_id', $receiver],
234234
['receiver_id', $sender],
235-
['deleted_by_receiver', '=', 0],
235+
['deleted_by_receiver', '=', false],
236236
]);
237237
}
238238
}

src/Repositories/MessageRepository.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ public function delete($msg, $user)
5757
try {
5858
// Set message 'deleted' for the current user only
5959
if ($msg->sender_id == $user) {
60-
$msg->deleted_by_sender = 1;
60+
$msg->deleted_by_sender = true;
6161
} else {
62-
$msg->deleted_by_receiver = 1;
62+
$msg->deleted_by_receiver = true;
6363
}
6464

6565
// If message is marked deleted for both users (sender and receiver)
6666
// we remove the message from the database.
67-
if ($msg->deleted_by_sender == 1 && $msg->deleted_by_receiver == 1) {
67+
if ($msg->deleted_by_sender === true && $msg->deleted_by_receiver === true) {
6868
$msg->delete();
6969
} else {
7070
$msg->save();

0 commit comments

Comments
 (0)