@civicactions/cmsds-open-data-components 1.8.0 → 1.9.0-alpha.3

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.
@@ -3,3 +3,7 @@
3
3
  width: 100%;
4
4
  }
5
5
  }
6
+
7
+ .dc-c-additional-info-table a {
8
+ word-break: break-all;
9
+ }
@@ -0,0 +1,22 @@
1
+ export const frequencyMap = {
2
+ 'R/P10Y': { name: 'Decennial' },
3
+ 'R/P4Y': { name: 'Quadrennial' },
4
+ 'R/P1Y': { name: 'Annual' },
5
+ 'R/P2M': { name: 'Bimonthly' },
6
+ 'R/P3.5D': { name: 'Semiweekly' },
7
+ 'R/P1D': { name: 'Daily' },
8
+ 'R/P2W': { name: 'Biweekly' },
9
+ 'R/P6M': { name: 'Semiannual' },
10
+ 'R/P2Y': { name: 'Biennial' },
11
+ 'R/P3Y': { name: 'Triennial' },
12
+ 'R/P0.33W': { name: 'Three times a week' },
13
+ 'R/P0.33M': { name: 'Three times a month' },
14
+ 'R/PT1S': { name: 'Continuously updated' },
15
+ 'R/P1M': { name: 'Monthly' },
16
+ 'R/P3M': { name: 'Quarterly' },
17
+ 'R/P0.5M': { name: 'Semimonthly' },
18
+ 'R/P4M': { name: 'Three times a year' },
19
+ 'R/P1W': { name: 'Weekly' },
20
+ 'R/PT1H': { name: 'Hourly' },
21
+ irregular: { name: 'Irregular' },
22
+ };
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.defaultMetadataMapping = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _router = require("@reach/router");
13
+
14
+ var _TransformedDate = _interopRequireDefault(require("../components/TransformedDate"));
15
+
16
+ var _frequencyMap = require("./frequencyMap");
17
+
18
+ var defaultMetadataMapping = {
19
+ modified: function modified(data) {
20
+ return [{
21
+ label: 'Modified',
22
+ value: /*#__PURE__*/_react["default"].createElement(_TransformedDate["default"], {
23
+ date: data
24
+ })
25
+ }];
26
+ },
27
+ issued: function issued(data) {
28
+ return [{
29
+ label: 'Issued',
30
+ value: /*#__PURE__*/_react["default"].createElement(_TransformedDate["default"], {
31
+ date: data
32
+ })
33
+ }];
34
+ },
35
+ publisher: function publisher(data) {
36
+ if (data.data && data.data.name) {
37
+ return [{
38
+ label: 'Publisher',
39
+ value: data.data.name
40
+ }];
41
+ } else {
42
+ return [];
43
+ }
44
+ },
45
+ identifier: function identifier(data) {
46
+ return [{
47
+ label: 'Identifier',
48
+ value: data
49
+ }];
50
+ },
51
+ contactPoint: function contactPoint(data) {
52
+ var rows = [];
53
+
54
+ if (data.fn) {
55
+ rows.push({
56
+ label: 'Contact',
57
+ value: data.fn
58
+ });
59
+ }
60
+
61
+ if (data.hasEmail) {
62
+ rows.push({
63
+ label: 'Contact Email',
64
+ value: data.hasEmail
65
+ });
66
+ }
67
+
68
+ return rows;
69
+ },
70
+ bureauCode: function bureauCode(data) {
71
+ if (data.length) {
72
+ return [{
73
+ label: 'Bureau Code',
74
+ value: data[0]
75
+ }];
76
+ }
77
+ },
78
+ programCode: function programCode(data) {
79
+ if (data.length) {
80
+ return [{
81
+ label: 'Program Code',
82
+ value: data[0]
83
+ }];
84
+ }
85
+ },
86
+ theme: function theme(data) {
87
+ return [{
88
+ label: 'Category',
89
+ value: data.map(function (theme) {
90
+ return /*#__PURE__*/_react["default"].createElement("span", {
91
+ key: theme.data
92
+ }, theme.data);
93
+ }).reduce(function (prev, curr) {
94
+ return [prev, ', ', curr];
95
+ })
96
+ }];
97
+ },
98
+ keyword: function keyword(data) {
99
+ return [{
100
+ label: 'Tags',
101
+ value: data.map(function (keyword) {
102
+ return /*#__PURE__*/_react["default"].createElement(_router.Link, {
103
+ key: keyword.data,
104
+ to: "/datasets?keyword[]=".concat(keyword.data)
105
+ }, keyword.data);
106
+ }).reduce(function (prev, curr) {
107
+ return [prev, ', ', curr];
108
+ })
109
+ }];
110
+ },
111
+ license: function license(data) {
112
+ return [{
113
+ label: 'License',
114
+ value: data
115
+ }];
116
+ },
117
+ accessLevel: function accessLevel(data) {
118
+ return [{
119
+ label: 'Public Access Level',
120
+ value: data
121
+ }];
122
+ },
123
+ references: function references(data) {
124
+ return [{
125
+ label: 'Related Documents',
126
+ value: /*#__PURE__*/_react["default"].createElement("ul", {
127
+ className: "ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0"
128
+ }, data.map(function (item) {
129
+ return /*#__PURE__*/_react["default"].createElement("li", {
130
+ key: item
131
+ }, /*#__PURE__*/_react["default"].createElement("a", {
132
+ href: item
133
+ }, item));
134
+ }))
135
+ }];
136
+ },
137
+ temporal: function temporal(data) {
138
+ return [{
139
+ label: 'Temporal Coverage',
140
+ value: data
141
+ }];
142
+ },
143
+ spatial: function spatial(data) {
144
+ return [{
145
+ label: 'Spacial/Geographical Coverage',
146
+ value: data
147
+ }];
148
+ },
149
+ accrualPeriodicity: function accrualPeriodicity(data) {
150
+ return [{
151
+ label: 'Frequency',
152
+ value: _frequencyMap.frequencyMap[data].name
153
+ }];
154
+ }
155
+ };
156
+ exports.defaultMetadataMapping = defaultMetadataMapping;
@@ -0,0 +1,103 @@
1
+ import React from 'react';
2
+ import { Link } from '@reach/router';
3
+ import TransformedDate from '../components/TransformedDate';
4
+ import { frequencyMap } from './frequencyMap';
5
+
6
+ export const defaultMetadataMapping = {
7
+ modified: (data) => {
8
+ return [{ label: 'Modified', value: <TransformedDate date={data} /> }];
9
+ },
10
+ issued: (data) => {
11
+ return [{ label: 'Issued', value: <TransformedDate date={data} /> }];
12
+ },
13
+ publisher: (data) => {
14
+ if (data.data && data.data.name) {
15
+ return [{ label: 'Publisher', value: data.data.name }];
16
+ } else {
17
+ return [];
18
+ }
19
+ },
20
+ identifier: (data) => {
21
+ return [{ label: 'Identifier', value: data }];
22
+ },
23
+ contactPoint: (data) => {
24
+ let rows = [];
25
+ if (data.fn) {
26
+ rows.push({ label: 'Contact', value: data.fn });
27
+ }
28
+ if (data.hasEmail) {
29
+ rows.push({ label: 'Contact Email', value: data.hasEmail });
30
+ }
31
+ return rows;
32
+ },
33
+ bureauCode: (data) => {
34
+ if (data.length) {
35
+ return [{ label: 'Bureau Code', value: data[0] }];
36
+ }
37
+ },
38
+ programCode: (data) => {
39
+ if (data.length) {
40
+ return [{ label: 'Program Code', value: data[0] }];
41
+ }
42
+ },
43
+ theme: (data) => {
44
+ return [
45
+ {
46
+ label: 'Category',
47
+ value: data
48
+ .map((theme) => <span key={theme.data}>{theme.data}</span>)
49
+ .reduce((prev, curr) => [prev, ', ', curr]),
50
+ },
51
+ ];
52
+ },
53
+ keyword: (data) => {
54
+ return [
55
+ {
56
+ label: 'Tags',
57
+ value: data
58
+ .map((keyword) => (
59
+ <Link key={keyword.data} to={`/datasets?keyword[]=${keyword.data}`}>
60
+ {keyword.data}
61
+ </Link>
62
+ ))
63
+ .reduce((prev, curr) => [prev, ', ', curr]),
64
+ },
65
+ ];
66
+ },
67
+ license: (data) => {
68
+ return [{ label: 'License', value: data }];
69
+ },
70
+ accessLevel: (data) => {
71
+ return [{ label: 'Public Access Level', value: data }];
72
+ },
73
+ references: (data) => {
74
+ return [
75
+ {
76
+ label: 'Related Documents',
77
+ value: (
78
+ <ul className="ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0">
79
+ {data.map((item) => (
80
+ <li key={item}>
81
+ <a href={item}>{item}</a>
82
+ </li>
83
+ ))}
84
+ </ul>
85
+ ),
86
+ },
87
+ ];
88
+ },
89
+ temporal: (data) => {
90
+ return [{ label: 'Temporal Coverage', value: data }];
91
+ },
92
+ spatial: (data) => {
93
+ return [{ label: 'Spacial/Geographical Coverage', value: data }];
94
+ },
95
+ accrualPeriodicity: (data) => {
96
+ return [
97
+ {
98
+ label: 'Frequency',
99
+ value: frequencyMap[data].name,
100
+ },
101
+ ];
102
+ },
103
+ };
@@ -2,12 +2,19 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
10
+ exports.buildRows = buildRows;
8
11
  exports["default"] = void 0;
