diff --git a/dist/index.cjs.js b/dist/index.cjs.js index 9fc07386..1fee40bf 100644 --- a/dist/index.cjs.js +++ b/dist/index.cjs.js @@ -230,8 +230,8 @@ var KeyInfo = function KeyInfo(_ref) { var datasetSize = 0; if (resources) { - datasetSize = resources.length == 1 ? resources[0].size : resources.reduce(function (accumulator, currentValue) { - return accumulator.size + currentValue.size; + datasetSize = resources.length == 1 ? resources[0].size || 0 : resources.reduce(function (accumulator, currentValue) { + return (accumulator.size || 0) + (currentValue.size || 0); }); } @@ -266,22 +266,22 @@ var KeyInfo = function KeyInfo(_ref) { className: "text-1xl" }, resources.length)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" - }, filesize__default['default'](datasetSize, { + }, datasetSize && filesize__default['default'](datasetSize, { bits: true }))), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" - }, resources[0].format, " zip")), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { + }, resources[0]["format"], " zip")), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" - }, descriptor.created)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { + }, descriptor["created"])), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" - }, descriptor.updated)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { + }, descriptor["updated"])), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" - }, descriptor.license)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { + }, descriptor["license"])), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" }, /*#__PURE__*/React__default['default'].createElement("a", { className: "text-yellow-600", - href: descriptor.sources[0].web - }, descriptor.sources[0].title)))))); + href: descriptor["sources"] && descriptor["sources"][0]["web"] + }, descriptor["sources"] && descriptor["sources"][0]["title"])))))); }; KeyInfo.propTypes = { @@ -300,9 +300,7 @@ var ResourcesInfo = function ResourcesInfo(_ref) { return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("section", { className: "m-8", name: "file-list" - }, /*#__PURE__*/React__default['default'].createElement("h1", { - className: "text-2xl font-bold mb-4" - }, "Data Files"), /*#__PURE__*/React__default['default'].createElement("div", { + }, /*#__PURE__*/React__default['default'].createElement("div", { className: "grid grid-cols-7 gap-4" }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl font-bold mb-2" @@ -324,7 +322,7 @@ var ResourcesInfo = function ResourcesInfo(_ref) { className: "text-1xl" }, resource.description || "No description")), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" - }, filesize__default['default'](resource.size, { + }, resource.size && filesize__default['default'](resource.size, { bits: true }))), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", { className: "text-1xl" @@ -333,9 +331,7 @@ var ResourcesInfo = function ResourcesInfo(_ref) { }, /*#__PURE__*/React__default['default'].createElement("a", { className: "text-yellow-600", href: "/dataset/".concat(resource.path) - }, resource.format, " (", filesize__default['default'](resource.size, { - bits: true - }), ")")))); + }, resource.format)))); }))); }; @@ -551,11 +547,13 @@ var Nav = function Nav(_ref) { className: "flex items-center justify-between flex-wrap bg-white p-4 border-b border-gray-200" }, /*#__PURE__*/React__default['default'].createElement("div", { className: "flex items-center flex-shrink-0 text-gray-700 mr-6" + }, /*#__PURE__*/React__default['default'].createElement(Link__default['default'], { + href: "/" }, /*#__PURE__*/React__default['default'].createElement("img", { src: logo, alt: "portal logo", width: "40" - })), /*#__PURE__*/React__default['default'].createElement("div", { + }))), /*#__PURE__*/React__default['default'].createElement("div", { className: "block lg:hidden mx-4" }, /*#__PURE__*/React__default['default'].createElement("button", { onClick: handleClick, diff --git a/dist/index.esm.js b/dist/index.esm.js index 35c2558b..23d38720 100644 --- a/dist/index.esm.js +++ b/dist/index.esm.js @@ -197,8 +197,8 @@ var KeyInfo = function KeyInfo(_ref) { var datasetSize = 0; if (resources) { - datasetSize = resources.length == 1 ? resources[0].size : resources.reduce(function (accumulator, currentValue) { - return accumulator.size + currentValue.size; + datasetSize = resources.length == 1 ? resources[0].size || 0 : resources.reduce(function (accumulator, currentValue) { + return (accumulator.size || 0) + (currentValue.size || 0); }); } @@ -233,22 +233,22 @@ var KeyInfo = function KeyInfo(_ref) { className: "text-1xl" }, resources.length)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" - }, filesize(datasetSize, { + }, datasetSize && filesize(datasetSize, { bits: true }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" - }, resources[0].format, " zip")), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { + }, resources[0]["format"], " zip")), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" - }, descriptor.created)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { + }, descriptor["created"])), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" - }, descriptor.updated)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { + }, descriptor["updated"])), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" - }, descriptor.license)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { + }, descriptor["license"])), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" }, /*#__PURE__*/React.createElement("a", { className: "text-yellow-600", - href: descriptor.sources[0].web - }, descriptor.sources[0].title)))))); + href: descriptor["sources"] && descriptor["sources"][0]["web"] + }, descriptor["sources"] && descriptor["sources"][0]["title"])))))); }; KeyInfo.propTypes = { @@ -267,9 +267,7 @@ var ResourcesInfo = function ResourcesInfo(_ref) { return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("section", { className: "m-8", name: "file-list" - }, /*#__PURE__*/React.createElement("h1", { - className: "text-2xl font-bold mb-4" - }, "Data Files"), /*#__PURE__*/React.createElement("div", { + }, /*#__PURE__*/React.createElement("div", { className: "grid grid-cols-7 gap-4" }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl font-bold mb-2" @@ -291,7 +289,7 @@ var ResourcesInfo = function ResourcesInfo(_ref) { className: "text-1xl" }, resource.description || "No description")), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" - }, filesize(resource.size, { + }, resource.size && filesize(resource.size, { bits: true }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", { className: "text-1xl" @@ -300,9 +298,7 @@ var ResourcesInfo = function ResourcesInfo(_ref) { }, /*#__PURE__*/React.createElement("a", { className: "text-yellow-600", href: "/dataset/".concat(resource.path) - }, resource.format, " (", filesize(resource.size, { - bits: true - }), ")")))); + }, resource.format)))); }))); }; @@ -518,11 +514,13 @@ var Nav = function Nav(_ref) { className: "flex items-center justify-between flex-wrap bg-white p-4 border-b border-gray-200" }, /*#__PURE__*/React.createElement("div", { className: "flex items-center flex-shrink-0 text-gray-700 mr-6" + }, /*#__PURE__*/React.createElement(Link, { + href: "/" }, /*#__PURE__*/React.createElement("img", { src: logo, alt: "portal logo", width: "40" - })), /*#__PURE__*/React.createElement("div", { + }))), /*#__PURE__*/React.createElement("div", { className: "block lg:hidden mx-4" }, /*#__PURE__*/React.createElement("button", { onClick: handleClick, diff --git a/examples/catalog/components/dataset/About.tsx b/examples/catalog/components/dataset/About.tsx index bdaa1f85..50c2d3cb 100644 --- a/examples/catalog/components/dataset/About.tsx +++ b/examples/catalog/components/dataset/About.tsx @@ -1,38 +1,7 @@ import { useQuery } from '@apollo/react-hooks'; -import { Table, ErrorMessage } from '../_shared'; +import { ErrorMessage } from '../_shared'; import { GET_DATAPACKAGE_QUERY } from '../../graphql/queries'; - -const columns = [ - { - name: 'Files', - key: 'files', - render: ({ resources }) => (resources && resources.length) || 0, - }, - { - name: 'Size', - key: 'size', - }, - { - name: 'Format', - key: 'format', - }, - { - name: 'Created', - key: 'metadata_created', - }, - { - name: 'Updated', - key: 'metadata_modified', - }, - { - name: 'License', - key: 'license', - }, - { - name: 'Source', - key: 'source', - }, -]; +import { KeyInfo } from 'portal'; const About: React.FC<{ variables: any }> = ({ variables }) => { const { loading, error, data } = useQuery(GET_DATAPACKAGE_QUERY, { @@ -47,7 +16,7 @@ const About: React.FC<{ variables: any }> = ({ variables }) => { if (loading) return
- {dataset.organization && dataset.organization.description} -
- - - View Dataset - - -{t(`common:description`)}
- +