Skip to content

Commit deef2be

Browse files
committed
(prop) add show-search
1 parent 0876ccf commit deef2be

File tree

4 files changed

+41
-14
lines changed

4 files changed

+41
-14
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ fetchMessages({ room, options }) {
194194
| `room-actions`(8) | Array | - | `[]` |
195195
| `menu-actions`(9) | Array | - | `[]` |
196196
| `message-actions`(10) | Array | - | (10) |
197+
| `show-search` | Boolean | - | `true` |
197198
| `show-add-room` | Boolean | - | `true` |
198199
| `show-send-icon` | Boolean | - | `true` |
199200
| `show-files` | Boolean | - | `true` |

src/ChatWindow/ChatWindow.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
:room="room"
1111
:room-actions="roomActions"
1212
:text-messages="t"
13+
:show-search="showSearch"
1314
:show-add-room="showAddRoom"
1415
:show-rooms-list="showRoomsList"
1516
:text-formatting="textFormatting"
@@ -118,6 +119,7 @@ export default {
118119
{ name: 'deleteMessage', title: 'Delete Message', onlyMe: true }
119120
]
120121
},
122+
showSearch: { type: Boolean, default: true },
121123
showAddRoom: { type: Boolean, default: true },
122124
showSendIcon: { type: Boolean, default: true },
123125
showFiles: { type: Boolean, default: true },

src/ChatWindow/RoomsList/RoomsList.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
:rooms="rooms"
1212
:loading-rooms="loadingRooms"
1313
:text-messages="textMessages"
14+
:show-search="showSearch"
1415
:show-add-room="showAddRoom"
1516
@search-room="searchRoom"
1617
@add-room="$emit('add-room')"
@@ -94,6 +95,7 @@ export default {
9495
currentUserId: { type: [String, Number], required: true },
9596
textMessages: { type: Object, required: true },
9697
showRoomsList: { type: Boolean, required: true },
98+
showSearch: { type: Boolean, required: true },
9799
showAddRoom: { type: Boolean, required: true },
98100
textFormatting: { type: Boolean, required: true },
99101
linkOptions: { type: Object, required: true },

src/ChatWindow/RoomsList/RoomsSearch.vue

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
11
<template>
2-
<div class="vac-box-search">
3-
<div v-if="!loadingRooms && rooms.length" class="vac-icon-search">
4-
<slot name="search-icon">
5-
<svg-icon name="search" />
6-
</slot>
7-
</div>
8-
<input
9-
v-if="!loadingRooms && rooms.length"
10-
type="search"
11-
:placeholder="textMessages.SEARCH"
12-
autocomplete="off"
13-
class="vac-input"
14-
@input="$emit('search-room', $event)"
15-
/>
2+
<div
3+
:class="{
4+
'vac-box-search': showSearchBar,
5+
'vac-box-empty': !showSearchBar
6+
}"
7+
>
8+
<template v-if="showSearch">
9+
<div v-if="!loadingRooms && rooms.length" class="vac-icon-search">
10+
<slot name="search-icon">
11+
<svg-icon name="search" />
12+
</slot>
13+
</div>
14+
<input
15+
v-if="!loadingRooms && rooms.length"
16+
type="search"
17+
:placeholder="textMessages.SEARCH"
18+
autocomplete="off"
19+
class="vac-input"
20+
@input="$emit('search-room', $event)"
21+
/>
22+
</template>
1623
<div
1724
v-if="showAddRoom"
1825
class="vac-svg-button vac-add-icon"
@@ -34,14 +41,29 @@ export default {
3441
3542
props: {
3643
textMessages: { type: Object, required: true },
44+
showSearch: { type: Boolean, required: true },
3745
showAddRoom: { type: Boolean, required: true },
3846
rooms: { type: Array, required: true },
3947
loadingRooms: { type: Boolean, required: true }
48+
},
49+
50+
computed: {
51+
showSearchBar() {
52+
return this.showSearch || this.showAddRoom
53+
}
4054
}
4155
}
4256
</script>
4357

4458
<style lang="scss">
59+
.vac-box-empty {
60+
margin-top: 10px;
61+
62+
@media only screen and (max-width: 768px) {
63+
margin-top: 7px;
64+
}
65+
}
66+
4567
.vac-box-search {
4668
position: sticky;
4769
display: flex;

0 commit comments

Comments
 (0)