Skip to content

Commit 7c90d9c

Browse files
authored
Merge pull request #309 from UW-Macrostrat/maps
Maps Update
2 parents 5cb04c0 + 86b7626 commit 7c90d9c

File tree

25 files changed

+566
-245
lines changed

25 files changed

+566
-245
lines changed

pages/lex/+Page.ts

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { useState } from "react";
1010

1111
export function Page() {
1212
const { res } = useData();
13-
const [ showBody, setShowBody ] = useState(true);
13+
const [showBody, setShowBody] = useState(true);
1414

1515
const seen = new Set();
1616
const stats = res.filter((project) => {
@@ -52,9 +52,9 @@ export function Page() {
5252
h("p.stat", `${formatNumber(measurements)} measurements`),
5353
]),
5454

55-
h(SearchContainer, { setShowBody}),
56-
57-
h.if(showBody)('div.body-content', [
55+
h(SearchContainer, { setShowBody }),
56+
57+
h.if(showBody)("div.body-content", [
5858
h("h2", "Dictionaries"),
5959
h(
6060
LinkCard,
@@ -117,18 +117,16 @@ function formatNumber(num) {
117117
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
118118
}
119119

120-
function SearchContainer({setShowBody}) {
120+
function SearchContainer({ setShowBody }) {
121121
const [input, setInput] = useState("");
122122
const url = apiV2Prefix + "/defs/autocomplete?query=" + input;
123123
const data = useAPIResult(url)?.success?.data || [];
124124

125-
126-
if(data && input.length > 0) {
125+
if (data && input.length > 0) {
127126
setShowBody(false);
128127
} else {
129128
setShowBody(true);
130129
}
131-
132130

133131
return h("div.search-container", [
134132
h(SearchBar, {
@@ -140,7 +138,6 @@ function SearchContainer({setShowBody}) {
140138
}
141139

142140
function SearchResults({ data }) {
143-
144141
const categories = [
145142
"columns",
146143
"econs",
@@ -163,28 +160,41 @@ function SearchResults({ data }) {
163160
];
164161

165162
return h.if(Object.keys(data).length > 0)("div.search-results", [
166-
categories?.map((category) => {
167-
const items = data?.[category];
168-
if (!items || items?.length === 0) return;
169-
170-
const link = category === "econs" ?
171-
"economics" :
172-
category === "lithologies" ?
173-
"lithology" :
174-
category === "strat_name_concepts" ?
175-
"strat-name-concepts" :
176-
category === "lithology_attributes" ?
177-
"lith-atts" :
178-
category
179-
180-
return h("div.search-category", [
181-
h("h3.category", (category.charAt(0).toUpperCase() + category.slice(1)).replace(/_/g, " ")),
182-
h('div.items', items?.map((item) => {
163+
categories?.map((category) => {
164+
const items = data?.[category];
165+
if (!items || items?.length === 0) return;
166+
167+
const link =
168+
category === "econs"
169+
? "economics"
170+
: category === "lithologies"
171+
? "lithology"
172+
: category === "strat_name_concepts"
173+
? "strat-name-concepts"
174+
: category === "lithology_attributes"
175+
? "lith-atts"
176+
: category;
177+
178+
return h("div.search-category", [
179+
h(
180+
"h3.category",
181+
(category.charAt(0).toUpperCase() + category.slice(1)).replace(
182+
/_/g,
183+
" "
184+
)
185+
),
186+
h(
187+
"div.items",
188+
items?.map((item) => {
183189
const { name } = item;
184-
return h("a.item", { href: `/lex/${link}/${item.id}` }, name.charAt(0).toUpperCase() + name.slice(1));
185-
})),
186-
]);
187-
}),
188-
])
189-
190-
}
190+
return h(
191+
"a.item",
192+
{ href: `/lex/${link}/${item.id}` },
193+
name.charAt(0).toUpperCase() + name.slice(1)
194+
);
195+
})
196+
),
197+
]);
198+
}),
199+
]);
200+
}

pages/lex/economics/@id/+Page.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {
1111
} from "~/components/lex";
1212

1313
export function Page() {
14-
const { resData, colData, taxaData, refs, unitsData, fossilsData } = useData();
14+
const { resData, colData, taxaData, refs, unitsData, fossilsData } =
15+
useData();
1516

1617
const id = resData.econ_id;
1718
const features = colData?.features || [];

pages/lex/economics/@id/+data.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ export async function data(pageContext) {
55
const econ_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
66

77
// Await all API calls
8-
const [resData, colData, unitsData, fossilsData, refs1, refs2] = await Promise.all([
9-
fetchAPIData("/defs/econs", { econ_id }),
10-
fetchAPIData("/columns", { econ_id, response: "long", format: "geojson" }),
11-
fetchAPIData("/units", { econ_id }),
12-
fetchAPIData("/fossils", { econ_id }),
13-
fetchAPIRefs("/fossils", { econ_id }),
14-
fetchAPIRefs("/columns", { econ_id }),
15-
]);
8+
const [resData, colData, unitsData, fossilsData, refs1, refs2] =
9+
await Promise.all([
10+
fetchAPIData("/defs/econs", { econ_id }),
11+
fetchAPIData("/columns", {
12+
econ_id,
13+
response: "long",
14+
format: "geojson",
15+
}),
16+
fetchAPIData("/units", { econ_id }),
17+
fetchAPIData("/fossils", { econ_id }),
18+
fetchAPIRefs("/fossils", { econ_id }),
19+
fetchAPIRefs("/columns", { econ_id }),
20+
]);
1621

1722
const refValues1 = Object.values(refs1);
1823
const refValues2 = Object.values(refs2);
@@ -30,5 +35,12 @@ export async function data(pageContext) {
3035
taxaData = await response.json();
3136
}
3237

33-
return { resData: resData[0], colData, taxaData, refs, unitsData, fossilsData };
38+
return {
39+
resData: resData[0],
40+
colData,
41+
taxaData,
42+
refs,
43+
unitsData,
44+
fossilsData,
45+
};
3446
}

pages/lex/environments/@id/+Page.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ import {
77
PrevalentTaxa,
88
Timescales,
99
Units,
10-
Fossils
10+
Fossils,
1111
} from "~/components/lex";
1212

1313
export function Page() {
14-
const { resData, colData, taxaData, refs, unitsData, fossilsData } = useData();
14+
const { resData, colData, taxaData, refs, unitsData, fossilsData } =
15+
useData();
1516

1617
const id = resData.environ_id;
1718
const features = colData?.features || [];
@@ -26,7 +27,7 @@ export function Page() {
2627
h(PrevalentTaxa, { taxaData }),
2728
h(Timescales, { timescales }),
2829
h(Units, { unitsData }),
29-
h(Fossils, { fossilsData })
30+
h(Fossils, { fossilsData }),
3031
];
3132

3233
return LexItemPage({ children, id, refs, resData, siftLink: "environment" });

pages/lex/environments/@id/+data.ts

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ export async function data(pageContext) {
55
const environ_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
66

77
// Await all API calls
8-
const [resData, colData, unitsData, fossilsData, refs1, refs2] = await Promise.all([
9-
fetchAPIData("/defs/environments", { environ_id }),
10-
fetchAPIData("/columns", {
11-
environ_id,
12-
response: "long",
13-
format: "geojson",
14-
}),
15-
fetchAPIData("/units", { environ_id }),
16-
fetchAPIData("/fossils", { environ_id }),
17-
fetchAPIRefs("/fossils", { environ_id }),
18-
fetchAPIRefs("/columns", { environ_id }),
19-
]);
8+
const [resData, colData, unitsData, fossilsData, refs1, refs2] =
9+
await Promise.all([
10+
fetchAPIData("/defs/environments", { environ_id }),
11+
fetchAPIData("/columns", {
12+
environ_id,
13+
response: "long",
14+
format: "geojson",
15+
}),
16+
fetchAPIData("/units", { environ_id }),
17+
fetchAPIData("/fossils", { environ_id }),
18+
fetchAPIRefs("/fossils", { environ_id }),
19+
fetchAPIRefs("/columns", { environ_id }),
20+
]);
2021

2122
const refValues1 = Object.values(refs1);
2223
const refValues2 = Object.values(refs2);
@@ -34,5 +35,12 @@ export async function data(pageContext) {
3435
taxaData = await response.json();
3536
}
3637

37-
return { resData: resData[0], colData, taxaData, refs, unitsData, fossilsData };
38+
return {
39+
resData: resData[0],
40+
colData,
41+
taxaData,
42+
refs,
43+
unitsData,
44+
fossilsData,
45+
};
3846
}

pages/lex/intervals/@id/+Page.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import {
1212
} from "~/components/lex";
1313

1414
export function Page() {
15-
const { resData, colData, taxaData, refs, unitsData, fossilsData } = useData();
15+
const { resData, colData, taxaData, refs, unitsData, fossilsData } =
16+
useData();
1617

1718
const id = resData.int_id;
1819
const features = colData?.features || [];

pages/lex/intervals/@id/+data.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ export async function data(pageContext) {
55
const int_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
66

77
// Await all API calls
8-
const [resData, colData, unitsData, fossilsData, refs1, refs2] = await Promise.all([
9-
fetchAPIData("/defs/intervals", { int_id }),
10-
fetchAPIData("/columns", { int_id, response: "long", format: "geojson" }),
11-
fetchAPIData("/units", { int_id }),
12-
fetchAPIData("/fossils", { int_id }),
13-
fetchAPIRefs("/fossils", { int_id }),
14-
fetchAPIRefs("/columns", { int_id }),
15-
]);
8+
const [resData, colData, unitsData, fossilsData, refs1, refs2] =
9+
await Promise.all([
10+
fetchAPIData("/defs/intervals", { int_id }),
11+
fetchAPIData("/columns", { int_id, response: "long", format: "geojson" }),
12+
fetchAPIData("/units", { int_id }),
13+
fetchAPIData("/fossils", { int_id }),
14+
fetchAPIRefs("/fossils", { int_id }),
15+
fetchAPIRefs("/columns", { int_id }),
16+
]);
1617

1718
const refValues1 = Object.values(refs1);
1819
const refValues2 = Object.values(refs2);
@@ -30,5 +31,12 @@ export async function data(pageContext) {
3031
taxaData = await response.json();
3132
}
3233

33-
return { resData: resData[0], colData, taxaData, refs, unitsData, fossilsData };
34+
return {
35+
resData: resData[0],
36+
colData,
37+
taxaData,
38+
refs,
39+
unitsData,
40+
fossilsData,
41+
};
3442
}

pages/lex/lith-atts/+Page.client.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ export function Page() {
1616
const filtered = res.filter((d) => {
1717
const name = d.name.toLowerCase();
1818
const type = d.type ? d.type.toLowerCase() : "";
19-
return (
20-
name.includes(input) || type.includes(input)
21-
);
19+
return name.includes(input) || type.includes(input);
2220
});
2321

2422
const grouped = groupByType(filtered);
@@ -33,17 +31,23 @@ export function Page() {
3331
]),
3432
h(
3533
"div.econ-list",
36-
Object.entries(grouped).map(([className, types]) =>
34+
Object.entries(grouped).map(([className, types]) =>
3735
h("div.econ-class-group", [
3836
h("h2", UpperCase(className)),
3937
h(
4038
"div.econ-items",
41-
types?.map((d) => h(LinkCard, { href: `/lex/lith-atts/${d.lith_att_id}` }, UpperCase(d.name)))
39+
types?.map((d) =>
40+
h(
41+
LinkCard,
42+
{ href: `/lex/lith-atts/${d.lith_att_id}` },
43+
UpperCase(d.name)
44+
)
45+
)
4246
),
4347
])
4448
)
4549
),
46-
])
50+
]);
4751
}
4852

4953
function groupByType(items) {

pages/lex/lithology/@id/+Page.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {
1111
} from "~/components/lex";
1212

1313
export function Page() {
14-
const { resData, colData, taxaData, refs, unitsData, fossilsData } = useData();
14+
const { resData, colData, taxaData, refs, unitsData, fossilsData } =
15+
useData();
1516

1617
const id = resData.lith_id;
1718
const features = colData?.features || [];
@@ -26,7 +27,7 @@ export function Page() {
2627
h(PrevalentTaxa, { taxaData }),
2728
h(Timescales, { timescales }),
2829
h(Units, { unitsData }),
29-
h(Fossils, { fossilsData })
30+
h(Fossils, { fossilsData }),
3031
];
3132

3233
return LexItemPage({ children, id, refs, resData, siftLink: "lithology" });

pages/lex/lithology/@id/+data.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ export async function data(pageContext) {
55
const lith_id = parseInt(pageContext.urlParsed.pathname.split("/")[3]);
66

77
// Await all API calls
8-
const [resData, colData, unitsData, fossilsData, refs1, refs2] = await Promise.all([
9-
fetchAPIData("/defs/lithologies", { lith_id }),
10-
fetchAPIData("/columns", { lith_id, response: "long", format: "geojson" }),
11-
fetchAPIData("/units", { lith_id }),
12-
fetchAPIData("/fossils", { lith_id }),
13-
fetchAPIRefs("/fossils", { lith_id }),
14-
fetchAPIRefs("/columns", { lith_id }),
15-
]);
8+
const [resData, colData, unitsData, fossilsData, refs1, refs2] =
9+
await Promise.all([
10+
fetchAPIData("/defs/lithologies", { lith_id }),
11+
fetchAPIData("/columns", {
12+
lith_id,
13+
response: "long",
14+
format: "geojson",
15+
}),
16+
fetchAPIData("/units", { lith_id }),
17+
fetchAPIData("/fossils", { lith_id }),
18+
fetchAPIRefs("/fossils", { lith_id }),
19+
fetchAPIRefs("/columns", { lith_id }),
20+
]);
1621

1722
const refValues1 = Object.values(refs1);
1823
const refValues2 = Object.values(refs2);
@@ -30,5 +35,12 @@ export async function data(pageContext) {
3035
taxaData = await response.json();
3136
}
3237

33-
return { resData: resData[0], colData, taxaData, refs, unitsData, fossilsData };
38+
return {
39+
resData: resData[0],
40+
colData,
41+
taxaData,
42+
refs,
43+
unitsData,
44+
fossilsData,
45+
};
3446
}

0 commit comments

Comments
 (0)