@civicactions/cmsds-open-data-components 4.0.19-alpha.4 → 4.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +146 -186
- package/dist/main.js.map +1 -1
- package/dist/types.d.ts +0 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -2,7 +2,7 @@ import "./main.css";
|
|
|
2
2
|
import {jsx as $hgUW1$jsx, jsxs as $hgUW1$jsxs, Fragment as $hgUW1$Fragment} from "react/jsx-runtime";
|
|
3
3
|
import {Accordion as $hgUW1$Accordion, AccordionItem as $hgUW1$AccordionItem, Button as $hgUW1$Button, CloseIconThin as $hgUW1$CloseIconThin, ArrowIcon as $hgUW1$ArrowIcon, Spinner as $hgUW1$Spinner, Alert as $hgUW1$Alert, Dialog as $hgUW1$Dialog, TextField as $hgUW1$TextField, Dropdown as $hgUW1$Dropdown, Pagination as $hgUW1$Pagination, Tooltip as $hgUW1$Tooltip, TooltipIcon as $hgUW1$TooltipIcon, Choice as $hgUW1$Choice, Table as $hgUW1$Table, TableHead as $hgUW1$TableHead, TableRow as $hgUW1$TableRow, TableCell as $hgUW1$TableCell, TableBody as $hgUW1$TableBody, Tabs as $hgUW1$Tabs, TabPanel as $hgUW1$TabPanel, ExternalLinkIcon as $hgUW1$ExternalLinkIcon, Badge as $hgUW1$Badge} from "@cmsgov/design-system";
|
|
4
4
|
import $hgUW1$react, {createContext as $hgUW1$createContext, useState as $hgUW1$useState, useRef as $hgUW1$useRef, useEffect as $hgUW1$useEffect, useContext as $hgUW1$useContext, useMemo as $hgUW1$useMemo, useCallback as $hgUW1$useCallback} from "react";
|
|
5
|
-
import {NavLink as $hgUW1$NavLink, Link as $hgUW1$Link, useNavigate as $hgUW1$useNavigate,
|
|
5
|
+
import {NavLink as $hgUW1$NavLink, Link as $hgUW1$Link, useNavigate as $hgUW1$useNavigate, useSearchParams as $hgUW1$useSearchParams, useLocation as $hgUW1$useLocation} from "react-router-dom";
|
|
6
6
|
import $hgUW1$qs from "qs";
|
|
7
7
|
import $hgUW1$axios from "axios";
|
|
8
8
|
import {useQuery as $hgUW1$useQuery, QueryClient as $hgUW1$QueryClient, QueryClientProvider as $hgUW1$QueryClientProvider} from "@tanstack/react-query";
|
|
@@ -1426,136 +1426,113 @@ async function $eff7d34c30f5a0fc$export$2d2256cb46e92ff7(rootUrl, options, ACA)
|
|
|
1426
1426
|
|
|
1427
1427
|
|
|
1428
1428
|
const $e873081a6e8f024e$export$1040147c129fdde9 = (query)=>{
|
|
1429
|
-
// Only allow letters, numbers, spaces, and empty string
|
|
1430
|
-
// A search containing any special character will be rejected
|
|
1431
1429
|
return /^[a-zA-Z0-9 ]*$/.test(query.trim());
|
|
1432
1430
|
};
|
|
1431
|
+
const $e873081a6e8f024e$var$sortOptions = [
|
|
1432
|
+
{
|
|
1433
|
+
label: 'Newest',
|
|
1434
|
+
value: 'newest'
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
label: 'Oldest',
|
|
1438
|
+
value: 'oldest'
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
label: 'Title A-Z',
|
|
1442
|
+
value: 'titleAZ'
|
|
1443
|
+
},
|
|
1444
|
+
{
|
|
1445
|
+
label: 'Title Z-A',
|
|
1446
|
+
value: 'titleZA'
|
|
1447
|
+
}
|
|
1448
|
+
];
|
|
1433
1449
|
const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
1434
1450
|
const { rootUrl: rootUrl, enableSort: enableSort = true, enablePagination: enablePagination = true, defaultPageSize: defaultPageSize = 10, defaultSort: defaultSort = {
|
|
1435
1451
|
defaultSort: 'modified',
|
|
1436
1452
|
defaultOrder: 'desc'
|
|
1437
1453
|
}, pageTitle: pageTitle = 'Dataset Explorer', categoriesTitle: categoriesTitle = 'Categories', filterTitle: filterTitle = 'Tags', showLargeFileWarning: showLargeFileWarning = false, largeFileThemes: largeFileThemes, introText: introText = '', showDownloadIcon: showDownloadIcon = false, altMobileSearchButton: altMobileSearchButton, dataDictionaryLinks: dataDictionaryLinks = false, showDateDetails: showDateDetails = false, showTopics: showTopics = false, topicSlugFunction: topicSlugFunction, children: children } = props;
|
|
1438
1454
|
const { ACA: ACA } = (0, $hgUW1$useContext)((0, $844981eac9b63865$export$eccc29c8d0ff408));
|
|
1439
|
-
const
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
value: 'titleZA'
|
|
1455
|
-
}
|
|
1456
|
-
];
|
|
1457
|
-
const defaultSortBy = "";
|
|
1458
|
-
const defaultFulltext = "";
|
|
1459
|
-
const defaultSelectedFacets = {
|
|
1460
|
-
theme: [],
|
|
1461
|
-
keyword: []
|
|
1462
|
-
};
|
|
1463
|
-
const defaultSortOrder = "";
|
|
1464
|
-
const defaultPage = 1;
|
|
1465
|
-
const location = (0, $hgUW1$useLocation)();
|
|
1466
|
-
const transformedParams = (0, $eff7d34c30f5a0fc$export$60ec7cc1d341a524)(location.search, defaultSort);
|
|
1467
|
-
const [currentResultNumbers, setCurrentResultNumbers] = (0, $hgUW1$useState)({
|
|
1468
|
-
total: 0,
|
|
1469
|
-
startingNumber: 0,
|
|
1470
|
-
endingNumber: 0
|
|
1471
|
-
});
|
|
1472
|
-
const [noResults, setNoResults] = (0, $hgUW1$useState)(false);
|
|
1473
|
-
const [announcementText, setAnnouncementText] = (0, $hgUW1$useState)('');
|
|
1474
|
-
let [searchParams, setSearchParams] = (0, $hgUW1$useSearchParams)();
|
|
1475
|
-
const [fulltext, setFullText] = (0, $hgUW1$useState)(transformedParams.fulltext);
|
|
1476
|
-
const [filterText, setFilterText] = (0, $hgUW1$useState)(transformedParams.fulltext);
|
|
1477
|
-
const [totalItems, setTotalItems] = (0, $hgUW1$useState)(0);
|
|
1478
|
-
const [page, setPage] = (0, $hgUW1$useState)(transformedParams.page ? transformedParams.page : defaultPage);
|
|
1479
|
-
const [sort, setSort] = (0, $hgUW1$useState)(transformedParams.sort ? transformedParams.sort : defaultSort ? defaultSort.defaultSort : defaultSortBy);
|
|
1480
|
-
const [sortOrder, setSortOrder] = (0, $hgUW1$useState)(transformedParams.sortOrder ? transformedParams.sortOrder : defaultSort ? defaultSort.defaultOrder : defaultSortOrder);
|
|
1481
|
-
const [sortDisplay, setSortDisplay] = (0, $hgUW1$useState)(()=>{
|
|
1482
|
-
return sort === 'modified' ? sortOrder === 'desc' ? 'newest' : 'oldest' : sortOrder === 'desc' ? 'titleZA' : 'titleAZ';
|
|
1483
|
-
});
|
|
1484
|
-
const [selectedFacets, setSelectedFacets] = (0, $hgUW1$useState)(transformedParams.selectedFacets ? transformedParams.selectedFacets : {
|
|
1485
|
-
theme: [],
|
|
1486
|
-
keyword: []
|
|
1487
|
-
});
|
|
1455
|
+
const [searchParams, setSearchParams] = (0, $hgUW1$useSearchParams)();
|
|
1456
|
+
// Derive all search state from URL params
|
|
1457
|
+
const selectedFacets = (0, $hgUW1$useMemo)(()=>({
|
|
1458
|
+
theme: searchParams.getAll('theme'),
|
|
1459
|
+
keyword: searchParams.getAll('keyword')
|
|
1460
|
+
}), [
|
|
1461
|
+
searchParams
|
|
1462
|
+
]);
|
|
1463
|
+
const page = Number(searchParams.get('page')) || 1;
|
|
1464
|
+
const sort = searchParams.get('sort') || defaultSort.defaultSort;
|
|
1465
|
+
const sortOrder = searchParams.get('sortOrder') || defaultSort.defaultOrder;
|
|
1466
|
+
const fulltext = searchParams.get('fulltext') || '';
|
|
1467
|
+
const sortDisplay = sort === 'modified' ? sortOrder === 'desc' ? 'newest' : 'oldest' : sortOrder === 'desc' ? 'titleZA' : 'titleAZ';
|
|
1468
|
+
// Local UI state only
|
|
1469
|
+
const [filterText, setFilterText] = (0, $hgUW1$useState)(fulltext);
|
|
1488
1470
|
const [invalidSearch, setInvalidSearch] = (0, $hgUW1$useState)(false);
|
|
1489
|
-
|
|
1490
|
-
|
|
1471
|
+
// Sync filterText from URL on back/forward
|
|
1472
|
+
(0, $hgUW1$useEffect)(()=>{
|
|
1473
|
+
setFilterText(fulltext);
|
|
1474
|
+
}, [
|
|
1475
|
+
fulltext
|
|
1476
|
+
]);
|
|
1477
|
+
function buildNextParams(overrides) {
|
|
1478
|
+
const next = new URLSearchParams(searchParams);
|
|
1479
|
+
Object.entries(overrides).forEach(([key, value])=>{
|
|
1480
|
+
next.delete(key);
|
|
1481
|
+
if (value === null) return;
|
|
1482
|
+
const values = Array.isArray(value) ? value : [
|
|
1483
|
+
value
|
|
1484
|
+
];
|
|
1485
|
+
values.forEach((v)=>next.append(key, v));
|
|
1486
|
+
});
|
|
1487
|
+
return next;
|
|
1488
|
+
}
|
|
1489
|
+
function updateSelectedFacets(key, value) {
|
|
1490
|
+
const current = searchParams.getAll(key);
|
|
1491
|
+
const idx = current.indexOf(value);
|
|
1492
|
+
const updated = idx > -1 ? current.filter((_, i)=>i !== idx) : [
|
|
1493
|
+
...current,
|
|
1494
|
+
value
|
|
1495
|
+
];
|
|
1496
|
+
setSearchParams(buildNextParams({
|
|
1497
|
+
[key]: updated.length ? updated : null,
|
|
1498
|
+
page: null
|
|
1499
|
+
}));
|
|
1500
|
+
}
|
|
1501
|
+
const setSortOptionsHandler = (value)=>{
|
|
1502
|
+
let nextSort;
|
|
1503
|
+
let nextSortOrder;
|
|
1491
1504
|
switch(value){
|
|
1492
1505
|
case 'newest':
|
|
1493
|
-
|
|
1494
|
-
|
|
1506
|
+
nextSort = 'modified';
|
|
1507
|
+
nextSortOrder = 'desc';
|
|
1495
1508
|
break;
|
|
1496
1509
|
case 'oldest':
|
|
1497
|
-
|
|
1498
|
-
|
|
1510
|
+
nextSort = 'modified';
|
|
1511
|
+
nextSortOrder = 'asc';
|
|
1499
1512
|
break;
|
|
1500
1513
|
case 'titleAZ':
|
|
1501
|
-
|
|
1502
|
-
|
|
1514
|
+
nextSort = 'title';
|
|
1515
|
+
nextSortOrder = 'asc';
|
|
1503
1516
|
break;
|
|
1504
1517
|
case 'titleZA':
|
|
1505
|
-
|
|
1506
|
-
|
|
1518
|
+
nextSort = 'title';
|
|
1519
|
+
nextSortOrder = 'desc';
|
|
1507
1520
|
break;
|
|
1521
|
+
default:
|
|
1522
|
+
return;
|
|
1508
1523
|
}
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
...selectedFacets
|
|
1524
|
+
const overrides = {
|
|
1525
|
+
sort: nextSort === defaultSort.defaultSort ? null : nextSort,
|
|
1526
|
+
sortOrder: nextSortOrder === defaultSort.defaultOrder ? null : nextSortOrder
|
|
1513
1527
|
};
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
if (existingFacet > -1) newFacets.theme.splice(existingFacet, 1);
|
|
1517
|
-
else newFacets.theme.push(value);
|
|
1518
|
-
}
|
|
1519
|
-
if (key === 'keyword') {
|
|
1520
|
-
const existingFacet = newFacets.keyword.findIndex((s)=>s === value);
|
|
1521
|
-
if (existingFacet > -1) newFacets.keyword.splice(existingFacet, 1);
|
|
1522
|
-
else newFacets.keyword.push(value);
|
|
1523
|
-
}
|
|
1524
|
-
const urlString = (0, $hgUW1$qs).stringify({
|
|
1525
|
-
theme: newFacets.theme,
|
|
1526
|
-
keyword: newFacets.keyword
|
|
1527
|
-
}, {
|
|
1528
|
-
encodeValuesOnly: true,
|
|
1529
|
-
addQueryPrefix: true
|
|
1530
|
-
});
|
|
1531
|
-
setSelectedFacets(newFacets);
|
|
1532
|
-
const url = new URL(window.location.href);
|
|
1533
|
-
window.history.pushState({}, '', `${url.origin}${url.pathname}${urlString}`);
|
|
1534
|
-
}
|
|
1535
|
-
const pageSize = defaultPageSize;
|
|
1528
|
+
setSearchParams(buildNextParams(overrides));
|
|
1529
|
+
};
|
|
1536
1530
|
function resetFilters() {
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
setSelectedFacets(defaultSelectedFacets);
|
|
1540
|
-
setPage(defaultPage);
|
|
1541
|
-
const url = new URL(window.location.href);
|
|
1542
|
-
window.history.pushState({}, '', `${url.origin}${url.pathname}`);
|
|
1543
|
-
}
|
|
1544
|
-
function buildSearchParams(includePage) {
|
|
1545
|
-
let newParams = {};
|
|
1546
|
-
if (Number(page) !== 1 && includePage) newParams.page = page;
|
|
1547
|
-
if (sort !== defaultSort.defaultSort) newParams.sort = sort;
|
|
1548
|
-
if (sortOrder !== defaultSort.defaultOrder) newParams.sortOrder = sortOrder;
|
|
1549
|
-
if (fulltext !== '') newParams.fulltext = fulltext;
|
|
1550
|
-
if (Object.keys(selectedFacets).length) Object.keys(selectedFacets).forEach((key)=>{
|
|
1551
|
-
newParams[key] = selectedFacets[key];
|
|
1552
|
-
});
|
|
1553
|
-
return (0, $hgUW1$qs).stringify(newParams, {
|
|
1554
|
-
addQueryPrefix: includePage,
|
|
1555
|
-
encode: true
|
|
1556
|
-
});
|
|
1531
|
+
setFilterText('');
|
|
1532
|
+
setSearchParams({});
|
|
1557
1533
|
}
|
|
1558
|
-
|
|
1534
|
+
const pageSize = defaultPageSize;
|
|
1535
|
+
const params = {
|
|
1559
1536
|
fulltext: fulltext ? fulltext : undefined,
|
|
1560
1537
|
...selectedFacets,
|
|
1561
1538
|
sort: sort ? sort : undefined,
|
|
@@ -1563,7 +1540,7 @@ const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
|
1563
1540
|
page: page !== 1 ? page : undefined,
|
|
1564
1541
|
['page-size']: pageSize !== 10 ? pageSize : undefined
|
|
1565
1542
|
};
|
|
1566
|
-
const { data: data, isPending: isPending
|
|
1543
|
+
const { data: data, isPending: isPending } = (0, $hgUW1$useQuery)({
|
|
1567
1544
|
queryKey: [
|
|
1568
1545
|
"datasets",
|
|
1569
1546
|
params
|
|
@@ -1575,55 +1552,30 @@ const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
|
1575
1552
|
})}`);
|
|
1576
1553
|
}
|
|
1577
1554
|
});
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
(0, $hgUW1$useEffect)(()=>{
|
|
1581
|
-
if (data?.data?.total !== undefined && data.data.total !== totalItems) setTotalItems(data.data.total);
|
|
1582
|
-
}, [
|
|
1583
|
-
data?.data?.total
|
|
1584
|
-
]);
|
|
1585
|
-
const facets = data && data.data.facets ? (0, $eff7d34c30f5a0fc$export$959638e8dca60ce6)(data ? data.data.facets : []) : {
|
|
1555
|
+
const totalItems = data?.data?.total ? Number(data.data.total) : 0;
|
|
1556
|
+
const facets = data && data.data.facets ? (0, $eff7d34c30f5a0fc$export$959638e8dca60ce6)(data.data.facets) : {
|
|
1586
1557
|
theme: null,
|
|
1587
1558
|
keyword: null
|
|
1588
1559
|
};
|
|
1589
|
-
(0, $hgUW1$
|
|
1590
|
-
const baseNumber =
|
|
1591
|
-
const startingNumber = baseNumber + (
|
|
1592
|
-
const endingNumber =
|
|
1593
|
-
|
|
1594
|
-
total:
|
|
1595
|
-
startingNumber:
|
|
1596
|
-
endingNumber:
|
|
1597
|
-
}
|
|
1598
|
-
if (totalItems <= 0 && currentResultNumbers !== null) setNoResults(true);
|
|
1599
|
-
else setNoResults(false);
|
|
1560
|
+
const currentResultNumbers = (0, $hgUW1$useMemo)(()=>{
|
|
1561
|
+
const baseNumber = totalItems > 0 ? 1 : 0;
|
|
1562
|
+
const startingNumber = baseNumber + (pageSize * page - pageSize);
|
|
1563
|
+
const endingNumber = pageSize * page;
|
|
1564
|
+
return {
|
|
1565
|
+
total: totalItems,
|
|
1566
|
+
startingNumber: totalItems >= startingNumber ? startingNumber : 0,
|
|
1567
|
+
endingNumber: totalItems < endingNumber ? totalItems : endingNumber
|
|
1568
|
+
};
|
|
1600
1569
|
}, [
|
|
1601
1570
|
totalItems,
|
|
1602
1571
|
pageSize,
|
|
1603
1572
|
page
|
|
1604
1573
|
]);
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
]);
|
|
1611
|
-
(0, $hgUW1$useEffect)(()=>{
|
|
1612
|
-
if (totalItems !== null && totalItems !== undefined && totalItems > 0) {
|
|
1613
|
-
var params = buildSearchParams(true);
|
|
1614
|
-
if (params !== location.search) setSearchParams(params);
|
|
1615
|
-
}
|
|
1616
|
-
}, [
|
|
1617
|
-
page,
|
|
1618
|
-
sort,
|
|
1619
|
-
sortOrder,
|
|
1620
|
-
totalItems
|
|
1621
|
-
]);
|
|
1622
|
-
(0, $hgUW1$useEffect)(()=>{
|
|
1623
|
-
// No results found
|
|
1624
|
-
if (noResults) setAnnouncementText('No results found.');
|
|
1625
|
-
else if (!isPending && (!data || !data.data.results)) setAnnouncementText('Could not connect to the API.');
|
|
1626
|
-
else setAnnouncementText(`Showing ${currentResultNumbers.startingNumber} to ${currentResultNumbers.endingNumber} of ${currentResultNumbers.total} datasets`);
|
|
1574
|
+
const noResults = totalItems <= 0 && !isPending && data?.data?.results !== undefined;
|
|
1575
|
+
const announcementText = (0, $hgUW1$useMemo)(()=>{
|
|
1576
|
+
if (noResults) return 'No results found.';
|
|
1577
|
+
if (!isPending && (!data || !data.data.results)) return 'Could not connect to the API.';
|
|
1578
|
+
return `Showing ${currentResultNumbers.startingNumber} to ${currentResultNumbers.endingNumber} of ${currentResultNumbers.total} datasets`;
|
|
1627
1579
|
}, [
|
|
1628
1580
|
data,
|
|
1629
1581
|
isPending,
|
|
@@ -1674,8 +1626,17 @@ const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
|
1674
1626
|
if (filterText) {
|
|
1675
1627
|
if ($e873081a6e8f024e$export$1040147c129fdde9(filterText)) {
|
|
1676
1628
|
setInvalidSearch(false);
|
|
1677
|
-
|
|
1629
|
+
setSearchParams(buildNextParams({
|
|
1630
|
+
fulltext: filterText,
|
|
1631
|
+
page: null
|
|
1632
|
+
}));
|
|
1678
1633
|
} else setInvalidSearch(true);
|
|
1634
|
+
} else {
|
|
1635
|
+
setInvalidSearch(false);
|
|
1636
|
+
setSearchParams(buildNextParams({
|
|
1637
|
+
fulltext: null,
|
|
1638
|
+
page: null
|
|
1639
|
+
}));
|
|
1679
1640
|
}
|
|
1680
1641
|
},
|
|
1681
1642
|
className: "dkan-dataset-search ds-l-form-row ds-u-padding-bottom--4 ds-u-border-bottom--1",
|
|
@@ -1763,12 +1724,12 @@ const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
|
1763
1724
|
enableSort && /*#__PURE__*/ (0, $hgUW1$jsx)("div", {
|
|
1764
1725
|
className: "ds-l-col--12 ds-l-sm-col--6 ds-l-md-col--4 ds-u-sm-padding-right--0",
|
|
1765
1726
|
children: /*#__PURE__*/ (0, $hgUW1$jsx)((0, $hgUW1$Dropdown), {
|
|
1766
|
-
options: sortOptions,
|
|
1727
|
+
options: $e873081a6e8f024e$var$sortOptions,
|
|
1767
1728
|
value: sortDisplay,
|
|
1768
1729
|
label: "Sort",
|
|
1769
1730
|
labelClassName: "ds-u-margin-top--0",
|
|
1770
1731
|
name: "dataset_search_sort",
|
|
1771
|
-
onChange: (e)=>
|
|
1732
|
+
onChange: (e)=>setSortOptionsHandler(e.target.value)
|
|
1772
1733
|
})
|
|
1773
1734
|
})
|
|
1774
1735
|
]
|
|
@@ -1782,47 +1743,42 @@ const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
|
1782
1743
|
role: "region",
|
|
1783
1744
|
heading: "No results found."
|
|
1784
1745
|
}),
|
|
1785
|
-
data && data.data.results ? Object.
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
let showLargeFile = false;
|
|
1793
|
-
if (largeFileThemes && item.theme) largeFileThemes.forEach((theme)=>{
|
|
1794
|
-
if (item.theme.includes(theme)) showLargeFile = true;
|
|
1795
|
-
});
|
|
1796
|
-
let dateDetailProps = {};
|
|
1797
|
-
if (showDateDetails) dateDetailProps = {
|
|
1746
|
+
data && data.data.results ? Object.values(data.data.results).map((item)=>{
|
|
1747
|
+
const downloadUrl = (()=>{
|
|
1748
|
+
const distribution_array = item.distribution ?? [];
|
|
1749
|
+
return distribution_array.length ? distribution_array[0].downloadURL : null;
|
|
1750
|
+
})();
|
|
1751
|
+
const showLargeFile = largeFileThemes && item.theme ? largeFileThemes.some((theme)=>item.theme.includes(theme)) : false;
|
|
1752
|
+
const dateDetailProps = showDateDetails ? {
|
|
1798
1753
|
showDateDetails: showDateDetails,
|
|
1799
1754
|
released: item.released,
|
|
1800
1755
|
refresh: item.nextUpdateDate
|
|
1801
|
-
};
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
let topicSlugs = {};
|
|
1756
|
+
} : {};
|
|
1757
|
+
const topicProps = (()=>{
|
|
1758
|
+
if (!showTopics) return {};
|
|
1759
|
+
const topicSlugs = {};
|
|
1806
1760
|
if (item.theme && Array.isArray(item.theme)) item.theme.forEach((topic)=>{
|
|
1807
|
-
if (topic)
|
|
1761
|
+
if (topic) {
|
|
1762
|
+
const slug = topicSlugFunction ? topicSlugFunction(topic) : topic.split(' ').join('-').toLowerCase();
|
|
1763
|
+
if (slug) topicSlugs[topic] = slug;
|
|
1764
|
+
}
|
|
1808
1765
|
});
|
|
1809
|
-
|
|
1766
|
+
return {
|
|
1810
1767
|
showTopics: showTopics,
|
|
1811
1768
|
theme: item.theme,
|
|
1812
1769
|
topicSlugs: topicSlugs
|
|
1813
1770
|
};
|
|
1814
|
-
}
|
|
1771
|
+
})();
|
|
1815
1772
|
return /*#__PURE__*/ (0, $hgUW1$jsx)((0, $52c6454cae137465$export$2e2bcd8739ae039), {
|
|
1816
|
-
location: location,
|
|
1817
1773
|
title: item.title,
|
|
1818
1774
|
modified: item.modified,
|
|
1819
1775
|
description: item.description,
|
|
1820
1776
|
identifier: item.identifier,
|
|
1821
|
-
downloadUrl: showDownloadIcon ?
|
|
1777
|
+
downloadUrl: showDownloadIcon ? downloadUrl : null,
|
|
1822
1778
|
largeFile: showLargeFile,
|
|
1823
1779
|
paginationEnabled: enablePagination,
|
|
1824
1780
|
dataDictionaryLinks: dataDictionaryLinks,
|
|
1825
|
-
distribution: "%Ref:distribution" in item ? item["%Ref:distribution"][0] : {},
|
|
1781
|
+
distribution: "%Ref:distribution" in item && item["%Ref:distribution"] ? item["%Ref:distribution"][0] : {},
|
|
1826
1782
|
...dateDetailProps,
|
|
1827
1783
|
...topicProps
|
|
1828
1784
|
}, item.identifier);
|
|
@@ -1833,18 +1789,21 @@ const $e873081a6e8f024e$var$DatasetSearch = (props)=>{
|
|
|
1833
1789
|
})
|
|
1834
1790
|
]
|
|
1835
1791
|
}),
|
|
1836
|
-
enablePagination && data && data.data.total && data.data.total
|
|
1792
|
+
enablePagination && data && data.data.total && Number(data.data.total) !== 0 && /*#__PURE__*/ (0, $hgUW1$jsx)((0, $hgUW1$Pagination), {
|
|
1837
1793
|
currentPage: Number(page),
|
|
1838
1794
|
totalPages: Math.ceil(Number(data.data.total) / pageSize),
|
|
1839
1795
|
onPageChange: (evt, page)=>{
|
|
1840
1796
|
evt.preventDefault();
|
|
1841
1797
|
window.scroll(0, 0);
|
|
1842
|
-
|
|
1798
|
+
setSearchParams(buildNextParams({
|
|
1799
|
+
page: page > 1 ? String(page) : null
|
|
1800
|
+
}));
|
|
1843
1801
|
},
|
|
1844
|
-
renderHref: (
|
|
1845
|
-
const
|
|
1846
|
-
|
|
1847
|
-
|
|
1802
|
+
renderHref: (p)=>{
|
|
1803
|
+
const next = buildNextParams({
|
|
1804
|
+
page: p > 1 ? String(p) : null
|
|
1805
|
+
});
|
|
1806
|
+
return `/datasets?${next.toString()}`;
|
|
1848
1807
|
}
|
|
1849
1808
|
})
|
|
1850
1809
|
]
|
|
@@ -3774,10 +3733,11 @@ const $6f4318b1e14124e5$var$FilterDataset = ()=>{
|
|
|
3774
3733
|
const { distribution: distribution, resource: resource, customColumns: customColumns = [], enableEmptyFilters: enableEmptyFilters } = (0, $hgUW1$useContext)((0, $43a30d745a7bbc86$export$2e2bcd8739ae039));
|
|
3775
3734
|
const { setPage: setPage } = (0, $hgUW1$useContext)((0, $ee0d4d4f34048447$export$f814ea079e65d8fe));
|
|
3776
3735
|
if (!resource) return null;
|
|
3777
|
-
const customColumnHeaders = (0, $7264a673914aa746$export$8049e8f40a9bdfb8)(customColumns, resource.columns, resource.schema[distribution.identifier]);
|
|
3778
3736
|
const id = distribution.identifier;
|
|
3779
|
-
const columns = customColumnHeaders ? customColumnHeaders : (0, $a35cf16d1488f54e$export$1147582dfae658c6)(resource.columns, resource.schema[id]);
|
|
3780
3737
|
const { conditions: conditions, schema: schema, setConditions: setConditions, setOffset: setOffset } = resource;
|
|
3738
|
+
if (!schema[id]?.fields) return null;
|
|
3739
|
+
const customColumnHeaders = (0, $7264a673914aa746$export$8049e8f40a9bdfb8)(customColumns, resource.columns, resource.schema[distribution.identifier]);
|
|
3740
|
+
const columns = customColumnHeaders ? customColumnHeaders : (0, $a35cf16d1488f54e$export$1147582dfae658c6)(resource.columns, resource.schema[id]);
|
|
3781
3741
|
const fields = Object.keys(schema[id].fields);
|
|
3782
3742
|
const [queryConditions, setQueryConditions] = (0, $hgUW1$useState)([]);
|
|
3783
3743
|
const [titleConditions, setTitleConditions] = (0, $hgUW1$useState)([]);
|