9
12
 
10
- var _react = _interopRequireDefault(require("react"));
13
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+
15
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
+
17
+ var _react = _interopRequireWildcard(require("react"));
11
18
 
12
19
  var _router = require("@reach/router");
13
20
 
@@ -15,67 +22,41 @@ var _designSystem = require("@cmsgov/design-system");
15
22
 
16
23
  var _TransformedDate = _interopRequireDefault(require("../TransformedDate"));
17
24
 
25
+ 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); }
26
+
27
+ 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; }
28
+
29
+ function buildRows(metadataMapping, datasetInfo) {
30
+ var rows = [];
31
+ Object.keys(metadataMapping).forEach(function (d) {
32
+ if (!datasetInfo[d]) {
33
+ return null;
34
+ } else {
35
+ rows.push.apply(rows, (0, _toConsumableArray2["default"])(metadataMapping[d](datasetInfo[d])));
36
+ }
37
+ });
38
+ return rows;
39
+ }
40
+
18
41
  var DatasetAdditionalInformation = function DatasetAdditionalInformation(_ref) {
19
- var datasetInfo = _ref.datasetInfo;
20
- var accessLevel = datasetInfo.accessLevel,
21
- programCode = datasetInfo.programCode,
22
- issued = datasetInfo.issued,
23
- modified = datasetInfo.modified,
24
- keyword = datasetInfo.keyword,
25
- identifier = datasetInfo.identifier,
26
- license = datasetInfo.license,
27
- theme = datasetInfo.theme,
28
- contactPoint = datasetInfo.contactPoint,
29
- bureauCode = datasetInfo.bureauCode,
30
- publisher = datasetInfo.publisher,
31
- references = datasetInfo.references;
32
- var tags = [];
33
- var themes = [];
34
-
35
- if (keyword && keyword.length) {
36
- tags = keyword.map(function (k, index) {
37
- if (index === 0) {
38
- return /*#__PURE__*/_react["default"].createElement(_router.Link, {
39
- key: k.data,
40
- to: "/datasets?keyword[]=".concat(k.data)
41
- }, k.data);
42
- } else {
43
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, ",", ' ', /*#__PURE__*/_react["default"].createElement(_router.Link, {
44
- key: k.data,
45
- to: "/datasets?keyword[]=".concat(k.data)
46
- }, k.data));
47
- }
48
- });
49
- }
50
-
51
- if (theme && theme.length) {
52
- themes = theme;
53
- }
42
+ var datasetInfo = _ref.datasetInfo,
43
+ id = _ref.id,
44
+ metadataMapping = _ref.metadataMapping;
45
+
46
+ var _useState = (0, _react.useState)(buildRows(metadataMapping, datasetInfo)),
47
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
48
+ rows = _useState2[0];
54
49
 
