@civicactions/cmsds-open-data-components 1.16.0 → 1.16.1
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.
|
@@ -89,6 +89,12 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
89
89
|
noResults = _useState4[0],
|
|
90
90
|
setNoResults = _useState4[1];
|
|
91
91
|
|
|
92
|
+
var _useState5 = (0, _react.useState)(true),
|
|
93
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
94
|
+
loadingData = _useState6[0],
|
|
95
|
+
setLoadingData = _useState6[1];
|
|
96
|
+
|
|
97
|
+
var loadingRef = (0, _react.useRef)();
|
|
92
98
|
var location = (0, _reactRouterDom.useLocation)();
|
|
93
99
|
|
|
94
100
|
var _useSearchParams = (0, _reactRouterDom.useSearchParams)(),
|
|
@@ -96,10 +102,10 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
96
102
|
searchParams = _useSearchParams2[0],
|
|
97
103
|
setSearchParams = _useSearchParams2[1];
|
|
98
104
|
|
|
99
|
-
var
|
|
100
|
-
|
|
101
|
-
filterText =
|
|
102
|
-
setFilterText =
|
|
105
|
+
var _useState7 = (0, _react.useState)(''),
|
|
106
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
107
|
+
filterText = _useState8[0],
|
|
108
|
+
setFilterText = _useState8[1];
|
|
103
109
|
|
|
104
110
|
var _useSearchAPI = (0, _dataCatalogServices.useSearchAPI)(rootUrl, _objectSpread({}, transformUrlParamsToSearchObject(location.search, ['theme', 'keyword'], defaultSort)), additionalParams),
|
|
105
111
|
fulltext = _useSearchAPI.fulltext,
|
|
@@ -166,6 +172,14 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
166
172
|
setSearchParams(params);
|
|
167
173
|
}
|
|
168
174
|
}, [page, sort, sortOrder, fulltext, selectedFacets]);
|
|
175
|
+
(0, _react.useEffect)(function () {
|
|
176
|
+
// when loading state was previously true and is now false, display data
|
|
177
|
+
if (!loading && loadingRef.current === true) {
|
|
178
|
+
setLoadingData(false);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
loadingRef.current = loading;
|
|
182
|
+
}, [loading]);
|
|
169
183
|
(0, _react.useEffect)(function () {
|
|
170
184
|
var baseNumber = Number(totalItems) > 0 ? 1 : 0;
|
|
171
185
|
var startingNumber = baseNumber + (Number(pageSize) * Number(page) - Number(pageSize));
|
|
@@ -195,7 +209,8 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
195
209
|
e.preventDefault();
|
|
196
210
|
|
|
197
211
|
(function () {
|
|
198
|
-
|
|
212
|
+
if (filterText !== fulltext) setLoadingData(true);
|
|
213
|
+
setFulltext(filterText);
|
|
199
214
|
});
|
|
200
215
|
},
|
|
201
216
|
className: formClassName
|
|
@@ -215,9 +230,14 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
215
230
|
htmlFor: "dataset_fulltext_search",
|
|
216
231
|
variation: "primary",
|
|
217
232
|
onClick: function onClick() {
|
|
218
|
-
|
|
233
|
+
if (filterText !== fulltext) setLoadingData(true);
|
|
234
|
+
setFulltext(filterText);
|
|
219
235
|
}
|
|
220
|
-
}, "Search")), /*#__PURE__*/_react["default"].createElement(
|
|
236
|
+
}, "Search")), loadingData ? /*#__PURE__*/_react["default"].createElement(_designSystem.Spinner, {
|
|
237
|
+
className: "ds-u-valign--middle",
|
|
238
|
+
"aria-valuetext": "Dataset Search loading",
|
|
239
|
+
role: "status"
|
|
240
|
+
}) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
221
241
|
className: "ds-u-display--flex ds-u-justify-content--between ds-u-align-items--end"
|
|
222
242
|
}, /*#__PURE__*/_react["default"].createElement("div", null, currentResultNumbers && /*#__PURE__*/_react["default"].createElement("p", {
|
|
223
243
|
className: "ds-u-margin-y--0"
|
|
@@ -259,7 +279,7 @@ var DatasetSearch = function DatasetSearch(_ref) {
|
|
|
259
279
|
var includeAnd = searchParams ? '&' : '';
|
|
260
280
|
return "/datasets?page=".concat(page).concat(includeAnd).concat(searchParams);
|
|
261
281
|
}
|
|
262
|
-
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
282
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
263
283
|
className: "ds-l-md-col--4 ds-l-sm-col--12"
|
|
264
284
|
}, showSort && /*#__PURE__*/_react["default"].createElement("div", {
|
|
265
285
|
className: "ds-u-padding--2 ds-u-margin-bottom--4 ds-u-border--1"
|