@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.
- package/dist/main.js +7 -3
- package/dist/main.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/lib/assets/icons/close.js +0 -4
- package/lib/assets/icons/copy.js +0 -4
- package/lib/assets/icons/download.js +0 -4
- package/lib/assets/icons/settings.js +2 -5
- package/lib/assets/metadataMapping.js +0 -9
- package/lib/commands/index.js +0 -2
- package/lib/commands/templates/footer.js +0 -2
- package/lib/components/ApiDocumentation/index.js +0 -6
- package/lib/components/Breadcrumb/index.js +2 -8
- package/lib/components/DataTableDensity/datatabledensity.test.js +0 -5
- package/lib/components/DataTableDensity/index.js +1 -7
- package/lib/components/DataTableRowChanger/datatablerowchanger.test.js +0 -5
- package/lib/components/DataTableRowChanger/index.js +2 -8
- package/lib/components/DatasetAdditionalInformation/index.js +4 -17
- package/lib/components/DatasetDownloads/datasetdownloads.test.js +0 -5
- package/lib/components/DatasetDownloads/index.js +1 -6
- package/lib/components/DatasetSearchFacets/dataset_search_facets.test.js +0 -14
- package/lib/components/DatasetSearchFacets/index.js +10 -26
- package/lib/components/DatasetSearchListItem/datasetsearchlistitem.test.js +1 -9
- package/lib/components/DatasetSearchListItem/index.js +6 -17
- package/lib/components/DatasetTags/datasettags.test.js +0 -5
- package/lib/components/DatasetTags/index.js +0 -6
- package/lib/components/Hero/index.js +8 -18
- package/lib/components/ManageColumns/index.js +3 -13
- package/lib/components/NavLink/index.js +2 -11
- package/lib/components/NavLink/navlink.test.js +0 -6
- package/lib/components/Pagination/index.js +4 -46
- package/lib/components/Pagination/pagination.test.js +367 -478
- package/lib/components/ResourceConditionField/ResourceConditionalField.test.js +1 -5
- package/lib/components/ResourceConditionField/index.js +30 -62
- package/lib/components/ResourceFilter/index.js +10 -39
- package/lib/components/ResourceFilter/resourcefilter.test.js +234 -297
- package/lib/components/ResourceFooter/index.js +4 -11
- package/lib/components/ResourceHeader/index.js +30 -54
- package/lib/components/ResourceInformation/index.js +1 -6
- package/lib/components/ResourcePreview/index.js +13 -30
- package/lib/components/SearchModal/index.js +11 -28
- package/lib/components/SubMenu/index.js +5 -20
- package/lib/components/TransformedDate/index.js +1 -7
- package/lib/components/useAddLoginLink/index.js +3 -13
- package/lib/components/useScrollToTop/index.js +1 -6
- package/lib/templates/APIPage/index.js +1 -6
- package/lib/templates/Dataset/DatasetBody.js +12 -42
- package/lib/templates/Dataset/index.js +7 -26
- package/lib/templates/DatasetSearch/datasetsearch.test.js +50 -70
- package/lib/templates/DatasetSearch/index.js +43 -83
- package/lib/templates/DrupalPage/index.js +6 -13
- package/lib/templates/FilteredResource/FilteredResourceBody.js +15 -43
- package/lib/templates/FilteredResource/QueryBuilder.js +17 -59
- package/lib/templates/FilteredResource/QueryRow.js +20 -43
- package/lib/templates/FilteredResource/QueryTitle.js +2 -18
- package/lib/templates/FilteredResource/functions.js +5 -17
- package/lib/templates/FilteredResource/index.js +16 -36
- package/lib/templates/Footer/footer.test.js +2 -7
- package/lib/templates/Footer/index.js +11 -23
- package/lib/templates/PageNotFound/index.js +1 -5
- package/lib/templates/header/index.js +17 -26
- package/lib/templates/mobile_header/index.js +22 -42
- package/package.json +3 -2
- package/lib/components/NavBar/index.js +0 -55
- 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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
36
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
37
|
+
tablePadding = _useState2[0],
|
|
38
|
+
setTablePadding = _useState2[1];
|
|
61
39
|
var _useState3 = (0, _react.useState)(''),
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
77
|
+
_useSearchParams2 = (0, _slicedToArray2["default"])(_useSearchParams, 2),
|
|
78
|
+
searchParams = _useSearchParams2[0],
|
|
79
|
+
setSearchParams = _useSearchParams2[1];
|
|
105
80
|
var _useState7 = (0, _react.useState)(''),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
|
|
130
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
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;
|