zaphyra's git: oeffisearch

fast and simple tripplanner

commit eb31e62be7ec061793d9d1cc5a2603dbf3ca78dc
parent b18e85ca752e3c37be4537e074fad700cbfb6e58
Author: Katja (ctucx) <git@ctu.cx>
Date: Mon, 21 Apr 2025 17:15:54 +0200

improve debug output
7 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/src/baseView.js b/src/baseView.js
@@ -2,6 +2,7 @@ import { LitElement, html, nothing } from 'lit';
 import { when } from 'lit/directives/when.js';
 import { choose } from 'lit/directives/choose.js';
 
+import { isEmptyObject } from './helpers.js';
 import { settings } from './settings.js';
 import { t } from './translate.js';
 

@@ -63,8 +64,18 @@ export class BaseView extends LitElement {
 		window.removeEventListener('offline', this.connectionHandler);
 	}
 
-	updated () {
-		if (isDevServer) console.info('BaseView(overlayState):', this.overlayState);
+	updated (previous, viewName) {
+		if (isDevServer) {
+			const globalState = {};
+
+			if (previous.has('isUpdating')) globalState['isUpdating'] = this.isUpdating;
+			if (previous.has('isOffline'))  globalState['isOffline']  = this.isUpdating;
+
+			if (!isEmptyObject(globalState)) console.info(`${viewName}(globalState):`, globalState);
+		}
+
+		if (isDevServer && previous.has('overlayState'))  console.info(`${viewName}(overlayState):`,  this.overlayState);
+		if (isDevServer && previous.has('settingsState')) console.info(`${viewName}(settingsState):`, this.settingsState);
 	}
 
 	connectionHandler = event => { this.isOffline = event.type === 'offline'; };
diff --git a/src/departuresView.js b/src/departuresView.js
@@ -45,9 +45,9 @@ class DeparturesView extends BaseView {
 	}
 
 	updated (previous) {
-		super.updated();
+		super.updated(previous, 'DeparturesView');
 
-		if (isDevServer) console.info('DeparturesView(updated):', previous);
+		if (isDevServer && previous.has('viewState')) console.info('DeparturesView(viewState):', this.viewState);
 
 		setThemeColor(queryBackgroundColor(this.renderRoot, 'header'));
 	}

@@ -71,8 +71,6 @@ class DeparturesView extends BaseView {
 				...stopInfo,
 				departures
 			};
-
-			if (isDevServer) console.info('DeparturesView(viewState):', this.viewState);
 		} catch(e) {
 			this.showAlertOverlay(
 				e.toString(),
diff --git a/src/journeyView.js b/src/journeyView.js
@@ -46,9 +46,9 @@ class JourneyView extends BaseView {
 	}
 
 	updated (previous) {
-		super.updated();
+		super.updated(previous, 'JourneyView');
 
-		if (isDevServer) console.info('JourneyView(updated):', previous);
+		if (isDevServer && previous.has('viewState')) console.info('JourneyView(viewState): ', this.viewState);
 
 		setThemeColor(queryBackgroundColor(this.renderRoot, 'header'));
 	}

@@ -168,6 +168,7 @@ class JourneyView extends BaseView {
 	};
 
 	updateViewState = async viewState => {
+		const wasUpdating = this.isUpdating;
 		this.isUpdating = true;
 		try {
 			if (viewState === undefined) viewState = await getJourney(this.profile, this.refreshToken);

@@ -225,6 +226,7 @@ class JourneyView extends BaseView {
 
 			this.viewState = viewState;
 
+			if (isDevServer) console.info('JourneyView(updateViewState): coach sequence fetch start');
 			//fetch train types after setting the viewState
 			if (!this.isOffline) {
 				for (const leg of this.viewState.legs) {

@@ -237,8 +239,7 @@ class JourneyView extends BaseView {
 					}
 				}
 			}
-
-			if (isDevServer) console.info('JourneyView(viewState):', this.viewState);
+			if (isDevServer) console.info('JourneyView(updateViewState): coach sequence fetch end');
 		} catch(e) {
 			this.showAlertOverlay(
 				e.toString(),

@@ -248,7 +249,7 @@ class JourneyView extends BaseView {
 			);
 			console.error(e);
 		}
-		this.isUpdating = false;
+		if (!wasUpdating) this.isUpdating = false;
 	};
 
 	refreshJourney = async () => {
diff --git a/src/journeysCanvas.js b/src/journeysCanvas.js
@@ -70,8 +70,10 @@ export class JourneysCanvas extends BaseView {
 		this.canvasState.offsetX = (window.innerWidth / this.canvasState.dpr) > 600 ? 140 : 80;
 	}
 
-	updated (previous) {
-		if (isDevServer) console.info('JourneysCanvas(canvasState):', this.canvasState);
+	updated (previous, viewName) {
+		super.updated(previous, viewName);
+
+		if (isDevServer) console.info(`${viewName}(canvasState):`, this.canvasState);
 	}
 
 	resetCanvasPosition = () => {

@@ -222,9 +224,10 @@ export class JourneysCanvas extends BaseView {
 		if (this.isOffline !== false) return;
 		if (!['db', 'rmv'].includes(this.viewState.profile)) return;
 
-		if (isDevServer) console.info('JourneysCanvas(getCoachSequences): fetch start');
 		const wasUpdating = this.isUpdating;
 		this.isUpdating = true;
+
+		if (isDevServer) console.info('JourneysCanvas(getCoachSequences): fetch start');
 		let timeout = 500;
 		for (const journey of this.viewState.journeys) {
 			for (const leg of journey.legs) {
diff --git a/src/journeysView.js b/src/journeysView.js
@@ -67,9 +67,9 @@ export class JourneysView extends JourneysCanvas {
 	}
 
 	updated (previous) {
-		super.updated();
+		super.updated(previous, 'JourneysView');
 
-		if (isDevServer) console.info('JourneysView(updated):', previous);
+		if (isDevServer && previous.has('viewState')) console.info('JourneysView(viewState): ', this.viewState);
 
 		setThemeColor(queryBackgroundColor(this.renderRoot, 'header'));
 	}

@@ -213,7 +213,6 @@ export class JourneysView extends JourneysCanvas {
 			});
 
 			this.viewState = viewState;
-			if (isDevServer) console.info('JourneysView(viewState):', this.viewState);
 		} catch(e) {
 			this.showAlertOverlay(
 				e.toString(),
diff --git a/src/searchView.js b/src/searchView.js
@@ -81,10 +81,7 @@ class SearchView extends BaseView {
 	}
 
 	updated (previous) {
-		super.updated();
-
-		if (isDevServer) console.info('SearchView(updated):', previous);
-		if (isDevServer) console.info('SearchView(settingsState):', this.settingsState);
+		super.updated(previous, 'SearchView');
 
 		setThemeColor(queryBackgroundColor(document, 'body'));
 	}

@@ -391,7 +388,7 @@ class SearchView extends BaseView {
 			params.walkingSpeed  = this.settingsState.walkingSpeed;
 		}
 
-		if (isDevServer) console.info('submitHandler():',params);
+		if (isDevServer) console.info('SearchView(params):',params);
 
 		try {
 			this.showLoaderOverlay();
diff --git a/src/tripView.js b/src/tripView.js
@@ -47,9 +47,9 @@ class TripView extends BaseView {
 	}
 
 	updated (previous) {
-		super.updated();
+		super.updated(previous, 'TripView');
 
-		if (isDevServer) console.info('TripView(updated): ', previous);
+		if (isDevServer && previous.has('viewState')) console.info('TripView(viewState): ', this.viewState);
 
 		setThemeColor(queryBackgroundColor(this.renderRoot, 'header'));
 	}

@@ -88,8 +88,6 @@ class TripView extends BaseView {
 				if (info) this.viewState.trip.line.trainType = formatTrainTypes(info);
 				this.requestUpdate();
 			}
-
-			if (isDevServer) console.info('TripView(viewState): ',this.viewState);
 		} catch(e) {
 			this.showAlertOverlay(
 				e.toString(),