Skip to content

Commit 9668ede

Browse files
committed
(refacto) replace roomFooter ref by element id
1 parent 42caae5 commit 9668ede

File tree

5 files changed

+14
-17
lines changed

5 files changed

+14
-17
lines changed

src/components/EmojiPickerContainer/EmojiPickerContainer.vue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ export default {
4141
props: {
4242
emojiOpened: { type: Boolean, default: false },
4343
emojiReaction: { type: Boolean, default: false },
44-
roomFooterRef: { type: HTMLDivElement, default: null },
4544
positionTop: { type: Boolean, default: false },
4645
positionRight: { type: Boolean, default: false }
4746
},
@@ -62,12 +61,14 @@ export default {
6261
setTimeout(() => {
6362
this.addCustomStyling()
6463
65-
this.$refs.emojiPicker.shadowRoot
66-
.addEventListener('emoji-click', ({ detail }) => {
64+
this.$refs.emojiPicker.shadowRoot.addEventListener(
65+
'emoji-click',
66+
({ detail }) => {
6767
this.$emit('add-emoji', {
6868
unicode: detail.unicode
6969
})
70-
})
70+
}
71+
)
7172
}, 0)
7273
}
7374
}
@@ -114,8 +115,9 @@ export default {
114115
setEmojiPickerPosition(clientY, innerWidth, innerHeight) {
115116
setTimeout(() => {
116117
const mobileSize = innerWidth < 500 || innerHeight < 700
118+
const roomFooterRef = document.getElementById('room-footer')
117119
118-
if (!this.roomFooterRef) {
120+
if (!roomFooterRef) {
119121
if (mobileSize) this.emojiPickerRight = '-50px'
120122
return
121123
}
@@ -125,7 +127,7 @@ export default {
125127
this.emojiPickerTop = 100
126128
this.emojiPickerHeight = innerHeight - 200
127129
} else {
128-
const roomFooterTop = this.roomFooterRef.getBoundingClientRect().top
130+
const roomFooterTop = roomFooterRef.getBoundingClientRect().top
129131
const pickerTopPosition =
130132
roomFooterTop - clientY > this.emojiPickerHeight - 50
131133

src/lib/Room/Room.vue

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
:message-actions="messageActions"
8181
:room-users="room.users"
8282
:text-messages="textMessages"
83-
:room-footer-ref="footerRef"
8483
:new-messages="newMessages"
8584
:show-reaction-emojis="showReactionEmojis"
8685
:show-new-messages-divider="showNewMessagesDivider"
@@ -267,9 +266,6 @@ export default {
267266
},
268267
showMessagesStarted() {
269268
return this.messages.length && this.messagesLoaded
270-
},
271-
footerRef() {
272-
return this.getFooterParentRef()?.$refs.roomFooter
273269
}
274270
},
275271

src/lib/Room/RoomFooter/RoomFooter.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div
33
v-show="Object.keys(room).length && showFooter"
4-
ref="roomFooter"
4+
id="room-footer"
55
class="vac-room-footer"
66
:class="{
77
'vac-app-box-shadow': shadowFooter
@@ -89,6 +89,7 @@
8989
</div>
9090

9191
<textarea
92+
id="roomTextarea"
9293
ref="roomTextarea"
9394
:placeholder="textMessages.TYPE_MESSAGE"
9495
class="vac-textarea"

src/lib/Room/RoomMessage/MessageActions/MessageActions.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
:style="{ right: isMessageActions ? '30px' : '5px' }"
3939
:emoji-opened="emojiOpened"
4040
:emoji-reaction="true"
41-
:room-footer-ref="roomFooterRef"
4241
:position-right="message.senderId === currentUserId"
4342
@add-emoji="sendMessageReaction"
4443
@open-emoji="openEmoji"
@@ -98,7 +97,6 @@ export default {
9897
currentUserId: { type: [String, Number], required: true },
9998
message: { type: Object, required: true },
10099
messageActions: { type: Array, required: true },
101-
roomFooterRef: { type: HTMLDivElement, default: null },
102100
showReactionEmojis: { type: Boolean, required: true },
103101
messageHover: { type: Boolean, required: true },
104102
hoverMessageId: { type: [String, Number], default: null },
@@ -166,8 +164,10 @@ export default {
166164
if (!this.optionsOpened) return
167165
168166
setTimeout(() => {
167+
const roomFooterRef = document.getElementById('room-footer')
168+
169169
if (
170-
!this.roomFooterRef ||
170+
!roomFooterRef ||
171171
!this.$refs.menuOptions ||
172172
!this.$refs.actionIcon
173173
) {
@@ -178,7 +178,7 @@ export default {
178178
this.$refs.menuOptions.getBoundingClientRect().height
179179
180180
const actionIconTop = this.$refs.actionIcon.getBoundingClientRect().top
181-
const roomFooterTop = this.roomFooterRef.getBoundingClientRect().top
181+
const roomFooterTop = roomFooterRef.getBoundingClientRect().top
182182
183183
const optionsTopPosition =
184184
roomFooterTop - actionIconTop > menuOptionsTop + 50

src/lib/Room/RoomMessage/RoomMessage.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,6 @@
158158
:current-user-id="currentUserId"
159159
:message="message"
160160
:message-actions="messageActions"
161-
:room-footer-ref="roomFooterRef"
162161
:show-reaction-emojis="showReactionEmojis"
163162
:message-hover="messageHover"
164163
:hover-message-id="hoverMessageId"
@@ -244,7 +243,6 @@ export default {
244243
editedMessageId: { type: [String, Number], default: null },
245244
roomUsers: { type: Array, default: () => [] },
246245
messageActions: { type: Array, required: true },
247-
roomFooterRef: { type: HTMLDivElement, default: null },
248246
newMessages: { type: Array, default: () => [] },
249247
showReactionEmojis: { type: Boolean, required: true },
250248
showNewMessagesDivider: { type: Boolean, required: true },

0 commit comments

Comments
 (0)