@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.
- package/dist/scss/components/additional-information-table.scss +4 -0
- package/lib/assets/frequencyMap.js +22 -0
- package/lib/assets/metadataMapping.js +156 -0
- package/lib/assets/metadataMapping.jsx +103 -0
- package/lib/components/DatasetAdditionalInformation/index.js +36 -55
- package/lib/index.js +9 -1
- package/lib/templates/Dataset/DatasetBody.js +5 -2
- package/lib/templates/Dataset/index.js +15 -2
- package/package.json +2 -1
|
@@ -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
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
})))
|
|
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.
|
|
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",
|