@civicactions/cmsds-open-data-components 2.0.4 → 2.0.5-alpha.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.
Files changed (64) hide show
  1. package/dist/main.js +7 -3
  2. package/dist/main.js.map +1 -1
  3. package/dist/types.d.ts.map +1 -1
  4. package/lib/assets/icons/close.js +0 -4
  5. package/lib/assets/icons/copy.js +0 -4
  6. package/lib/assets/icons/download.js +0 -4
  7. package/lib/assets/icons/settings.js +2 -5
  8. package/lib/assets/metadataMapping.js +0 -9
  9. package/lib/commands/index.js +0 -2
  10. package/lib/commands/templates/footer.js +0 -2
  11. package/lib/components/ApiDocumentation/index.js +0 -6
  12. package/lib/components/Breadcrumb/index.js +2 -8
  13. package/lib/components/DataTableDensity/datatabledensity.test.js +0 -5
  14. package/lib/components/DataTableDensity/index.js +1 -7
  15. package/lib/components/DataTableRowChanger/datatablerowchanger.test.js +0 -5
  16. package/lib/components/DataTableRowChanger/index.js +2 -8
  17. package/lib/components/DatasetAdditionalInformation/index.js +4 -17
  18. package/lib/components/DatasetDownloads/datasetdownloads.test.js +0 -5
  19. package/lib/components/DatasetDownloads/index.js +1 -6
  20. package/lib/components/DatasetSearchFacets/dataset_search_facets.test.js +0 -14
  21. package/lib/components/DatasetSearchFacets/index.js +10 -26
  22. package/lib/components/DatasetSearchListItem/datasetsearchlistitem.test.js +1 -9
  23. package/lib/components/DatasetSearchListItem/index.js +6 -17
  24. package/lib/components/DatasetTags/datasettags.test.js +0 -5
  25. package/lib/components/DatasetTags/index.js +0 -6
  26. package/lib/components/Hero/index.js +8 -18
  27. package/lib/components/ManageColumns/index.js +3 -13
  28. package/lib/components/NavLink/index.js +2 -11
  29. package/lib/components/NavLink/navlink.test.js +0 -6
  30. package/lib/components/Pagination/index.js +4 -46
  31. package/lib/components/Pagination/pagination.test.js +367 -478
  32. package/lib/components/ResourceConditionField/ResourceConditionalField.test.js +1 -5
  33. package/lib/components/ResourceConditionField/index.js +30 -62
  34. package/lib/components/ResourceFilter/index.js +10 -39
  35. package/lib/components/ResourceFilter/resourcefilter.test.js +234 -297
  36. package/lib/components/ResourceFooter/index.js +4 -11
  37. package/lib/components/ResourceHeader/index.js +30 -54
  38. package/lib/components/ResourceInformation/index.js +1 -6
  39. package/lib/components/ResourcePreview/index.js +13 -30
  40. package/lib/components/SearchModal/index.js +11 -28
  41. package/lib/components/SubMenu/index.js +5 -20
  42. package/lib/components/TransformedDate/index.js +1 -7
  43. package/lib/components/useAddLoginLink/index.js +3 -13
  44. package/lib/components/useScrollToTop/index.js +1 -6
  45. package/lib/templates/APIPage/index.js +1 -6
  46. package/lib/templates/Dataset/DatasetBody.js +12 -42
  47. package/lib/templates/Dataset/index.js +7 -26
  48. package/lib/templates/DatasetSearch/datasetsearch.test.js +50 -70
  49. package/lib/templates/DatasetSearch/index.js +43 -83
  50. package/lib/templates/DrupalPage/index.js +6 -13
  51. package/lib/templates/FilteredResource/FilteredResourceBody.js +15 -43
  52. package/lib/templates/FilteredResource/QueryBuilder.js +17 -59
  53. package/lib/templates/FilteredResource/QueryRow.js +20 -43
  54. package/lib/templates/FilteredResource/QueryTitle.js +2 -18
  55. package/lib/templates/FilteredResource/functions.js +5 -17
  56. package/lib/templates/FilteredResource/index.js +16 -36
  57. package/lib/templates/Footer/footer.test.js +2 -7
  58. package/lib/templates/Footer/index.js +11 -23
  59. package/lib/templates/PageNotFound/index.js +1 -5
  60. package/lib/templates/header/index.js +17 -26
  61. package/lib/templates/mobile_header/index.js +22 -42
  62. package/package.json +3 -2
  63. package/lib/components/NavBar/index.js +0 -55
  64. package/lib/index.js +0 -247