55
50
  return /*#__PURE__*/_react["default"].createElement("div", {
56
51
  className: "dc-c-additional-info-table ds-u-margin-bottom--6"
57
52
  }, /*#__PURE__*/_react["default"].createElement("h2", null, "Additional Information"), /*#__PURE__*/_react["default"].createElement(_designSystem.Table, {
58
53
  compact: true,
59
54
  striped: true
60
- }, /*#__PURE__*/_react["default"].createElement(_designSystem.TableHead, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Field"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Value"))), /*#__PURE__*/_react["default"].createElement(_designSystem.TableBody, null, modified ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Last Update"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, /*#__PURE__*/_react["default"].createElement(_TransformedDate["default"], {
61
- date: modified
62
- }))) : null, issued ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Issued"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, /*#__PURE__*/_react["default"].createElement(_TransformedDate["default"], {
63
- date: issued
64
- }))) : null, publisher && publisher.data ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Publisher"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, publisher.data.name)) : null, identifier ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Identifier"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, identifier)) : null, contactPoint && contactPoint.fn ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Contact"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, contactPoint.fn)) : null, contactPoint && contactPoint.hasEmail ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Contact Email"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, contactPoint.hasEmail)) : null, bureauCode && bureauCode.length ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Bureau Code"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, bureauCode[0])) : null, programCode && programCode.length ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Program Code"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, programCode[0])) : null, themes && themes.length ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Category"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, themes.map(function (t) {
65
- return t.data;
66
- }).join(','))) : null, tags && tags.length ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Tags"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, tags)) : null, license ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "License"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, /*#__PURE__*/_react["default"].createElement("a", {
67
- href: license,
68
- target: "_blank",
69
- rel: "nofollow"
70
- }, license))) : null, accessLevel ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Public Access Level"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, accessLevel)) : null, references ? /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Related Documents"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, /*#__PURE__*/_react["default"].createElement("ul", {
71
- className: "ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0"
72
- }, references.map(function (r, index) {
73
- return /*#__PURE__*/_react["default"].createElement("li", {
74
- key: "".concat(r, "_").concat(index)
75
- }, /*#__PURE__*/_react["default"].createElement("a", {
76
- href: r
77
- }, r));
78
- })))) : null)));
55
+ }, /*#__PURE__*/_react["default"].createElement(_designSystem.TableHead, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, null, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Field"), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, "Value"))), /*#__PURE__*/_react["default"].createElement(_designSystem.TableBody, null, rows.map(function (r) {
56
+ return /*#__PURE__*/_react["default"].createElement(_designSystem.TableRow, {
57
+ key: "".concat(r.label, "_").concat(id)
58
+ }, /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, r.label), /*#__PURE__*/_react["default"].createElement(_designSystem.TableCell, null, r.value));
59
+ }))));
79
60
  };
