@civicactions/cmsds-open-data-components 1.9.0-alpha.3 → 1.9.0-alpha.7
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/scss/components/dataset-search-facets.scss +7 -0
- package/dist/scss/index.scss +4 -0
- package/lib/assets/metadataMapping.js +26 -21
- package/lib/assets/metadataMapping.jsx +23 -16
- package/lib/components/DatasetSearchFacets/index.js +19 -32
- package/lib/templates/DatasetSearch/index.js +23 -7
- package/package.json +1 -1
package/dist/scss/index.scss
CHANGED
|
@@ -32,6 +32,12 @@ var defaultMetadataMapping = {
|
|
|
32
32
|
})
|
|
33
33
|
}];
|
|
34
34
|
},
|
|
35
|
+
accrualPeriodicity: function accrualPeriodicity(data) {
|
|
36
|
+
return [{
|
|
37
|
+
label: 'Frequency',
|
|
38
|
+
value: _frequencyMap.frequencyMap[data].name
|
|
39
|
+
}];
|
|
40
|
+
},
|
|
35
41
|
publisher: function publisher(data) {
|
|
36
42
|
if (data.data && data.data.name) {
|
|
37
43
|
return [{
|
|
@@ -87,8 +93,9 @@ var defaultMetadataMapping = {
|
|
|
87
93
|
return [{
|
|
88
94
|
label: 'Category',
|
|
89
95
|
value: data.map(function (theme) {
|
|
90
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
91
|
-
key: theme.data
|
|
96
|
+
return /*#__PURE__*/_react["default"].createElement(_router.Link, {
|
|
97
|
+
key: theme.data,
|
|
98
|
+
to: "/datasets?theme[]=".concat(theme.data)
|
|
92
99
|
}, theme.data);
|
|
93
100
|
}).reduce(function (prev, curr) {
|
|
94
101
|
return [prev, ', ', curr];
|
|
@@ -111,7 +118,9 @@ var defaultMetadataMapping = {
|
|
|
111
118
|
license: function license(data) {
|
|
112
119
|
return [{
|
|
113
120
|
label: 'License',
|
|
114
|
-
value:
|
|
121
|
+
value: /*#__PURE__*/_react["default"].createElement("a", {
|
|
122
|
+
href: data
|
|
123
|
+
}, data)
|
|
115
124
|
}];
|
|
116
125
|
},
|
|
117
126
|
accessLevel: function accessLevel(data) {
|
|
@@ -120,24 +129,12 @@ var defaultMetadataMapping = {
|
|
|
120
129
|
value: data
|
|
121
130
|
}];
|
|
122
131
|
},
|
|
123
|
-
references: function references(data) {
|
|
124
|
-
return [{
|
|
125
|
-
label: 'Related Documents',
|
|
126
|
-
value: /*#__PURE__*/_react["default"].createElement("ul", {
|
|
127
|
-
className: "ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0"
|
|
128
|
-
}, data.map(function (item) {
|
|
129
|
-
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
130
|
-
key: item
|
|
131
|
-
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
132
|
-
href: item
|
|
133
|
-
}, item));
|
|
134
|
-
}))
|
|
135
|
-
}];
|
|
136
|
-
},
|
|
137
132
|
temporal: function temporal(data) {
|
|
138
133
|
return [{
|
|
139
134
|
label: 'Temporal Coverage',
|
|
140
|
-
value:
|
|
135
|
+
value: /*#__PURE__*/_react["default"].createElement("span", {
|
|
136
|
+
className: "dc-c-word-break--all"
|
|
137
|
+
}, data)
|
|
141
138
|
}];
|
|
142
139
|
},
|
|
143
140
|
spatial: function spatial(data) {
|
|
@@ -146,10 +143,18 @@ var defaultMetadataMapping = {
|
|
|
146
143
|
value: data
|
|
147
144
|
}];
|
|
148
145
|
},
|
|
149
|
-
|
|
146
|
+
references: function references(data) {
|
|
150
147
|
return [{
|
|
151
|
-
label: '
|
|
152
|
-
value:
|
|
148
|
+
label: 'Related Documents',
|
|
149
|
+
value: /*#__PURE__*/_react["default"].createElement("ul", {
|
|
150
|
+
className: "ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0"
|
|
151
|
+
}, data.map(function (item) {
|
|
152
|
+
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
153
|
+
key: item
|
|
154
|
+
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
155
|
+
href: item
|
|
156
|
+
}, item));
|
|
157
|
+
}))
|
|
153
158
|
}];
|
|
154
159
|
}
|
|
155
160
|
};
|
|
@@ -10,6 +10,14 @@ export const defaultMetadataMapping = {
|
|
|
10
10
|
issued: (data) => {
|
|
11
11
|
return [{ label: 'Issued', value: <TransformedDate date={data} /> }];
|
|
12
12
|
},
|
|
13
|
+
accrualPeriodicity: (data) => {
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
label: 'Frequency',
|
|
17
|
+
value: frequencyMap[data].name,
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
},
|
|
13
21
|
publisher: (data) => {
|
|
14
22
|
if (data.data && data.data.name) {
|
|
15
23
|
return [{ label: 'Publisher', value: data.data.name }];
|
|
@@ -45,7 +53,11 @@ export const defaultMetadataMapping = {
|
|
|
45
53
|
{
|
|
46
54
|
label: 'Category',
|
|
47
55
|
value: data
|
|
48
|
-
.map((theme) =>
|
|
56
|
+
.map((theme) => (
|
|
57
|
+
<Link key={theme.data} to={`/datasets?theme[]=${theme.data}`}>
|
|
58
|
+
{theme.data}
|
|
59
|
+
</Link>
|
|
60
|
+
))
|
|
49
61
|
.reduce((prev, curr) => [prev, ', ', curr]),
|
|
50
62
|
},
|
|
51
63
|
];
|
|
@@ -65,11 +77,20 @@ export const defaultMetadataMapping = {
|
|
|
65
77
|
];
|
|
66
78
|
},
|
|
67
79
|
license: (data) => {
|
|
68
|
-
return [{ label: 'License', value: data }];
|
|
80
|
+
return [{ label: 'License', value: <a href={data}>{data}</a> }];
|
|
69
81
|
},
|
|
70
82
|
accessLevel: (data) => {
|
|
71
83
|
return [{ label: 'Public Access Level', value: data }];
|
|
72
84
|
},
|
|
85
|
+
|
|
86
|
+
temporal: (data) => {
|
|
87
|
+
return [
|
|
88
|
+
{ label: 'Temporal Coverage', value: <span className="dc-c-word-break--all">{data}</span> },
|
|
89
|
+
];
|
|
90
|
+
},
|
|
91
|
+
spatial: (data) => {
|
|
92
|
+
return [{ label: 'Spacial/Geographical Coverage', value: data }];
|
|
93
|
+
},
|
|
73
94
|
references: (data) => {
|
|
74
95
|
return [
|
|
75
96
|
{
|
|
@@ -86,18 +107,4 @@ export const defaultMetadataMapping = {
|
|
|
86
107
|
},
|
|
87
108
|
];
|
|
88
109
|
},
|
|
89
|
-
temporal: (data) => {
|
|
90
|
-
return [{ label: 'Temporal Coverage', value: data }];
|
|
91
|
-
},
|
|
92
|
-
spatial: (data) => {
|
|
93
|
-
return [{ label: 'Spacial/Geographical Coverage', value: data }];
|
|
94
|
-
},
|
|
95
|
-
accrualPeriodicity: (data) => {
|
|
96
|
-
return [
|
|
97
|
-
{
|
|
98
|
-
label: 'Frequency',
|
|
99
|
-
value: frequencyMap[data].name,
|
|
100
|
-
},
|
|
101
|
-
];
|
|
102
|
-
},
|
|
103
110
|
};
|
|
@@ -38,7 +38,8 @@ var DatasetSearchFacets = function DatasetSearchFacets(_ref) {
|
|
|
38
38
|
var title = _ref.title,
|
|
39
39
|
facets = _ref.facets,
|
|
40
40
|
onclickFunction = _ref.onclickFunction,
|
|
41
|
-
selectedFacets = _ref.selectedFacets
|
|
41
|
+
selectedFacets = _ref.selectedFacets,
|
|
42
|
+
loading = _ref.loading;
|
|
42
43
|
var showLimit = 25;
|
|
43
44
|
|
|
44
45
|
var _useState = (0, _react.useState)(true),
|
|
@@ -52,29 +53,20 @@ var DatasetSearchFacets = function DatasetSearchFacets(_ref) {
|
|
|
52
53
|
setShowMore = _useState4[1];
|
|
53
54
|
|
|
54
55
|
var filteredFacets = facets.filter(function (f) {
|
|
55
|
-
|
|
56
|
+
var selectedIndex = selectedFacets.findIndex(function (item) {
|
|
57
|
+
return item === f.name;
|
|
58
|
+
});
|
|
59
|
+
return f.total > 0 || selectedIndex !== -1;
|
|
56
60
|
});
|
|
57
61
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
58
|
-
className: "ds-u-margin-bottom--4"
|
|
59
|
-
}, /*#__PURE__*/_react["default"].createElement(_designSystem.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
}, title), isOpen && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("ul", {
|
|
62
|
+
className: "ds-u-margin-bottom--4 dc-dataset-search--facets-container"
|
|
63
|
+
}, /*#__PURE__*/_react["default"].createElement(_designSystem.Accordion, null, /*#__PURE__*/_react["default"].createElement(_designSystem.AccordionItem, {
|
|
64
|
+
contentClassName: "ds-u-padding-left--1 ds-u-padding-right--0",
|
|
65
|
+
heading: "".concat(title, " (").concat(filteredFacets.length, ")"),
|
|
66
|
+
defaultOpen: true
|
|
67
|
+
}, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, filteredFacets.length ? /*#__PURE__*/_react["default"].createElement("ul", {
|
|
66
68
|
className: "dc-dataset-search--facets ds-u-padding--0 ds-u-margin--0"
|
|
67
|
-
}, filteredFacets.
|
|
68
|
-
if (!showMore) {
|
|
69
|
-
if (index <= showLimit) {
|
|
70
|
-
return facet;
|
|
71
|
-
} else {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return facet;
|
|
77
|
-
}).map(function (f) {
|
|
69
|
+
}, filteredFacets.map(function (f) {
|
|
78
70
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
79
71
|
key: f.name
|
|
80
72
|
}, /*#__PURE__*/_react["default"].createElement(_designSystem.Choice, {
|
|
@@ -90,19 +82,14 @@ var DatasetSearchFacets = function DatasetSearchFacets(_ref) {
|
|
|
90
82
|
});
|
|
91
83
|
}
|
|
92
84
|
}));
|
|
93
|
-
}))
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return setShowMore(true);
|
|
97
|
-
}
|
|
98
|
-
}, "Show more"), showMore && filteredFacets.length > showLimit && /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
|
|
99
|
-
variation: "transparent",
|
|
100
|
-
onClick: function onClick() {
|
|
101
|
-
return setShowMore(false);
|
|
102
|
-
}
|
|
103
|
-
}, "Show less")));
|
|
85
|
+
})) : /*#__PURE__*/_react["default"].createElement("p", {
|
|
86
|
+
className: "ds-h5"
|
|
87
|
+
}, "No matching facets found.")))));
|
|
104
88
|
};
|
|
105
89
|
|
|
90
|
+
DatasetSearchFacets.defaultProps = {
|
|
91
|
+
selectedFacets: []
|
|
92
|
+
};
|
|
106
93
|
DatasetSearchFacets.propTypes = {
|
|
107
94
|
title: _propTypes["default"].string.isRequired,
|
|
108
95
|
facets: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
@@ -101,6 +101,11 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
101
101
|
currentResultNumbers = _useState2[0],
|
|
102
102
|
setCurrentResultNumbers = _useState2[1];
|
|
103
103
|
|
|
104
|
+
var _useState3 = (0, _react.useState)(false),
|
|
105
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
106
|
+
noResults = _useState4[0],
|
|
107
|
+
setNoResults = _useState4[1];
|
|
108
|
+
|
|
104
109
|
var _useSearchAPI = (0, _dataCatalogServices.useSearchAPI)(rootUrl, _objectSpread({}, transformUrlParamsToSearchObject(location.search, ['theme', 'keyword'], defaultSort)), additionalParams),
|
|
105
110
|
fulltext = _useSearchAPI.fulltext,
|
|
106
111
|
selectedFacets = _useSearchAPI.selectedFacets,
|
|
@@ -123,10 +128,10 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
123
128
|
theme = _separateFacets.theme,
|
|
124
129
|
keyword = _separateFacets.keyword;
|
|
125
130
|
|
|
126
|
-
var
|
|
127
|
-
|
|
128
|
-
filterText =
|
|
129
|
-
setFilterText =
|
|
131
|
+
var _useState5 = (0, _react.useState)(''),
|
|
132
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
133
|
+
filterText = _useState6[0],
|
|
134
|
+
setFilterText = _useState6[1];
|
|
130
135
|
|
|
131
136
|
_react["default"].useEffect(function () {
|
|
132
137
|
if (fulltext !== filterText) {
|
|
@@ -149,6 +154,12 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
149
154
|
startingNumber: startingNumber,
|
|
150
155
|
endingNumber: Number(totalItems) < endingNumber ? Number(totalItems) : endingNumber
|
|
151
156
|
});
|
|
157
|
+
|
|
158
|
+
if (totalItems <= 0 && currentResultNumbers !== null) {
|
|
159
|
+
setNoResults(true);
|
|
160
|
+
} else {
|
|
161
|
+
setNoResults(false);
|
|
162
|
+
}
|
|
152
163
|
}, [totalItems, pageSize, page]);
|
|
153
164
|
|
|
154
165
|
function changePage(page) {
|
|
@@ -208,7 +219,10 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
208
219
|
}
|
|
209
220
|
}, "Clear all filters")), /*#__PURE__*/_react["default"].createElement("ol", {
|
|
210
221
|
className: "dc-dataset-search-list ds-u-padding--0"
|
|
211
|
-
},
|
|
222
|
+
}, noResults && /*#__PURE__*/_react["default"].createElement(_designSystem.Alert, {
|
|
223
|
+
variation: "error",
|
|
224
|
+
heading: "No results found."
|
|
225
|
+
}), items.map(function (item) {
|
|
212
226
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
213
227
|
className: "ds-u-padding--0"
|
|
214
228
|
}, /*#__PURE__*/_react["default"].createElement(_DatasetSearchListItem["default"], {
|
|
@@ -253,7 +267,8 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
253
267
|
title: "Categories",
|
|
254
268
|
facets: theme,
|
|
255
269
|
onclickFunction: updateSelectedFacets,
|
|
256
|
-
selectedFacets: selectedFacets.theme
|
|
270
|
+
selectedFacets: selectedFacets.theme,
|
|
271
|
+
loading: loading
|
|
257
272
|
}) : /*#__PURE__*/_react["default"].createElement(_designSystem.Spinner, {
|
|
258
273
|
className: "ds-u-valign--middle",
|
|
259
274
|
"aria-valuetext": "Categories loading",
|
|
@@ -262,7 +277,8 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
262
277
|
title: "Tags",
|
|
263
278
|
facets: keyword,
|
|
264
279
|
onclickFunction: updateSelectedFacets,
|
|
265
|
-
selectedFacets: selectedFacets.keyword
|
|
280
|
+
selectedFacets: selectedFacets.keyword,
|
|
281
|
+
loading: loading
|
|
266
282
|
}) : /*#__PURE__*/_react["default"].createElement(_designSystem.Spinner, {
|
|
267
283
|
className: "ds-u-valign--middle",
|
|
268
284
|
"aria-valuetext": "Tags loading",
|
package/package.json
CHANGED