@@ -1,75 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
12
  var _swaggerUiReact = _interopRequireDefault(require("swagger-ui-react"));
19
-
20
13
  var _dataCatalogServices = require("@civicactions/data-catalog-services");
21
-
22
14
  var _designSystem = require("@cmsgov/design-system");
23
-
24
15
  var _ResourcePreview = _interopRequireDefault(require("../../components/ResourcePreview"));
25
-
26
16
  var _ResourceHeader = _interopRequireDefault(require("../../components/ResourceHeader"));
27
-
28
17
  var _DatasetTags = _interopRequireDefault(require("../../components/DatasetTags"));
29
-
30
18
  var _DatasetDownloads = _interopRequireDefault(require("../../components/DatasetDownloads"));
31
-
32
19
  var _DatasetAdditionalInformation = _interopRequireDefault(require("../../components/DatasetAdditionalInformation"));
33
-
34
20
  var _TransformedDate = _interopRequireDefault(require("../../components/TransformedDate"));
35
-
36
21
  var _ResourceFooter = _interopRequireDefault(require("../../components/ResourceFooter"));
37
-
38
22
  var _ResourceInformation = _interopRequireDefault(require("../../components/ResourceInformation"));
39
-
40
23
  var _functions = require("../FilteredResource/functions");
41
-
42
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
-
44
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
45
-
46
26
  var DatasetBody = function DatasetBody(_ref) {
47
27
  var id = _ref.id,
48
- dataset = _ref.dataset,
49
- additionalParams = _ref.additionalParams,
50
- customColumns = _ref.customColumns,
51
- columnSettings = _ref.columnSettings,
52
- columnWidths = _ref.columnWidths,
53
- metadataMapping = _ref.metadataMapping;
28
+ dataset = _ref.dataset,
29
+ additionalParams = _ref.additionalParams,
30
+ customColumns = _ref.customColumns,
31
+ columnSettings = _ref.columnSettings,
32
+ columnWidths = _ref.columnWidths,
33
+ metadataMapping = _ref.metadataMapping;
54
34
  var apiDocs = (0, _react.useRef)();
55
-
56
35
  var _useState = (0, _react.useState)('ds-u-padding-y--1'),
57
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
58
- tablePadding = _useState2[0],
59
- setTablePadding = _useState2[1];
60
-
36
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
37
+ tablePadding = _useState2[0],
38
+ setTablePadding = _useState2[1];
61
39
  var _useState3 = (0, _react.useState)(''),
62
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
63
- fileFormat = _useState4[0],
64
- setFileFormat = _useState4[1];
65
-
40
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
41
+ fileFormat = _useState4[0],
42
+ setFileFormat = _useState4[1];
66
43
  var distribution = {};
67
44
  var distribution_array = dataset.distribution ? dataset.distribution : [];
68
-
69
45
  if (distribution_array.length) {
70
46
  distribution = distribution_array[0];
71
47
  }
72
-
73
48
  var resource = (0, _dataCatalogServices.useDatastore)('', process.env.REACT_APP_ROOT_URL, {
74
49
  limit: 10,
75
50
  manual: true
@@ -77,19 +52,15 @@ var DatasetBody = function DatasetBody(_ref) {
77
52
  (0, _react.useEffect)(function () {
78
53
  if (distribution.identifier) {
79
54
  var localFileFormat = '';
80
-
81
55
  if (distribution.data.format) {
82
56
  localFileFormat = distribution.data.format.toUpperCase();
83
57
  } else if (distribution.data.mediaType) {
84
58
  var mediaType = distribution.data.mediaType.split('/');
85
-
86
59
  if (mediaType.length && mediaType[1]) {
87
60
  localFileFormat = mediaType[1].toUpperCase();
88
61
  }
89
62
  }
90
-
91
63
  setFileFormat(localFileFormat);
92
-
93
64
  if (localFileFormat === 'CSV') {
94
65
  resource.setResource(distribution.identifier);
95
66
  resource.setManual(false);
@@ -180,7 +151,6 @@ var DatasetBody = function DatasetBody(_ref) {
180
151
  }
181
152
  }, "Scroll to dataset API")) : '')));
182
153
  };
183
-
184
154
  DatasetBody.propTypes = {
185
155
  id: _propTypes["default"].string.isRequired,
186
156
  dataset: _propTypes["default"].object.isRequired
@@ -1,51 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
12
  var _dataCatalogServices = require("@civicactions/data-catalog-services");
19
-
20
13
  var _DatasetBody = _interopRequireDefault(require("./DatasetBody"));
21
-
22
14
  var _PageNotFound = _interopRequireDefault(require("../PageNotFound"));
23
-
24
15
  var _metadataMapping = require("../../assets/metadataMapping");
25
-
26
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
-
28
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
-
30
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
-
32
19
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
-
34
20
  var Dataset = function Dataset(_ref) {
35
21
  var id = _ref.id,
36
- rootUrl = _ref.rootUrl,
37
- additionalParams = _ref.additionalParams,
38
- customColumns = _ref.customColumns,
39
- setDatasetTitle = _ref.setDatasetTitle,
40
- columnSettings = _ref.columnSettings,
41
- columnWidths = _ref.columnWidths,
42
- customMetadataMapping = _ref.customMetadataMapping;
22
+ rootUrl = _ref.rootUrl,
23
+ additionalParams = _ref.additionalParams,
24
+ customColumns = _ref.customColumns,
25
+ setDatasetTitle = _ref.setDatasetTitle,
26
+ columnSettings = _ref.columnSettings,
27
+ columnWidths = _ref.columnWidths,
28
+ customMetadataMapping = _ref.customMetadataMapping;
43
29
  var metastore = (0, _dataCatalogServices.useMetastoreDataset)(id, rootUrl, additionalParams);
44
30
  var dataset = metastore.dataset;
45
31
  var title = dataset.title ? dataset.title : '';
46
-
47
32
  var metadataMapping = _objectSpread(_objectSpread({}, _metadataMapping.defaultMetadataMapping), customMetadataMapping);
48
-
49
33
  (0, _react.useEffect)(function () {
50
34
  if (title) {
51
35
  if (setDatasetTitle) {
@@ -53,7 +37,6 @@ var Dataset = function Dataset(_ref) {
53
37
  }
54
38
  }
55
39
  }, [title]);
56
-
57
40
  var notFoundContent = /*#__PURE__*/_react["default"].createElement("div", {
58
41
  className: "ds-u-padding-top--3"
59
42
  }, /*#__PURE__*/_react["default"].createElement("h1", {
@@ -61,7 +44,6 @@ var Dataset = function Dataset(_ref) {
61
44
  }, "Error: Dataset not found"), /*#__PURE__*/_react["default"].createElement("p", null, "We're sorry, but there is no dataset ID that matches your entry. You may have been directed here because:"), /*#__PURE__*/_react["default"].createElement("ol", null, /*#__PURE__*/_react["default"].createElement("li", null, "The address you typed contains a typo;"), /*#__PURE__*/_react["default"].createElement("li", null, "The requested dataset no longer exists.")), /*#__PURE__*/_react["default"].createElement("p", null, /*#__PURE__*/_react["default"].createElement("span", {
62
45
  className: "ds-u-font-weight--bold"
63
46
  }, "Note:"), " If you were using a bookmark, please reset it once you find the correct dataset."));
64
-
65
47
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, dataset.error ? /*#__PURE__*/_react["default"].createElement(_PageNotFound["default"], {
66
48
  content: notFoundContent
67
49
  }) : /*#__PURE__*/_react["default"].createElement(_DatasetBody["default"], {
@@ -74,7 +56,6 @@ var Dataset = function Dataset(_ref) {
74
56
  metadataMapping: metadataMapping
75
57
  }));
76
58
  };
77
-
78
59
  Dataset.propTypes = {
79
60
  id: _propTypes["default"].string.isRequired,
80
61
  rootUrl: _propTypes["default"].string.isRequired
@@ -1,29 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
8
-
9
6
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
-
11
7
  var _react = _interopRequireDefault(require("react"));
12
-
13
8
  var _axios = _interopRequireDefault(require("axios"));
14
-
15
9
  var _testUtils = require("react-dom/test-utils");
16
-
17
10
  var _react2 = require("@testing-library/react");
18
-
19
11
  require("@testing-library/jest-dom/extend-expect");
20
-
21
12
  var _index = _interopRequireWildcard(require("./index"));
22
-
23
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
-
25
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
-
27
15
  jest.mock('axios');
28
16
  jest.useFakeTimers();
29
17
  var rootUrl = 'http://dkan.com/api/1';
@@ -57,65 +45,57 @@ describe('selectedFacetsMessage', function () {
57
45
  describe('<DatasetSearchFacets />', function () {
58
46
  test('Renders correctly', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
59
47
  var _render, debug;
60
-
61
48
  return _regenerator["default"].wrap(function _callee2$(_context2) {
62
- while (1) {
63
- switch (_context2.prev = _context2.next) {
64
- case 0:
65
- _context2.next = 2;
66
- return _axios["default"].get.mockImplementation(function () {
67
- return Promise.resolve(data_results);
68
- });
69
-
70
- case 2:
71
- _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
72
- rootUrl: rootUrl
73
- })), debug = _render.debug;
74
- _context2.next = 5;
75
- return (0, _testUtils.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
76
- return _regenerator["default"].wrap(function _callee$(_context) {
77
- while (1) {
78
- switch (_context.prev = _context.next) {
79
- case 0:
80
- // debug()
81
- jest.useFakeTimers();
82
-
83
- case 1:
84
- case "end":
85
- return _context.stop();
86
- }
87
- }
88
- }, _callee);
89
- })));
90
-
91
- case 5:
92
- // debug()
93
- // expect(axios.get).toHaveBeenCalledWith(
94
- // `${rootUrl}/search/?`,
95
- // );
96
- // await act(async () => { });
97
- expect(_react2.screen.getByRole('heading', {
98
- name: 'Datasets'
99
- }));
100
- expect(_react2.screen.getByRole('textbox', {
101
- name: 'Search term'
102
- }));
103
- expect(_react2.screen.getByRole('button', {
104
- name: 'Clear all filters'
105
- }));
106
- expect(_react2.screen.getByRole('combobox', {
107
- name: 'Sort by'
108
- }));
109
- expect(_react2.screen.getByRole('button', {
110
- name: 'Search'
111
- }));
112
- expect(_react2.screen.getByText(/0-0 out of 0/i));
113
- expect(_react2.screen.getByText('[0 entries total on page]'));
114
-
115
- case 12:
116
- case "end":
117
- return _context2.stop();
118
- }
49
+ while (1) switch (_context2.prev = _context2.next) {
50
+ case 0:
51
+ _context2.next = 2;
52
+ return _axios["default"].get.mockImplementation(function () {
53
+ return Promise.resolve(data_results);
54
+ });
55
+ case 2:
56
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
57
+ rootUrl: rootUrl
58
+ })), debug = _render.debug;
59
+ _context2.next = 5;
60
+ return (0, _testUtils.act)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
61
+ return _regenerator["default"].wrap(function _callee$(_context) {
62
+ while (1) switch (_context.prev = _context.next) {
63
+ case 0:
64
+ // debug()
65
+ jest.useFakeTimers();
66
+ case 1:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }, _callee);
71
+ })));
72
+ case 5:
73
+ // debug()
74
+ // expect(axios.get).toHaveBeenCalledWith(
75
+ // `${rootUrl}/search/?`,
76
+ // );
77
+ // await act(async () => { });
78
+
79
+ expect(_react2.screen.getByRole('heading', {
80
+ name: 'Datasets'
81
+ }));
82
+ expect(_react2.screen.getByRole('textbox', {
83
+ name: 'Search term'
84
+ }));
85
+ expect(_react2.screen.getByRole('button', {
86
+ name: 'Clear all filters'
87
+ }));
88
+ expect(_react2.screen.getByRole('combobox', {
89
+ name: 'Sort by'
90
+ }));
91
+ expect(_react2.screen.getByRole('button', {
92
+ name: 'Search'
93
+ }));
94
+ expect(_react2.screen.getByText(/0-0 out of 0/i));
95
+ expect(_react2.screen.getByText('[0 entries total on page]'));
96
+ case 12:
97
+ case "end":
98
+ return _context2.stop();
119
99
  }
120
100
  }, _callee2);
