Public
Edited
Oct 13, 2022
1 fork
36 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
responseHTML = {
try {
const response = await axios.get(`${corsPrefix}/${url}`);

// Deal with unsuccessful fetches (200 = Successful)
if (response.status !== 200) {
// Show error on requestError
mutable fetchError = Promise.reject(
new Error(
`Failed to fetch. CODE ${response.status}: ${response.statusText}.`
)
);

// Return backup data: Saved response on Oct. 13, 2020.
return FileAttachment("nyt_response_101320.txt").text();
}

// Unavailable or irrelevant HTML (doesn't include timeline)
if (!response.data || !RegExp("g-dayListing").test(response.data)) {
mutable fetchError = Promise.reject(new Error(`Irrelevant HTML.`));
return FileAttachment("nyt_response_101320.txt").text();
}

return response.data;
} catch (e) {
mutable fetchError = e;
return FileAttachment("nyt_response_101320.txt").text();
}
}
Insert cell
Insert cell
root = d3.select(html`${responseHTML}`).select(".g-dayListing")
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
{
chart.update(graph);
// Only runs after the first render, i.e. render of the first option
if (!ready) {
mutable ready = true;
viewof meeting.beginAnimation();
}
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more