@eric-emg/symphiq-components 1.2.27 → 1.2.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -21360,8 +21360,8 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
21360
21360
|
// Set up container scroll listener when in embedded mode
|
|
21361
21361
|
if (this.embedded()) {
|
|
21362
21362
|
let container = null;
|
|
21363
|
-
console.log('[Scroll Debug] Embedded mode detected, setting up scroll listener');
|
|
21364
|
-
console.log('[Scroll Debug] scrollContainerId:', this.scrollContainerId());
|
|
21363
|
+
console.log('[Scroll Debug v4] Embedded mode detected, setting up scroll listener');
|
|
21364
|
+
console.log('[Scroll Debug v4] scrollContainerId:', this.scrollContainerId());
|
|
21365
21365
|
// If a scroll container ID is provided, use that element
|
|
21366
21366
|
if (this.scrollContainerId()) {
|
|
21367
21367
|
const element = document.getElementById(this.scrollContainerId());
|
|
@@ -21457,20 +21457,43 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
21457
21457
|
this.onContainerScroll(scrollElement);
|
|
21458
21458
|
}, { passive: true });
|
|
21459
21459
|
console.log('[Scroll Debug] Attached ionScroll listener to ion-content');
|
|
21460
|
-
// FALLBACK: Poll scroll position using requestAnimationFrame
|
|
21460
|
+
// FALLBACK: Poll scroll position using requestAnimationFrame AND Ionic API
|
|
21461
21461
|
// This ensures we catch scroll events even if neither 'scroll' nor 'ionScroll' fire
|
|
21462
|
-
// Check BOTH scrollElement.scrollTop AND ion-content's scrollTop via API
|
|
21463
21462
|
let lastScrollTop = 0;
|
|
21464
|
-
const pollScroll = () => {
|
|
21463
|
+
const pollScroll = async () => {
|
|
21465
21464
|
// Try multiple sources for scroll position
|
|
21466
21465
|
const scrollElTop = scrollElement.scrollTop;
|
|
21467
21466
|
const ionContentScrollTop = ionContent.scrollTop || 0;
|
|
21467
|
+
const ionContentScrollY = ionContent.scrollY || 0;
|
|
21468
|
+
// Also try getScrollElement() again in case it returns live data
|
|
21469
|
+
let apiScrollTop = 0;
|
|
21470
|
+
try {
|
|
21471
|
+
const liveScrollEl = await ionContent.getScrollElement();
|
|
21472
|
+
apiScrollTop = liveScrollEl?.scrollTop || 0;
|
|
21473
|
+
}
|
|
21474
|
+
catch (e) {
|
|
21475
|
+
// Ignore errors
|
|
21476
|
+
}
|
|
21477
|
+
// Also try Ionic's getScrollPosition() method
|
|
21478
|
+
let ionicScrollY = 0;
|
|
21479
|
+
try {
|
|
21480
|
+
if (typeof ionContent.getScrollPosition === 'function') {
|
|
21481
|
+
const pos = await ionContent.getScrollPosition();
|
|
21482
|
+
ionicScrollY = pos?.scrollTop || pos?.top || 0;
|
|
21483
|
+
}
|
|
21484
|
+
}
|
|
21485
|
+
catch (e) {
|
|
21486
|
+
// Ignore errors
|
|
21487
|
+
}
|
|
21468
21488
|
// Use whichever is non-zero
|
|
21469
|
-
const currentScrollTop = scrollElTop || ionContentScrollTop;
|
|
21489
|
+
const currentScrollTop = scrollElTop || ionContentScrollTop || ionContentScrollY || apiScrollTop || ionicScrollY;
|
|
21470
21490
|
if (currentScrollTop !== lastScrollTop) {
|
|
21471
|
-
console.log('[Scroll Debug] Polling detected scroll change:', lastScrollTop, '->', currentScrollTop, {
|
|
21491
|
+
console.log('[Scroll Debug v4] Polling detected scroll change:', lastScrollTop, '->', currentScrollTop, {
|
|
21472
21492
|
scrollElTop,
|
|
21473
|
-
ionContentScrollTop
|
|
21493
|
+
ionContentScrollTop,
|
|
21494
|
+
ionContentScrollY,
|
|
21495
|
+
apiScrollTop,
|
|
21496
|
+
ionicScrollY
|
|
21474
21497
|
});
|
|
21475
21498
|
lastScrollTop = currentScrollTop;
|
|
21476
21499
|
this.onContainerScroll(scrollElement);
|
|
@@ -21478,7 +21501,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
21478
21501
|
requestAnimationFrame(pollScroll);
|
|
21479
21502
|
};
|
|
21480
21503
|
requestAnimationFrame(pollScroll);
|
|
21481
|
-
console.log('[Scroll Debug] Started scroll position polling');
|
|
21504
|
+
console.log('[Scroll Debug v4] Started scroll position polling');
|
|
21482
21505
|
// Test if scroll event fires by manually triggering a test
|
|
21483
21506
|
console.log('[Scroll Debug] Testing scroll event by programmatically scrolling to 1px...');
|
|
21484
21507
|
scrollElement.scrollTop = 1;
|