From 932f950ed846362c7492750a207c6c8477087ccb Mon Sep 17 00:00:00 2001 From: Franzz Date: Fri, 17 Apr 2026 16:22:43 +0200 Subject: [PATCH] Remove jquery deps in projects.vue --- src/components/project.vue | 21 ++++++++++----------- src/components/projectPost.vue | 1 - 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/components/project.vue b/src/components/project.vue index b283041..3193381 100644 --- a/src/components/project.vue +++ b/src/components/project.vue @@ -29,7 +29,6 @@ export default { refreshRate: 60, lastUpdate: { unix_time: 0, relative_time: '', formatted_time: ''}, feedPanelOpen: false, - feedSimpleBar: null, settingsPanelOpen: false, markerSize: {width: 32, height: 32}, currProject: {}, @@ -135,7 +134,7 @@ export default { }, quit() { lightbox.end(); - this.$refs.feedSimpleBar.scrollElement.removeEventListener('scroll', (oEvent) => {this.onFeedScroll(oEvent);}); + this.$refs.feedSimpleBar.scrollElement.removeEventListener('scroll', this.onFeedScroll); this.setFeedUpdateTimer(-1); this.map.remove(); }, @@ -165,7 +164,7 @@ export default { }, async initFeed() { //Simplebar event - this.$refs.feedSimpleBar.scrollElement.addEventListener('scroll', (oEvent) => {this.onFeedScroll(oEvent);}); + this.$refs.feedSimpleBar.scrollElement.addEventListener('scroll', this.onFeedScroll); //Mobile Touchscreen Events //TODO @@ -360,10 +359,10 @@ export default { return true; }, onFeedScroll(oEvent) { - //FIXME remove jquery dependency - var $Box = $(oEvent.currentTarget); - var $BoxContent = $Box.find('.simplebar-content'); - if(($Box.scrollTop() + $(window).height()) / $BoxContent.height() >= 0.8) this.getNextFeed(); + const box = oEvent.currentTarget + const content = box.querySelector('.simplebar-content') + + if ((box.scrollTop + box.clientHeight) / (content?.offsetHeight || 1) >= 0.8) this.getNextFeed(); }, setFeedUpdateTimer(iSeconds) { if(typeof this.feedTimer != 'undefined') clearTimeout(this.feedTimer); @@ -553,13 +552,13 @@ export default { else console.log('Missing element ID "'+oPost.id+'" of type "'+oPost.type+'"'); }, goToPost(oPost) { - //TODO remove jquery deps let bFound = false; - let aoRefs = this.$refs.posts.filter((post)=>{return post.postId == oPost.type+'-'+oPost.id;}); + let aoRefs = this.$refs.posts.filter((post) => {return post.postId == oPost.type+'-'+oPost.id;}); if(aoRefs.length == 1) { this.$refs.feedSimpleBar.scrollElement.scrollTop += Math.round( - $(aoRefs[0].$el).offset().top - - parseInt($(this.$refs.feedSimpleBar.$el).css('padding-top')) + aoRefs[0].$el.getBoundingClientRect().top + + window.pageYOffset + - parseFloat(getComputedStyle(this.$refs.feedSimpleBar.$el).paddingTop) ); bFound = true; this.spot.flushHash(['post', 'message']); diff --git a/src/components/projectPost.vue b/src/components/projectPost.vue index e2a22b0..4a12f98 100644 --- a/src/components/projectPost.vue +++ b/src/components/projectPost.vue @@ -7,7 +7,6 @@ import { LngLat } from 'maplibre-gl'; import autosize from 'autosize'; -import { registerRuntimeCompiler } from 'vue'; export default { components: {