Skip to content

Commit 6753cda

Browse files
committed
Use core query logger helper in dev demos
Replace the demo-local event bus observers with the shared observeLogger helper from mosaic-core. This keeps the dev pages aligned with the public event-bus logging path instead of duplicating logging logic in each demo. The gallery query log checkbox now installs and removes the observer cleanly, so repeated toggles do not stack listeners. The dev pages also use vg.coordinator() consistently when updating coordinator settings.
1 parent 845a348 commit 6753cda

3 files changed

Lines changed: 13 additions & 32 deletions

File tree

dev/index.html

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
<div id="view"></div>
114114
<script type="module">
115115
import yaml from '../node_modules/yaml/browser/index.js';
116-
import { astToDOM, astToESM, clear, parseSpec, setDatabaseConnector, vg } from './setup.ts';
116+
import { astToDOM, astToESM, clear, observeLogger, parseSpec, setDatabaseConnector, vg } from './setup.ts';
117117

118118
const view = document.querySelector('#view');
119119
const connectorMenu = document.querySelector('#connectors');
@@ -124,6 +124,7 @@
124124
const consolidateToggle = document.querySelector('#consolidate');
125125
const preaggToggle = document.querySelector('#preagg');
126126
const preaggState = document.querySelector('#preagg-state');
127+
let unobserveQueryLog;
127128

128129
connectorMenu.addEventListener('change', setConnector);
129130
exampleMenu.addEventListener('change', reload);
@@ -156,29 +157,22 @@
156157
}
157158

158159
function setQueryLog() {
159-
const bus = coordinator().eventBus;
160-
161-
bus.observe("query-start", (event) =>
162-
console.info("Query started:", event),
163-
);
164-
bus.observe("query-end", (event) => console.info("Query ended:", event));
165-
bus.observe("client-connect", (event) =>
166-
console.info("Client connected:", event),
167-
);
168-
bus.observe("warning", (event) => console.warn("Warning:", event));
169-
bus.observe("error", (event) => console.error("Error:", event));
160+
unobserveQueryLog?.();
161+
unobserveQueryLog = qlogToggle.checked
162+
? observeLogger(vg.coordinator(), console)
163+
: undefined;
170164
}
171165

172166
function setCache() {
173-
coordinator().manager.cache(cacheToggle.checked);
167+
vg.coordinator().manager.cache(cacheToggle.checked);
174168
}
175169

176170
function setConsolidate() {
177-
coordinator().manager.consolidate(consolidateToggle.checked);
171+
vg.coordinator().manager.consolidate(consolidateToggle.checked);
178172
}
179173

180174
function setPreAggregate() {
181-
coordinator().preaggregator.enabled = preaggToggle.checked;
175+
vg.coordinator().preaggregator.enabled = preaggToggle.checked;
182176
}
183177

184178
function reload() {

dev/query/index.html

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<br/>
3030
<div id="output"></div>
3131
<script type="module">
32-
import { setDatabaseConnector, vg } from '../setup.js';
32+
import { observeLogger, setDatabaseConnector, vg } from '../setup.js';
3333
const tableName = 'query_result';
3434

3535
const input = document.querySelector('#input');
@@ -74,21 +74,7 @@
7474
enable();
7575
});
7676

77-
function setQueryLog() {
78-
const bus = vg.coordinator().eventBus;
79-
80-
bus.observe("query-start", (event) =>
81-
console.info("Query started:", event),
82-
);
83-
bus.observe("query-end", (event) => console.info("Query ended:", event));
84-
bus.observe("client-connect", (event) =>
85-
console.info("Client connected:", event),
86-
);
87-
bus.observe("warning", (event) => console.warn("Warning:", event));
88-
bus.observe("error", (event) => console.error("Error:", event));
89-
}
90-
91-
setQueryLog()
77+
observeLogger(vg.coordinator(), console);
9278
</script>
9379
</body>
9480
</html>

dev/setup.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { DuckDBWASMConnector, RestConnector, SocketConnector } from '@uwdata/mosaic-core';
1+
import { DuckDBWASMConnector, observeLogger, RestConnector, SocketConnector } from '@uwdata/mosaic-core';
22
import { createAPIContext } from '@uwdata/vgplot';
33

44
export { parseSpec, astToDOM, astToESM } from '@uwdata/mosaic-spec';
5+
export { observeLogger };
56
export const vg = createAPIContext();
67

78
// make API accessible for console debugging

0 commit comments

Comments
 (0)