@civicactions/cmsds-open-data-components 1.14.0-alpha.1 → 1.14.0-alpha.2

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.
@@ -31,3 +31,7 @@
31
31
  background-color: $color-primary;
32
32
  }
33
33
  }
34
+
35
+ .dc-c-metadata-description {
36
+ white-space: pre-line;
37
+ }
@@ -57,6 +57,7 @@ var ResourcePreview = function ResourcePreview(_ref2) {
57
57
  id = _ref2.id,
58
58
  options = _ref2.options,
59
59
  resource = _ref2.resource,
60
+ defaultSort = _ref2.defaultSort,
60
61
  customColumns = _ref2.customColumns,
61
62
  truncateCellHeader = _ref2.truncateCellHeader,
62
63
  columnSettings = _ref2.columnSettings,
@@ -95,6 +96,7 @@ var ResourcePreview = function ResourcePreview(_ref2) {
95
96
  }, previewContainer.current && /*#__PURE__*/_react["default"].createElement(_dataCatalogComponents.DataTable, {
96
97
  filterTitle: "Filter columns",
97
98
  data: resource.values,
99
+ sortDefaults: defaultSort,
98
100
  columns: customColumns ? customColumns : prepareColumns(resource.columns, resource.schema[id]),
99
101
  schema: resource.schema,
100
102
  totalRows: parseInt(resource.totalRows),
@@ -130,7 +132,8 @@ ResourcePreview.defaultProps = {
130
132
  columnSort: true,
131
133
  columnResize: true
132
134
  },
133
- truncateCellHeader: true
135
+ truncateCellHeader: true,
136
+ defaultSort: []
134
137
  };
135
138
  var _default = ResourcePreview;
136
139
  exports["default"] = _default;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _reactRouterDom = require("react-router-dom");
11
+
12
+ var useScrollToTop = function useScrollToTop() {
13
+ var _useLocation = (0, _reactRouterDom.useLocation)(),
14
+ pathname = _useLocation.pathname;
15
+
16
+ (0, _react.useEffect)(function () {
17
+ window.scrollTo(0, 0);
18
+ }, [pathname]);
19
+ };
20
+
21
+ var _default = useScrollToTop;
22
+ exports["default"] = _default;
package/lib/index.js CHANGED
@@ -173,6 +173,12 @@ Object.defineProperty(exports, "useAddLoginLink", {
173
173
  return _useAddLoginLink["default"];
174
174
  }
175
175
  });
176
+ Object.defineProperty(exports, "useScrollToTop", {
177
+ enumerable: true,
178
+ get: function get() {
179
+ return _useScrollToTop["default"];
180
+ }
181
+ });
176
182
 
177
183
  var _NavLink = _interopRequireDefault(require("./components/NavLink"));
178
184
 
@@ -228,4 +234,6 @@ var _APIPage = _interopRequireDefault(require("./templates/APIPage"));
228
234
 
229
235
  var _useAddLoginLink = _interopRequireDefault(require("./components/useAddLoginLink"));
230
236
 
237
+ var _useScrollToTop = _interopRequireDefault(require("./components/useScrollToTop"));
238
+
231
239
  var _frequencyMap = _interopRequireDefault(require("./assets/frequencyMap"));
@@ -115,10 +115,11 @@ var DatasetBody = function DatasetBody(_ref) {
115
115
  }, "Updated ", /*#__PURE__*/_react["default"].createElement(_TransformedDate["default"], {
116
116
  date: dataset.modified
117
117
  }))), /*#__PURE__*/_react["default"].createElement("p", {
118
+ className: "dc-c-metadata-description",
118
119
  dangerouslySetInnerHTML: {
119
120
  __html: dataset.description
120
121
  }
121
- }), Object.keys(distribution).length && fileFormat === 'CSV' ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("h2", {
122
+ }), resource.columns && Object.keys(resource.schema).length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("h2", {
122
123
  className: "dc-resource-header"
123
124
  }, "Resource Preview"), resource.columns ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_ResourceHeader["default"], {
124
125
  id: id,
@@ -110,7 +110,7 @@ var FilteredResourceBody = function FilteredResourceBody(_ref) {
110
110
  }, "Back to ", dataset.title), /*#__PURE__*/_react["default"].createElement("h1", {
111
111
  className: "ds-title"
112
112
  }, customTitle ? customTitle : pageTitle), /*#__PURE__*/_react["default"].createElement("p", {
113
- className: "ds-u-margin-top--0",
113
+ className: "ds-u-margin-top--0 dc-c-metadata-description",
114
114
  dangerouslySetInnerHTML: {
115
115
  __html: distribution.data.description
116
116
  }
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -11,29 +9,35 @@ exports.cleanText = cleanText;
11
9
  exports.convertUTCToLocalDate = convertUTCToLocalDate;
12
10
  exports.operatorMapping = void 0;
13
11
 
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- 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; }
17
-
18
- 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; }
19
-
12
+ // Example custom column headers, where only effective date has an ! at the end
13
+ // [
14
+ // {schema: 'date', Cell: ({ value }) => localeDate(value),},
15
+ // {accessor: 'effective_date',Cell: ({ value }) => localeDate(value) + '!',},
16
+ // ]
20
17
  function buildCustomColHeaders(customHeaders, columns, schema) {
21
18
  return columns.map(function (column) {
22
- var customHeaderIndex = customHeaders.findIndex(function (header) {
19
+ var customAccessorIndex = customHeaders.findIndex(function (header) {
23
20
  return header.accessor === column;
24
21
  });
25
-
26
- if (customHeaderIndex > -1) {
27
- return _objectSpread({
28
- Header: schema && schema.fields[column].description ? schema.fields[column].description : column,
29
- accessor: column
30
- }, customHeaders[customHeaderIndex]);
22
+ var customSchemaIndex = customHeaders.findIndex(function (header) {
23
+ return header.schema === schema.fields[column].mysql_type;
24
+ });
25
+ var newColumn = {}; // If specific accessor is passed, this will override a general mysql_type Cell rewrite.
26
+
27
+ if (customAccessorIndex > -1) {
28
+ newColumn.Header = schema && schema.fields[column].description ? schema.fields[column].description : column;
29
+ newColumn.accessor = column;
30
+ newColumn.Cell = customHeaders[customAccessorIndex].Cell;
31
+ } else {
32
+ newColumn.Header = schema && schema.fields[column].description ? schema.fields[column].description : column;
33
+ newColumn.accessor = column;
34
+
35
+ if (customSchemaIndex > -1) {
36
+ newColumn.Cell = customHeaders[customSchemaIndex].Cell;
37
+ }
31
38
  }
32
39
 
33
- return {
34
- Header: schema && schema.fields[column].description ? schema.fields[column].description : column,
35
- accessor: column
36
- };
40
+ return newColumn;
37
41
  });
38
42
  }
39
43
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@civicactions/cmsds-open-data-components",
3
- "version": "1.14.0-alpha.1",
3
+ "version": "1.14.0-alpha.2",
4
4
  "description": "Components for the open data catalog frontend using CMS Design System",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -15,7 +15,7 @@
15
15
  "author": "",
16
16
  "license": "GPL-3.0",
17
17
  "dependencies": {
18
- "@civicactions/data-catalog-components": "2.0.0-beta.7",
18
+ "@civicactions/data-catalog-components": "2.0.1-alpha.1",
19
19
  "@civicactions/data-catalog-services": "~1.5.0",
20
20
  "@cmsgov/design-system": "~3.3.0",
21
21
  "@popperjs/core": "^2.11.4",
@@ -24,6 +24,7 @@
24
24
  "react-datepicker": "^4.2.1",
25
25
  "react-popper": "^2.2.5",
26
26
  "react-responsive": "^8.2.0",
27
+ "react-router-dom": "^6.2.2",
27
28
  "react-table": "^7.6.2",
28
29
  "react-text-truncate": "^0.18.0",
29
30
  "swagger-ui-react": "^4.1.3"
@@ -84,6 +85,7 @@
84
85
  },
85
86
  "files": [
86
87
  "lib",
87
- "dist"
88
+ "dist",
89
+ "twig"
88
90
  ]
89
91
  }