80
61
 
81
62
  var _default = DatasetAdditionalInformation;
package/lib/index.js CHANGED
@@ -161,6 +161,12 @@ Object.defineProperty(exports, "TransformedDate", {
161
161
  return _TransformedDate["default"];
162
162
  }
163
163
  });
164
+ Object.defineProperty(exports, "frequencyMap", {
165
+ enumerable: true,
166
+ get: function get() {
167
+ return _frequencyMap["default"];
168
+ }
169
+ });
164
170
  Object.defineProperty(exports, "useAddLoginLink", {
165
171
  enumerable: true,
166
172
  get: function get() {
@@ -222,4 +228,6 @@ var _FilteredResource = _interopRequireDefault(require("./templates/FilteredReso
222
228
 
223
229
  var _APIPage = _interopRequireDefault(require("./templates/APIPage"));
224
230
 
225
- var _useAddLoginLink = _interopRequireDefault(require("./components/useAddLoginLink"));
231
+ var _useAddLoginLink = _interopRequireDefault(require("./components/useAddLoginLink"));
232
+
233
+ var _frequencyMap = _interopRequireDefault(require("./assets/frequencyMap"));
@@ -49,7 +49,8 @@ var DatasetBody = function DatasetBody(_ref) {
49
49
  additionalParams = _ref.additionalParams,
50
50
  customColumns = _ref.customColumns,
51
51
  columnSettings = _ref.columnSettings,
52
- columnWidths = _ref.columnWidths;
52
+ columnWidths = _ref.columnWidths,
53
+ metadataMapping = _ref.metadataMapping;
53
54
  var apiDocs = (0, _react.useRef)();
54
55
 
55
56
  var _useState = (0, _react.useState)('ds-u-padding-y--1'),
@@ -148,7 +149,9 @@ var DatasetBody = function DatasetBody(_ref) {
148
149
  "aria-valuetext": "Dataset loading",
149
150
  role: "status"
150
151
  })) : '', dataset.identifier && /*#__PURE__*/_react["default"].createElement(_DatasetAdditionalInformation["default"], {
151
- datasetInfo: dataset
152
+ datasetInfo: dataset,
153
+ id: dataset.identifier,
154
+ metadataMapping: metadataMapping
152
155
  }), Object.keys(distribution).length && fileFormat === 'CSV' && dataset.identifier ? /*#__PURE__*/_react["default"].createElement("div", {
153
156
  ref: apiDocs
154
157
  }, /*#__PURE__*/_react["default"].createElement("h2", null, "Try the API"), /*#__PURE__*/_react["default"].createElement(_swaggerUiReact["default"], {
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _react = _interopRequireWildcard(require("react"));
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -19,10 +21,16 @@ var _DatasetBody = _interopRequireDefault(require("./DatasetBody"));
19
21
 
20
22
  var _PageNotFound = _interopRequireDefault(require("../PageNotFound"));
21
23
 
24
+ var _metadataMapping = require("../../assets/metadataMapping");
25
+
22
26
  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); }
23
27
 
24
28
  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; }
25
29
 
30
+ 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
+ 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
+
26
34
  var Dataset = function Dataset(_ref) {
27
35
  var id = _ref.id,
28
36
  rootUrl = _ref.rootUrl,
@@ -30,10 +38,14 @@ var Dataset = function Dataset(_ref) {
30
38
  customColumns = _ref.customColumns,
31
39
  setDatasetTitle = _ref.setDatasetTitle,
32
40
  columnSettings = _ref.columnSettings,
33
- columnWidths = _ref.columnWidths;
41
+ columnWidths = _ref.columnWidths,
42
+ customMetadataMapping = _ref.customMetadataMapping;
34
43
  var metastore = (0, _dataCatalogServices.useMetastoreDataset)(id, rootUrl, additionalParams);
35
44
  var dataset = metastore.dataset;
36
45
  var title = dataset.title ? dataset.title : '';
46
+
47
+ var metadataMapping = _objectSpread(_objectSpread({}, _metadataMapping.defaultMetadataMapping), customMetadataMapping);
48
+
37
49
  (0, _react.useEffect)(function () {
38
50
  if (title) {
39
51
  if (setDatasetTitle) {
@@ -58,7 +70,8 @@ var Dataset = function Dataset(_ref) {
58
70
  additionalParams: additionalParams,
59
71
  customColumns: customColumns ? customColumns : [],
60
72
  columnSettings: columnSettings,
61
- columnWidths: columnWidths
73
+ columnWidths: columnWidths,
74
+ metadataMapping: metadataMapping
62
75
  }));
63
76
  };
64
77
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@civicactions/cmsds-open-data-components",
3
- "version": "1.8.0",
3
+ "version": "1.9.0-alpha.3",
4
4
  "description": "Components for the open data catalog frontend using CMS Design System",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -53,6 +53,7 @@
53
53
  "@babel/plugin-proposal-throw-expressions": "^7.0.0",
54
54
  "@babel/plugin-syntax-dynamic-import": "^7.0.0",
55
55
  "@babel/plugin-syntax-import-meta": "^7.0.0",
56
+ "@babel/plugin-transform-react-jsx": "^7.17.3",
56
57
  "@babel/plugin-transform-runtime": "^7.6.2",
57
58
  "@babel/preset-env": "^7.10.2",
58
59
  "@babel/preset-react": "^7.10.1",