@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 _useState5 = (0, _react.useState)(''),
100
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
101
- filterText = _useState6[0],
102
- setFilterText = _useState6[1];
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
- return setFulltext(filterText);
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
- return setFulltext(filterText);
233
+ if (filterText !== fulltext) setLoadingData(true);
234
+ setFulltext(filterText);
219
235
  }
220
- }, "Search")), /*#__PURE__*/_react["default"].createElement("div", {
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"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@civicactions/cmsds-open-data-components",
3
- "version": "1.16.0",
3
+ "version": "1.16.1",
4
4
  "description": "Components for the open data catalog frontend using CMS Design System",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {