- {Object.entries(groupedFacets).map(([groupName, groupFacets]) => (
-
- {groupName !== "default" && (
-
- {t(`filters|group$${groupName}`)}:
-
- )}
-
- {Object.entries(groupFacets)
- .sort((a, b) => (a[1].indexOrder > b[1].indexOrder ? 1 : -1))
- .map(([key, value], idx: number) => {
- const isLicense = false;
- const shouldFetchMore = value.show <= value.count;
- const show = (value && value.show) || 20;
- const facetValues = inputFilter[key]
- ? value?.facetValues.filter(
- (v) =>
- v.title
- ?.toLowerCase()
- .includes(inputFilter[key].toLowerCase()),
- )
- : value?.facetValues.slice(0, show);
-
- if (key !== hvd && key !== national) {
- return (
- -
-
-
- {(searchMode == "datasets" ||
- searchMode == "specifications") && (
- //only render on searchpage
- <>
- {isLicense ? (
-
- ) : (
-
- shouldFetchMore &&
- search.fetchMoreFacets(key)
- }
- />
- )}
- >
- )}
- {/* List of filter options within this category */}
-
- {facetValues.map(
- (
- facetValue: SearchFacetValue,
- index: number,
- ) => (
- -
-
-
- ),
- )}
-
-
- {value.facetValues.length > value.show && (
-
-
-
- );
- } else if (key === hvd) {
- return (
- filter.id === "hvd_only",
- )}
- onChange={() => doSearch(key, facetValues[0])}
- label={t(`resources|${key}`)}
- iconSize={iconSize}
- />
- );
- } else if (key === national) {
- return (
- filter.id === "national_only",
- )}
- onChange={() => doSearch(key, facetValues[0])}
- label={t(`resources|${key}`)}
- iconSize={iconSize}
- />
- );
- }
- })}
-
- {searchMode == "datasets" && groupName == "distribution" && (
- filter.id === "api_only",
- )}
- onChange={() => {
- clearCurrentScrollPos();
- if (
- activeCheckboxFilters.some(
- (filter) => filter.id === "api_only",
- )
- ) {
- search
- .set({
- esRdfTypes: [
- ESRdfType.dataset,
- ESRdfType.esterms_IndependentDataService,
- ESRdfType.esterms_ServedByDataService,
- ],
- query: query,
- })
- .then(() => search.doSearch());
- } else {
- search
- .set({
- esRdfTypes: [
- ESRdfType.esterms_IndependentDataService,
- ESRdfType.esterms_ServedByDataService,
- ],
- query: query,
- })
- .then(() => search.doSearch());
- }
- }}
- label={t(`resources|api`)}
- iconSize={iconSize}
- />
- )}
-
-
- ))}
-
-
-