Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 4 additions & 12 deletions pages/columns/groups/@group/+data.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const col_group_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);

// Await all API calls
const [resData, colData, refs1, refs2] = await Promise.all([
const [resData, colData, fossilsData, refs1, refs2] = await Promise.all([
fetchAPIData("/defs/groups", { col_group_id }),
fetchAPIData("/columns", {
col_group_id,
response: "long",
format: "geojson",
}),
fetchAPIData("/fossils", { col_group_id, format: "geojson" }),
fetchAPIRefs("/fossils", { col_group_id }),
fetchAPIRefs("/columns", { col_group_id }),
]);
Expand All @@ -20,17 +22,7 @@ export async function data(pageContext) {
const refValues2 = Object.values(refs2);
const refs = [...refValues1, ...refValues2];

const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

let taxaData = null;
if (cols) {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
taxaData = await response.json();
}
const taxaData = await getPrevalentTaxa(fossilsData);

return { resData: resData[0], colData, taxaData, refs };
}
16 changes: 4 additions & 12 deletions pages/dev/columns-test/groups/@group/+data.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const col_group_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);

// Await all API calls
const [resData, colData, refs1, refs2] = await Promise.all([
const [resData, colData, fossilsData,refs1, refs2] = await Promise.all([
fetchAPIData("/defs/groups", { col_group_id }),
fetchAPIData("/columns", {
col_group_id,
response: "long",
format: "geojson",
}),
fetchAPIData("/fossils", { col_group_id, format: "geojson" }),
fetchAPIRefs("/fossils", { col_group_id }),
fetchAPIRefs("/columns", { col_group_id }),
]);
Expand All @@ -20,17 +22,7 @@ export async function data(pageContext) {
const refValues2 = Object.values(refs2);
const refs = [...refValues1, ...refValues2];

const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

let taxaData = null;
if (cols) {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
taxaData = await response.json();
}
const taxaData = await getPrevalentTaxa(fossilsData);

return { resData: resData[0], colData, taxaData, refs };
}
22 changes: 2 additions & 20 deletions pages/lex/economics/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const econ_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
Expand Down Expand Up @@ -42,26 +43,7 @@ export async function data(pageContext) {
const refValues2 = refs2 ? Object.values(refs2) : [];
const refs = [...refValues1, ...refValues2];

// Build column ID list for PBDB taxa fetch
const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

let taxaData = null;
if (cols) {
try {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
if (response.ok) {
taxaData = await response.json();
} else {
console.warn("PBDB taxa fetch failed with status", response.status);
}
} catch (err) {
console.warn("Error fetching PBDB taxa data:", err);
}
}
const taxaData = await getPrevalentTaxa(fossilsData);

return {
resData: resData?.[0] ?? null,
Expand Down
17 changes: 2 additions & 15 deletions pages/lex/environments/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const environ_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
Expand Down Expand Up @@ -48,21 +49,7 @@ export async function data(pageContext) {
?.join(",");

// Fetch PBDB fossil prevalence data
let taxaData = null;
if (cols) {
try {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
if (response.ok) {
taxaData = await response.json();
} else {
console.warn("PBDB taxa fetch failed with status", response.status);
}
} catch (err) {
console.warn("Error fetching PBDB taxa data:", err);
}
}
const taxaData = await getPrevalentTaxa(fossilsData);

return {
resData: resData?.[0] ?? null,
Expand Down
23 changes: 2 additions & 21 deletions pages/lex/intervals/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const int_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
Expand Down Expand Up @@ -42,27 +43,7 @@ export async function data(pageContext) {
const refValues2 = refs2 ? Object.values(refs2) : [];
const refs = [...refValues1, ...refValues2];

// Extract column IDs
const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

// Optional: Fetch PBDB taxa data
let taxaData = null;
if (cols) {
try {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
if (response.ok) {
taxaData = await response.json();
} else {
console.warn("PBDB taxa fetch failed with status", response.status);
}
} catch (err) {
console.warn("Error fetching PBDB taxa data:", err);
}
}
const taxaData = await getPrevalentTaxa(fossilsData);

return {
resData: resData?.[0] ?? null,
Expand Down
2 changes: 1 addition & 1 deletion pages/lex/lithologies/@id/+Page.client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export function Page() {
const features = colData?.features || [];
const timescales = resData?.timescales || [];

console.log("resData:", resData);
console.log("fossil Data:", fossilsData);

const children = [
h(ColumnsTable, {
Expand Down
22 changes: 2 additions & 20 deletions pages/lex/lithologies/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const lith_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
Expand Down Expand Up @@ -43,26 +44,7 @@ export async function data(pageContext) {
const refValues2 = refs2 ? Object.values(refs2) : [];
const refs = [...refValues1, ...refValues2];

// Extract column IDs to fetch taxa data (PBDB)
const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

let taxaData = null;
if (cols) {
try {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
if (response.ok) {
taxaData = await response.json();
} else {
console.warn("PBDB taxa fetch failed with status", response.status);
}
} catch (err) {
console.warn("Error fetching taxa data from PBDB:", err);
}
}
const taxaData = await getPrevalentTaxa(fossilsData);

return {
resData: resData?.[0] ?? null,
Expand Down
13 changes: 2 additions & 11 deletions pages/lex/strat-concepts/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { apiDomain, pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const concept_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
Expand All @@ -21,17 +22,7 @@ export async function data(pageContext) {
const refValues2 = refs2 ? Object.values(refs2) : [];
const refs = [...refValues1, ...refValues2];

const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

let taxaData = null;
if (cols) {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
taxaData = await response.json();
}
const taxaData = await getPrevalentTaxa(fossilsData);

return { resData: resData[0], refs, fossilsData, colData, taxaData, unitsData };
}
13 changes: 2 additions & 11 deletions pages/lex/strat-names/@id/+data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { pbdbDomain } from "@macrostrat-web/settings";
import { fetchAPIData, fetchAPIRefs } from "~/_utils";
import { getPrevalentTaxa } from "~/components/lex/data-helper";

export async function data(pageContext) {
const strat_name_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
Expand All @@ -24,17 +25,7 @@ export async function data(pageContext) {
const refValues2 = Object.values(refs2);
const refs = [...refValues1, ...refValues2];

const cols = colData?.features
?.map((feature) => feature.properties.col_id)
?.join(",");

let taxaData = null;
if (cols) {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${cols}`
);
taxaData = await response.json();
}
const taxaData = await getPrevalentTaxa(fossilsData);

return {
resData: resData[0],
Expand Down
24 changes: 24 additions & 0 deletions src/components/lex/data-helper.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { pbdbDomain } from "@macrostrat-web/settings";

export async function getPrevalentTaxa(fossilsData) {
// Extract cltn IDs to fetch taxa data (PBDB)
const collectionIds = fossilsData?.features
?.map((feature) => feature.properties.cltn_id)

let taxaData = null;
if (collectionIds && collectionIds.length > 0) {
try {
const response = await fetch(
`${pbdbDomain}/data1.2/occs/prevalence.json?limit=5&coll_id=${collectionIds.join(",")}`
);
if (response.ok) {
taxaData = await response.json();
} else {
console.warn("PBDB taxa fetch failed with status", response.status);
}
} catch (err) {
console.warn("Error fetching taxa data from PBDB:", err);
}
}
return taxaData;
}