|
138 | 138 | signalr.onConversationMessageDeleted = onConversationMessageDeleted; |
139 | 139 | await signalr.start(params.conversationId); |
140 | 140 |
|
141 | | - const scrollbarElements = [ |
| 141 | + scrollbars = [ |
142 | 142 | document.querySelector('.chat-scrollbar') |
143 | 143 | ].filter(Boolean); |
144 | | - scrollbarElements.forEach(elem => { |
145 | | - scrollbars = [ ...scrollbars, OverlayScrollbars(elem, options) ]; |
146 | | - }); |
147 | 144 | refresh(); |
148 | 145 | }); |
149 | 146 |
|
|
237 | 234 | } |
238 | 235 |
|
239 | 236 | function autoScrollToBottom() { |
240 | | - // @ts-ignore |
241 | | - scrollbars.forEach(scrollbar => { |
242 | | - setTimeout(() => { |
243 | | - const { viewport } = scrollbar.elements(); |
244 | | - viewport.scrollTo({ top: viewport.scrollHeight, behavior: 'smooth' }); |
245 | | - }, 200); |
246 | | - }); |
| 237 | + scrollbars.forEach(scrollbar => { |
| 238 | + setTimeout(() => { |
| 239 | + scrollbar.scrollTo({ top: scrollbar.scrollHeight, behavior: 'smooth' }); |
| 240 | + }, 200); |
| 241 | + }) |
247 | 242 | } |
248 | 243 |
|
249 | 244 | /** @param {import('$types').ChatResponseModel[]} dialogs */ |
|
789 | 784 |
|
790 | 785 | elements.forEach(item => { |
791 | 786 | const scrollElement = document.querySelector(item.wrapperName); |
792 | | - const logScroll = OverlayScrollbars(scrollElement, options); |
793 | | - const { viewport } = logScroll.elements(); |
794 | | - viewport.scrollTo({ top: item.elm.offsetTop, behavior: 'smooth' }); |
| 787 | + if (!!scrollElement && !!item.elm) { |
| 788 | + const logScroll = OverlayScrollbars(scrollElement, options); |
| 789 | + const { viewport } = logScroll.elements(); |
| 790 | + viewport.scrollTo({ top: item.elm.offsetTop - 5, behavior: 'smooth' }); |
| 791 | + } |
795 | 792 | }); |
796 | 793 | } |
797 | 794 |
|
|
915 | 912 | </div> |
916 | 913 | </div> |
917 | 914 |
|
918 | | - <div class="chat-scrollbar" style="height: 82%"> |
| 915 | + <div class="chat-scrollbar scroll-bottom-to-top" style="height: 82%;"> |
919 | 916 | <div class="chat-conversation p-3"> |
920 | 917 | <ul class="list-unstyled mb-0"> |
921 | 918 | {#each Object.entries(groupedDialogs) as [createDate, dialogGroup]} |
|
0 commit comments