121
101
  })));
@@ -1,42 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
9
  exports.selectedFacetsMessage = selectedFacetsMessage;
12
10
  exports.transformUrlParamsToSearchObject = transformUrlParamsToSearchObject;
13
-
14
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
13
  var _react = _interopRequireWildcard(require("react"));
19
-
20
14
  var _reactRouterDom = require("react-router-dom");
21
-
22
15
  var _qs = _interopRequireDefault(require("qs"));
23
-
24
16
  var _dataCatalogServices = require("@civicactions/data-catalog-services");
25
-
26
17
  var _designSystem = require("@cmsgov/design-system");
27
-
28
18
  var _DatasetSearchListItem = _interopRequireDefault(require("../../components/DatasetSearchListItem"));
29
-
30
19
  var _DatasetSearchFacets = _interopRequireDefault(require("../../components/DatasetSearchFacets"));
31
-
32
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
-
38
23
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
-
40
24
  function selectedFacetsMessage(facets, alternateTitles) {
41
25
  var message = [];
42
26
  var keys = Object.keys(facets);
@@ -47,12 +31,10 @@ function selectedFacetsMessage(facets, alternateTitles) {
47
31
  });
48
32
  return message.join(' & ');
49
33
  }
50
-
51
34
  function transformUrlParamsToSearchObject(searchParams, facetList, defaultSortOptions) {
52
35
  var params = _qs["default"].parse(searchParams, {
53
36
  ignoreQueryPrefix: true
54
37
  });
55
-
56
38
  var selectedFacets = {};
57
39
  facetList.forEach(function (facet) {
58
40
  selectedFacets[facet] = params[facet] ? params[facet] : [];
@@ -65,101 +47,84 @@ function transformUrlParamsToSearchObject(searchParams, facetList, defaultSortOp
65
47
  selectedFacets: selectedFacets
66
48
  };
67
49
  }
68
-
69
50
  var DatasetSearch = function DatasetSearch(_ref) {
70
51
  var rootUrl = _ref.rootUrl,
71
- pageTitle = _ref.pageTitle,
72
- introText = _ref.introText,
73
- fulltextLabel = _ref.fulltextLabel,
74
- fulltextLabelClassName = _ref.fulltextLabelClassName,
75
- fulltextPlaceholder = _ref.fulltextPlaceholder,
76
- formClassName = _ref.formClassName,
77
- additionalParams = _ref.additionalParams,
78
- sortOptions = _ref.sortOptions,
79
- defaultSort = _ref.defaultSort,
80
- showSort = _ref.showSort;
81
-
52
+ pageTitle = _ref.pageTitle,
53
+ introText = _ref.introText,
54
+ fulltextLabel = _ref.fulltextLabel,
55
+ fulltextLabelClassName = _ref.fulltextLabelClassName,
56
+ fulltextPlaceholder = _ref.fulltextPlaceholder,
57
+ formClassName = _ref.formClassName,
58
+ additionalParams = _ref.additionalParams,
59
+ sortOptions = _ref.sortOptions,
60
+ defaultSort = _ref.defaultSort,
61
+ showSort = _ref.showSort;
82
62
  var _useState = (0, _react.useState)(null),
83
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
84
- currentResultNumbers = _useState2[0],
85
- setCurrentResultNumbers = _useState2[1];
86
-
63
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
64
+ currentResultNumbers = _useState2[0],
65
+ setCurrentResultNumbers = _useState2[1];
87
66
  var _useState3 = (0, _react.useState)(false),
88
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
89
- noResults = _useState4[0],
90
- setNoResults = _useState4[1];
91
-
67
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
68
+ noResults = _useState4[0],
69
+ setNoResults = _useState4[1];
92
70
  var _useState5 = (0, _react.useState)(true),
93
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
94
- loadingData = _useState6[0],
95
- setLoadingData = _useState6[1];
96
-
71
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
72
+ loadingData = _useState6[0],
73
+ setLoadingData = _useState6[1];
97
74
  var loadingRef = (0, _react.useRef)();
98
75
  var location = (0, _reactRouterDom.useLocation)();
99
-
100
76
  var _useSearchParams = (0, _reactRouterDom.useSearchParams)(),
101
- _useSearchParams2 = (0, _slicedToArray2["default"])(_useSearchParams, 2),
102
- searchParams = _useSearchParams2[0],
103
- setSearchParams = _useSearchParams2[1];
104
-
77
+ _useSearchParams2 = (0, _slicedToArray2["default"])(_useSearchParams, 2),
78
+ searchParams = _useSearchParams2[0],
79
+ setSearchParams = _useSearchParams2[1];
105
80
  var _useState7 = (0, _react.useState)(''),
106
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
107
- filterText = _useState8[0],
108
- setFilterText = _useState8[1];
109
-
81
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
82
+ filterText = _useState8[0],
83
+ setFilterText = _useState8[1];
110
84
  var _useSearchAPI = (0, _dataCatalogServices.useSearchAPI)(rootUrl, _objectSpread({}, transformUrlParamsToSearchObject(location.search, ['theme', 'keyword'], defaultSort)), additionalParams),
111
- fulltext = _useSearchAPI.fulltext,
112
- selectedFacets = _useSearchAPI.selectedFacets,
113
- loading = _useSearchAPI.loading,
114
- items = _useSearchAPI.items,
115
- sort = _useSearchAPI.sort,
116
- totalItems = _useSearchAPI.totalItems,
117
- facets = _useSearchAPI.facets,
118
- updateSelectedFacets = _useSearchAPI.updateSelectedFacets,
119
- setFulltext = _useSearchAPI.setFulltext,
120
- setSort = _useSearchAPI.setSort,
121
- sortOrder = _useSearchAPI.sortOrder,
122
- setSortOrder = _useSearchAPI.setSortOrder,
123
- setPage = _useSearchAPI.setPage,
124
- pageSize = _useSearchAPI.pageSize,
125
- page = _useSearchAPI.page,
126
- resetFilters = _useSearchAPI.resetFilters;
127
-
85
+ fulltext = _useSearchAPI.fulltext,
86
+ selectedFacets = _useSearchAPI.selectedFacets,
87
+ loading = _useSearchAPI.loading,
88
+ items = _useSearchAPI.items,
89
+ sort = _useSearchAPI.sort,
90
+ totalItems = _useSearchAPI.totalItems,
91
+ facets = _useSearchAPI.facets,
92
+ updateSelectedFacets = _useSearchAPI.updateSelectedFacets,
93
+ setFulltext = _useSearchAPI.setFulltext,
94
+ setSort = _useSearchAPI.setSort,
95
+ sortOrder = _useSearchAPI.sortOrder,
96
+ setSortOrder = _useSearchAPI.setSortOrder,
97
+ setPage = _useSearchAPI.setPage,
98
+ pageSize = _useSearchAPI.pageSize,
99
+ page = _useSearchAPI.page,
100
+ resetFilters = _useSearchAPI.resetFilters;
128
101
  var _separateFacets = (0, _dataCatalogServices.separateFacets)(facets),
129
- theme = _separateFacets.theme,
130
- keyword = _separateFacets.keyword;
131
-
102
+ theme = _separateFacets.theme,
103
+ keyword = _separateFacets.keyword;
132
104
  function buildSearchParams(includePage) {
133
105
  var newParams = {};
134
-
135
106
  if (Number(page) !== 1 && includePage) {
136
107
  newParams.page = page;
137
108
  }
138
-
139
109
  if (sort !== defaultSort.defaultSort) {
140
110
  newParams.sort = sort;
141
111
  }
142
-
143
112
  if (sortOrder !== defaultSort.defaultOrder) {
144
113
  newParams.sortOrder = sortOrder;
145
114
  }
146
-
147
115
  if (fulltext !== '') {
148
116
  newParams.fulltext = fulltext;
149
117
  }
150
-
151
118
  if (Object.keys(selectedFacets).length) {
152
119
  Object.keys(selectedFacets).forEach(function (key) {
153
120
  newParams[key] = selectedFacets[key];
154
121
  });
155
122
  }
156
-
157
123
  return _qs["default"].stringify(newParams, {
158
124
  addQueryPrefix: includePage,
159
125
  encode: true
160
126
  });
161
127
  }
162
-
163
128
  (0, _react.useEffect)(function () {
164
129
  if (fulltext !== filterText) {
165
130
  setFilterText(fulltext);
@@ -167,7 +132,6 @@ var DatasetSearch = function DatasetSearch(_ref) {
167
132
  }, [fulltext]);
168
133
  (0, _react.useEffect)(function () {
169
134
  var params = buildSearchParams(true);
170
-
171
135
  if (params !== location.search) {
172
136
  setSearchParams(params);
173
137
  }
@@ -177,7 +141,6 @@ var DatasetSearch = function DatasetSearch(_ref) {
177
141
  if (!loading && loadingRef.current === true) {
178
142
  setLoadingData(false);
179
143
  }
180
-
181
144
  loadingRef.current = loading;
182
145
  }, [loading]);
183
146
  (0, _react.useEffect)(function () {
@@ -189,7 +152,6 @@ var DatasetSearch = function DatasetSearch(_ref) {
189
152
  startingNumber: Number(totalItems) >= startingNumber ? startingNumber : 0,
190
153
  endingNumber: Number(totalItems) < endingNumber ? Number(totalItems) : endingNumber
191
154
  });
192
-
193
155
  if (totalItems <= 0 && currentResultNumbers !== null) {
194
156
  setNoResults(true);
195
157
  } else {
@@ -207,7 +169,6 @@ var DatasetSearch = function DatasetSearch(_ref) {
207
169
  }, introText ? introText : null, /*#__PURE__*/_react["default"].createElement("form", {
208
170
  onSubmit: function onSubmit(e) {
209
171
  e.preventDefault();
210
-
211
172
  (function () {
212
173
  if (filterText !== fulltext) setLoadingData(true);
213
174
  setFulltext(filterText);
@@ -331,7 +292,6 @@ var DatasetSearch = function DatasetSearch(_ref) {
331
292
  role: "status"
332
293
  })))));
333
294
  };
334
-
335
295
  DatasetSearch.defaultProps = {
336
296
  pageTitle: 'Datasets',
337
297
  introText: '',
@@ -1,27 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _dataCatalogServices = require("@civicactions/data-catalog-services");
13
-
14
10
  var DrupalPage = function DrupalPage(_ref) {
15
11
  var path = _ref.path,
16
- rootURL = _ref.rootURL,
17
- uuid = _ref.uuid,
18
- entityType = _ref.entityType,
19
- bundle = _ref.bundle,
20
- options = _ref.options;
21
-
12
+ rootURL = _ref.rootURL,
13
+ uuid = _ref.uuid,
14
+ entityType = _ref.entityType,
15
+ bundle = _ref.bundle,
16
+ options = _ref.options;
22
17
  var _useDrupalEntity = (0, _dataCatalogServices.useDrupalEntity)(rootURL, uuid, entityType, bundle, options),
23
- entity = _useDrupalEntity.entity;
24
-
18
+ entity = _useDrupalEntity.entity;
25
19
  var bodyContent = Object.keys(entity).length ? /*#__PURE__*/_react["default"].createElement("div", {
26
20
  className: "dc-page ds-l-container"
27
21
  }, /*#__PURE__*/_react["default"].createElement("h1", null, entity.attributes.title), /*#__PURE__*/_react["default"].createElement("div", {
@@ -32,6 +26,5 @@ var DrupalPage = function DrupalPage(_ref) {
32
26
  })) : '';
33
27
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, bodyContent);
34
28
  };
35
-
36
29
  var _default = DrupalPage;
37
30
  exports["default"] = _default;