col-browser 2.0.0 → 2.1.0
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/README.md +17 -0
- package/es/bibtex.js +8 -0
- package/es/bibtex.js.map +1 -0
- package/es/chunks/AntdIcon-B1nMlqyh.js +984 -0
- package/es/chunks/AntdIcon-B1nMlqyh.js.map +1 -0
- package/es/chunks/BibTex-BqzD3qLB.js +13 -0
- package/es/chunks/BibTex-BqzD3qLB.js.map +1 -0
- package/es/chunks/DatasetCitation-bkPmDDYB.js +119 -0
- package/es/chunks/DatasetCitation-bkPmDDYB.js.map +1 -0
- package/es/chunks/DatasetlogoWithFallback-CbP7vRs_.js +823 -0
- package/es/chunks/DatasetlogoWithFallback-CbP7vRs_.js.map +1 -0
- package/es/chunks/Distributions-DDYEbGhW.js +1110 -0
- package/es/chunks/Distributions-DDYEbGhW.js.map +1 -0
- package/es/chunks/ErrorMsg-K8k5PPTp.js +26 -0
- package/es/chunks/ErrorMsg-K8k5PPTp.js.map +1 -0
- package/es/chunks/LinkOutlined-2IkQWTV7.js +22 -0
- package/es/chunks/LinkOutlined-2IkQWTV7.js.map +1 -0
- package/es/chunks/MergedDataBadge-DsTsn5Xu.js +134 -0
- package/es/chunks/MergedDataBadge-DsTsn5Xu.js.map +1 -0
- package/es/chunks/MetricsPresentation-U_CO8JoH.js +66 -0
- package/es/chunks/MetricsPresentation-U_CO8JoH.js.map +1 -0
- package/es/chunks/TaxonBreakdown-BshFaQql.js +205 -0
- package/es/chunks/TaxonBreakdown-BshFaQql.js.map +1 -0
- package/es/chunks/config-BPRXv9x8.js +31 -0
- package/es/chunks/config-BPRXv9x8.js.map +1 -0
- package/es/chunks/dataset-DvQG4NjA.js +30 -0
- package/es/chunks/dataset-DvQG4NjA.js.map +1 -0
- package/es/chunks/enumeration-yDQXSZsf.js +12 -0
- package/es/chunks/enumeration-yDQXSZsf.js.map +1 -0
- package/es/chunks/index-CNK3JADR.js +95 -0
- package/es/chunks/index-CNK3JADR.js.map +1 -0
- package/es/chunks/jsx-runtime-BzflLqGi.js +283 -0
- package/es/chunks/jsx-runtime-BzflLqGi.js.map +1 -0
- package/es/chunks/router-CssZk5qZ.js +109 -0
- package/es/chunks/router-CssZk5qZ.js.map +1 -0
- package/es/chunks/sector-BnVzMnMO.js +9 -0
- package/es/chunks/sector-BnVzMnMO.js.map +1 -0
- package/es/chunks/withDatasetKey-BgMY05XE.js +48 -0
- package/es/chunks/withDatasetKey-BgMY05XE.js.map +1 -0
- package/es/col-browser.css +1 -1
- package/es/index.js +18 -7964
- package/es/index.js.map +1 -1
- package/es/routing.js +5 -0
- package/es/routing.js.map +1 -0
- package/es/search.js +803 -0
- package/es/search.js.map +1 -0
- package/es/sourceDataset.js +453 -0
- package/es/sourceDataset.js.map +1 -0
- package/es/sourceDatasetList.js +366 -0
- package/es/sourceDatasetList.js.map +1 -0
- package/es/taxon.js +1643 -0
- package/es/taxon.js.map +1 -0
- package/es/taxonBreakdown.js +42 -0
- package/es/taxonBreakdown.js.map +1 -0
- package/es/taxonDistribution.js +48 -0
- package/es/taxonDistribution.js.map +1 -0
- package/es/tree.js +821 -0
- package/es/tree.js.map +1 -0
- package/package.json +51 -9
- package/types/bibtex.d.ts +1 -0
- package/types/index.d.ts +158 -0
- package/types/routing.d.ts +1 -0
- package/types/search.d.ts +1 -0
- package/types/sourceDataset.d.ts +1 -0
- package/types/sourceDatasetList.d.ts +1 -0
- package/types/taxon.d.ts +1 -0
- package/types/taxonBreakdown.d.ts +1 -0
- package/types/taxonDistribution.d.ts +1 -0
- package/types/tree.d.ts +1 -0
- package/umd/col-browser.js +20478 -27048
- package/umd/col-browser.js.map +1 -1
- package/umd/col-browser.min.js +5 -13
- package/umd/col-browser.min.js.map +1 -1
package/es/search.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sources":["../node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","../node_modules/@ant-design/icons/es/icons/DownOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/UpOutlined.js","../node_modules/@ant-design/icons/es/icons/UpOutlined.js","../src/Search/Classification.js","../src/Search/SearchBox.js","../src/Search/MultiValueFilter.js","../src/Search/RowDetail.js","../src/components/DatasetAutocomplete.js","../src/Search/NameSearch.js","../src/Search/index.js","../src/entries/search.js"],"sourcesContent":["// This icon file is generated automatically.\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexport default DownOutlined;\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DownOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nconst DownOutlined = (props, ref) => /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DownOutlinedSvg\n}));\n\n/** */\nconst RefIcon = /*#__PURE__*/React.forwardRef(DownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DownOutlined';\n}\nexport default RefIcon;","// This icon file is generated automatically.\nvar UpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z\" } }] }, \"name\": \"up\", \"theme\": \"outlined\" };\nexport default UpOutlined;\n","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UpOutlinedSvg from \"@ant-design/icons-svg/es/asn/UpOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nconst UpOutlined = (props, ref) => /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UpOutlinedSvg\n}));\n\n/** */\nconst RefIcon = /*#__PURE__*/React.forwardRef(UpOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'UpOutlined';\n}\nexport default RefIcon;","import React from \"react\";\nimport { LinkTo } from \"../router\";\n\nconst ranks = [\"family\", \"superfamily\", \"order\", \"subclass\", \"class\", \"superclass\", \"subphylum\", \"phylum\"];\n\nexport default ({ classification, maxParents = classification.length, truncate }) => {\n const clazzification = classification.slice(Math.max(classification.length - maxParents));\n if (truncate) {\n const classificationRankMap = classification.reduce((acc, curr) => (acc[curr.rank] = curr, acc), {});\n\n const kingdom = classificationRankMap[\"kingdom\"];\n let familyOrClosestAlternative;\n for (let i = 0; i < ranks.length; i++) {\n if (classificationRankMap[ranks[i]]) {\n familyOrClosestAlternative = classificationRankMap[ranks[i]];\n break;\n }\n }\n if (kingdom && familyOrClosestAlternative) {\n return (\n <React.Fragment>\n <LinkTo to=\"taxon\" args={kingdom.id}>{kingdom.name}</LinkTo>\n {familyOrClosestAlternative.rank === \"phylum\" ? \" > \" : \" > ... > \"}\n <LinkTo to=\"taxon\" args={familyOrClosestAlternative.id}>{familyOrClosestAlternative.name}</LinkTo>\n </React.Fragment>\n );\n } else if (kingdom) {\n return <LinkTo to=\"taxon\" args={kingdom.id}>{kingdom.name}</LinkTo>;\n } else {\n return null;\n }\n } else {\n return clazzification.map((t, key) => (\n <React.Fragment key={key}>\n <LinkTo to=\"taxon\" args={t.id}>{t.name}</LinkTo>\n {!Object.is(clazzification.length - 1, key) && \" > \"}\n </React.Fragment>\n ));\n }\n};\n","import React from \"react\";\nimport { CloseCircleOutlined } from '@ant-design/icons';\nimport { Input } from \"antd\";\n// test\nconst Search = Input.Search;\n\nclass SearchBox extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n search: \"\"\n };\n }\n componentDidMount = () => {\n if (this.props.defaultValue) {\n this.setState({ search: this.props.defaultValue });\n }\n };\n componentDidUpdate = (prevProps) => {\n\n if (prevProps.defaultValue !== this.props.defaultValue) {\n this.setState({ search: this.props.defaultValue});\n }\n }\n\n resetSearch = () => {\n this.setState({ search: \"\" }, () => {\n this.props.onSearch(this.state.search);\n });\n }\n render = () => {\n \n return (\n <Search\n style={this.props.style || null}\n placeholder=\"Search query\"\n value={this.state.search}\n onSearch={value => this.props.onSearch(this.state.search)}\n onChange={event => this.setState({ search: event.target.value})}\n addonAfter={this.props.addonAfter}\n allowClear\n autoFocus={true}\n />\n );\n };\n}\n\nexport default SearchBox;\n","import React from \"react\";\n\nimport { Form, Select } from \"antd\";\nimport { isArray, snakeCase, startCase } from \"lodash-es\";\n\n\nconst FormItem = Form.Item;\n\nconst Option = Select.Option;\n\nconst formItemLayout = {\n labelCol: {\n xs: { span: 24 },\n sm: { span: 24 },\n md: { span: 8 },\n },\n wrapperCol: {\n xs: { span: 24 },\n sm: { span: 24 },\n md: { span: 16 },\n },\n };\n\nclass MultiValueFilter extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n selected: this.props.selected,\n randomID: (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)\n };\n }\n\n\n handleChange = selected => {\n \n this.setState({ selected }, () => {\n this.props.onChange(selected);\n });\n };\n\n render = () => {\n const {defaultValue, label, vocab} = this.props;\n const {randomID} = this.state;\n //const randomID = (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1);\n const vocabKeys = new Set([...vocab.map(i => i.value)]);\n let val; \n if(defaultValue && isArray(defaultValue)){\n val = defaultValue.filter(v => vocabKeys.has(v))\n } else if(defaultValue){\n val = [defaultValue].filter(v => vocabKeys.has(v))\n }\n return (\n <FormItem\n {...formItemLayout}\n label={label}\n style={{marginBottom: '8px', width: \"100%\"}}\n >\n <div id={`${snakeCase(label)}_${randomID}`}>\n <Select\n showSearch\n // style={{ width: \"100%\" }}\n mode=\"multiple\"\n placeholder=\"Please select\"\n value={val}\n onChange={this.handleChange}\n getPopupContainer={() =>\n document.getElementById(`${snakeCase(label)}_${randomID}`)\n }\n >\n {vocab.map((i) => {\n return (typeof i === 'string') ? <Option key={i} value={i}>{startCase(i)}</Option> : <Option key={i.value} value={i.value}>{i.label}</Option>\n })}\n </Select>\n </div>\n </FormItem>\n );\n };\n}\n\nexport default MultiValueFilter;\n","import React from \"react\";\nimport { Row, Col, Tag, Tooltip } from \"antd\";\nimport Classification from \"./Classification\";\nimport { get, initial } from \"lodash-es\";\n\nconst RowDetail = ({ issues, usage, classification, vernacularNames, issueMap }) => (\n <React.Fragment>\n {get(usage, \"id\") && (\n <Row style={{ marginBottom: \"10px\" }}>\n <Col\n span={3}\n style={{\n textAlign: \"right\",\n paddingRight: \"16px\",\n fontWeight: \"bold\"\n }}\n >\n ID:\n </Col>\n <Col span={18}>{get(usage, \"id\")}</Col>\n </Row>\n )}\n {classification && (\n <Row style={{ marginBottom: \"10px\" }}>\n <Col\n span={3}\n style={{\n textAlign: \"right\",\n paddingRight: \"16px\",\n fontWeight: \"bold\"\n }}\n >\n Classification:\n </Col>\n <Col span={18}>\n <Classification\n classification={initial(classification)}\n />\n </Col>\n </Row>\n )}\n {vernacularNames && (\n <Row>\n <Col\n span={3}\n style={{\n textAlign: \"right\",\n paddingRight: \"16px\",\n fontWeight: \"bold\"\n }}\n >\n Vernacular:\n </Col>\n <Col span={18} style={{paddingBottom: \"12px\"}}>\n {vernacularNames.slice(0, 8).map(vn => vn.name).join(\", \")}\n </Col>\n </Row>\n )} \n { /* issues && (\n <Row>\n <Col\n span={3}\n style={{\n textAlign: \"right\",\n paddingRight: \"16px\",\n fontWeight: \"bold\"\n }}\n >\n Issues:\n </Col>\n <Col span={18}>\n {issues.map(i => (\n <Tooltip key={i} title={get(issueMap, `[${i}].description`)}>\n {\" \"}\n <Tag key={i} color={get(issueMap, `[${i}].color`)}>\n {i}\n </Tag>\n </Tooltip>\n ))}\n </Col>\n </Row>\n ) */}\n </React.Fragment>\n);\n\nexport default RowDetail;\n","import React from 'react';\nimport client from \"../api/client\";\nimport config from \"../config\";\nimport { CloseCircleOutlined } from '@ant-design/icons';\nimport { AutoComplete, Input, Button } from 'antd';\nimport { debounce, get } from \"lodash-es\";\nimport Highlighter from \"react-highlight-words\";\n\nconst Option = AutoComplete.Option;\n\nclass DatasetAutocomplete extends React.Component {\n\n constructor(props) {\n super(props);\n\n this.getDatasets = debounce(this.getDatasets, 500);\n\n this.state = {\n datasets: [],\n value: '',\n randomID: (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)\n }\n }\n\n \n\n componentDidMount = () => {\n const {defaultDatasetKey} = this.props;\n if(defaultDatasetKey){\n this.setDefaultValue(defaultDatasetKey)\n }\n }\n\n componentDidUpdate = (prevProps) => {\n const { defaultDatasetKey} = this.props;\n if(defaultDatasetKey && defaultDatasetKey !== prevProps.defaultDatasetKey){\n this.setDefaultValue(defaultDatasetKey)\n } else if(prevProps.defaultDatasetKey && !defaultDatasetKey){\n this.setState({value: ''})\n }\n }\n\n componentWillUnmount() {\n this.getDatasets.cancel();\n }\n\n setDefaultValue = (defaultDatasetKey) => {\n client(`${config.dataApi}dataset/${defaultDatasetKey}`)\n .then(res => {\n this.setState({value: get(res, 'data.title') || ''})\n this.props.onSelectDataset(res.data)\n })\n }\n\n getDatasets = (q) => {\n const {contributesTo} = this.props;\n client(`${config.dataApi}dataset?q=${q}&limit=30${contributesTo ? '&contributesTo='+contributesTo : ''}`)\n .then((res) => {\n this.setState({ datasets: res.data.result})\n })\n .catch((err) => {\n this.setState({ datasets: [], err })\n })\n }\n onSelectDataset = (val, obj) => {\n this.setState({value: val})\n this.props.onSelectDataset({key: obj.key, title: val})\n }\n onReset = () => {\n this.setState({ value: \"\", names: [] }, this.props.onResetSearch);\n }\n render = () => {\n const {value, randomID} = this.state;\n const {style} = this.props\n // const randomID = (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1);\n \n\n const options = this.state.datasets ? this.state.datasets.map((o) => {\n const text = `${o.alias || o.title} [${o.key}]`;\n return {\n key: o.key,\n value: text,\n label: (\n <Highlighter\n highlightStyle={{ fontWeight: \"bold\", padding: 0 }}\n searchWords={value.split(\" \")}\n autoEscape\n textToHighlight={text}\n />\n ),\n data: o\n }\n \n }) : [];\n\n return <div id={`dataset_autocomplete_${randomID}`}><AutoComplete\n onSelect={this.onSelectDataset}\n onSearch={(q) => (!!q ? this.getDatasets(q) : this.onReset())}\n options={options}\n placeholder={this.props.placeHolder || \"Find dataset\"}\n style={style ? style : { width: '100%' }}\n onChange={(value) => this.setState({value})}\n value={value}\n getPopupContainer={() =>\n document.getElementById(`dataset_autocomplete_${randomID}`)\n }\n >\n <Input.Search allowClear />\n </AutoComplete></div>\n }\n\n}\n\nexport default DatasetAutocomplete;","import React from \"react\";\nimport client from \"../api/client\";\nimport { UpOutlined, DownOutlined } from \"@ant-design/icons\";\nimport { LinkTo } from \"../router\";\nimport { getDatasetSimple } from \"../api/dataset\";\nimport { getTaxGroup } from \"../api/enumeration\";\nimport {\n Table,\n Alert,\n Row,\n Col,\n Button,\n Form,\n Radio,\n Select,\n} from \"antd\";\nimport config from \"../config\";\nimport qs from \"query-string\";\nimport Classification from \"./Classification\";\nimport SearchBox from \"./SearchBox\";\nimport MultiValueFilter from \"./MultiValueFilter\";\nimport RowDetail from \"./RowDetail\";\nimport { forEach, get, initial, isArray, isEmpty, isEqual, merge, startCase } from \"lodash-es\";\nimport ErrorMsg from \"../components/ErrorMsg\";\nimport NameAutocomplete from \"../ColTree/NameAutocomplete\";\nimport DatasetAutocomplete from \"../components/DatasetAutocomplete\";\nimport Citation from \"../components/DatasetCitation\";\nimport MergedDataBadge from \"../components/MergedDataBadge\";\n\nconst FormItem = Form.Item;\nconst RadioGroup = Radio.Group;\nconst FACET_VOCAB = [\n \"rank\",\n \"issue\",\n \"status\",\n \"nomStatus\",\n \"nameType\",\n \"field\",\n \"authorship\",\n \"extinct\",\n \"environment\",\n \"group\",\n \"authorshipYear\",\n];\nconst PAGE_SIZE = 50;\nconst FACET_LIMIT = 50;\nconst defaultParams = {\n limit: 50,\n offset: 0,\n facet: FACET_VOCAB, //[\"rank\", \"issue\", \"status\", \"nomStatus\", \"nameType\", \"field\"],\n facetLimit: FACET_LIMIT,\n sortBy: \"relevance\",\n};\n\nconst getColumns = () => [\n {\n title: \"\",\n dataIndex: [\"usage\", \"merged\"],\n key: \"merged\",\n width: 12,\n render: (text, record) =>\n record?.usage?.merged ? <MergedDataBadge datasetKey={record?.usage?.datasetKey} verbatimSourceKey={record?.usage?.verbatimSourceKey} /> : \"\",\n },\n {\n title: \"Scientific Name\",\n dataIndex: [\"usage\", \"labelHtml\"],\n key: \"scientificName\",\n render: (text, record) => {\n const id =\n get(record, \"usage.accepted.id\") || get(record, \"usage.id\");\n return (\n <LinkTo to=\"taxon\" args={id}>\n <span dangerouslySetInnerHTML={{ __html: text }} />\n </LinkTo>\n );\n },\n width: 200,\n sorter: true,\n },\n {\n title: \"Status\",\n dataIndex: [\"usage\", \"status\"],\n key: \"status\",\n width: 200,\n render: (text, record) => {\n return ![\"synonym\", \"ambiguous synonym\", \"misapplied\"].includes(text) ? (\n text\n ) : (\n <React.Fragment key={get(record, \"usage.id\")}>\n {text} {text === \"misapplied\" ? \"to \" : \"of \"}\n <span\n dangerouslySetInnerHTML={{\n __html: get(record, \"usage.accepted.labelHtml\"),\n }}\n />\n </React.Fragment>\n );\n },\n },\n {\n title: \"Rank\",\n dataIndex: [\"usage\", \"name\", \"rank\"],\n key: \"rank\",\n width: 60,\n sorter: true,\n },\n {\n title: \"Classification\",\n dataIndex: [\"usage\", \"classification\"],\n key: \"parents\",\n width: 180,\n render: (text, record) => {\n return !get(record, \"classification\") ? (\n \"\"\n ) : (\n <Classification\n key={get(record, \"usage.id\")}\n classification={initial(record.classification)}\n truncate={true}\n datasetKey={get(record, \"usage.name.datasetKey\")}\n />\n );\n },\n },\n];\n\nclass NameSearchPage extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n data: [],\n advancedFilters: false,\n columns: getColumns(),\n params: {},\n taxGroups: [],\n pagination: {\n pageSize: PAGE_SIZE,\n current: 1,\n showQuickJumper: true,\n pageSizeOptions: [50, 100, 500, 1000],\n },\n loading: false,\n dataset: null,\n };\n }\n\n componentDidMount = async () => {\n this.parseParamsAndGetData();\n const { datasetKey } = this.props;\n // Single dataset lookup. Stores both the descriptor (used by the\n // citation footer when enabled) and the lowercase origin, which gates\n // the source-dataset and Content filter UI.\n try {\n const { data: dataset } = await getDatasetSimple(datasetKey);\n this.setState({\n dataset,\n datasetOrigin: (dataset?.origin || \"\").toLowerCase(),\n });\n } catch (err) {}\n try {\n const taxGroups = await getTaxGroup();\n this.setState({ taxGroups });\n } catch (err) {}\n };\n\n componentDidUpdate = (prevProps) => {\n if (!isEqual(prevProps.filters, this.props.filters)) {\n this.parseParamsAndGetData();\n }\n };\n\n getRank = () => {\n client(`${config.dataApi}vocab/rank`).then((res) =>\n this.setState({ rank: res.data.map((r) => r.name) })\n );\n };\n parseParamsAndGetData = () => {\n const { defaultTaxonKey, filters } = this.props;\n let params = { ...(filters || {}) };\n if (defaultTaxonKey && !params.TAXON_ID) {\n params.TAXON_ID = defaultTaxonKey;\n }\n if (isEmpty(params)) {\n params = defaultParams;\n this.pushParams(defaultParams);\n } else if (!params.facet) {\n params.facet = FACET_VOCAB;\n }\n if (!params.facetLimit) {\n params.facetLimit = FACET_LIMIT;\n }\n\n // fuzzy is no longer a separate API parameter; it's now the FUZZY type value\n delete params.fuzzy;\n\n if (!params.limit) {\n params.limit = PAGE_SIZE;\n }\n if (!params.offset) {\n params.offset = 0;\n }\n this.setState(\n {\n params,\n pagination: {\n pageSize: params.limit || PAGE_SIZE,\n current:\n Number(params.offset || 0) / Number(params.limit || PAGE_SIZE) + 1,\n showQuickJumper: true,\n pageSizeOptions: [50, 100, 500, 1000],\n },\n },\n this.getData\n );\n };\n\n pushParams = (params) => {\n const next = { ...params };\n if (!next.q) delete next.q;\n if (this.props.onFiltersChange) this.props.onFiltersChange(next);\n };\n\n getData = () => {\n const { params } = this.state;\n this.setState({ loading: true });\n const { datasetKey } = this.props;\n\n const url = `${config.dataApi}dataset/${datasetKey}/nameusage/search`;\n const params_ = get(params, \"status\")\n ? params\n : { ...params, status: \"_NOT_NULL\" };\n client(`${url}?${qs.stringify(params_)}`)\n .then((res) => {\n const pagination = { ...this.state.pagination };\n pagination.total = res.data.total;\n\n this.setState({\n loading: false,\n data: res.data,\n err: null,\n pagination,\n });\n })\n .catch((err) => {\n this.setState({ loading: false, error: err, data: [] });\n });\n };\n handleTableChange = (pagination, filters, sorter) => {\n let query = merge(this.state.params, {\n limit: pagination.pageSize,\n offset: (pagination.current - 1) * pagination.pageSize,\n ...filters,\n });\n if (sorter && sorter.field) {\n if (sorter.field[sorter.field.length - 1] === \"labelHtml\") {\n query.sortBy = \"name\";\n } else if (sorter.field[sorter.field.length - 1] === \"rank\") {\n query.sortBy = \"taxonomic\";\n } else {\n query.sortBy = sorter.field[sorter.field.length - 1];\n }\n }\n if (sorter && sorter.order === \"descend\") {\n query.reverse = true;\n } else {\n query.reverse = false;\n }\n this.setState({ params: query }, () => this.pushParams(query));\n };\n\n updateSearch = (params) => {\n let newParams = { ...this.state.params, offset: 0, limit: 50 };\n forEach(params, (v, k) => {\n newParams[k] = v;\n });\n const notNullParams = Object.keys(newParams).reduce(\n (acc, cur) => (\n newParams[cur] !== null && (acc[cur] = newParams[cur]), acc\n ),\n {}\n );\n this.setState({ params: notNullParams }, () =>\n this.pushParams(notNullParams)\n );\n };\n\n resetSearch = () => {\n this.setState(\n {\n params: defaultParams,\n },\n () => this.pushParams(defaultParams)\n );\n };\n\n toggleAdvancedFilters = () => {\n this.setState({ advancedFilters: !this.state.advancedFilters });\n };\n\n render() {\n const {\n data: { result, facets },\n loading,\n error,\n params,\n pagination,\n advancedFilters,\n dataset,\n taxGroups,\n } = this.state;\n const { datasetKey, defaultTaxonKey, citation } = this.props;\n const facetRanks = get(facets, \"rank\")\n ? facets.rank.map((r) => ({\n value: r.value,\n label: `${startCase(r.value)} (${r.count.toLocaleString(\"en-GB\")})`,\n }))\n : null;\n const facetIssues = get(facets, \"issue\")\n ? facets.issue.map((i) => ({\n value: i.value,\n label: `${startCase(i.value)} (${i.count.toLocaleString(\"en-GB\")})`,\n }))\n : null;\n const facetTaxonomicStatus = get(facets, \"status\")\n ? facets.status.map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : null;\n const facetNomStatus = get(facets, \"nomStatus\")\n ? facets.nomStatus.map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : null;\n const facetNomType = get(facets, \"nameType\")\n ? facets.nameType.map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : null;\n const facetNomField = get(facets, \"field\")\n ? facets.field.map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : null;\n const facetAuthorship = get(facets, \"authorship\")\n ? facets[\"authorship\"].map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : [];\n const extinctLabel = (v) => {\n if (v === \"1\" || v === true || v === \"true\") return \"Extinct\";\n if (v === \"0\" || v === false || v === \"false\") return \"Extant\";\n return \"Unknown\";\n };\n const facetExtinct = get(facets, \"extinct\")\n ? facets[\"extinct\"].map((s) => ({\n value: s.value,\n label: `${extinctLabel(s?.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : [];\n const facetEnvironment = get(facets, \"environment\")\n ? facets[\"environment\"].map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : [];\n const facetGroup = get(facets, \"group\")\n ? facets[\"group\"].map((s) => ({\n value: s.value,\n label: `${startCase(s.value)} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : [];\n const facetAuthorshipYear = get(facets, \"authorshipYear\")\n ? facets[\"authorshipYear\"].map((s) => ({\n value: s.value,\n label: `${s.value} (${s.count.toLocaleString(\"en-GB\")})`,\n }))\n : [];\n\n return (\n <div\n className=\"catalogue-of-life\"\n style={{\n padding: 24,\n minHeight: 280,\n margin: \"16px 0\",\n }}\n >\n {citation === \"top\" && dataset && <Citation dataset={dataset} />}\n\n <Row>\n {error && (\n <Alert\n style={{ marginBottom: \"10px\" }}\n message={<ErrorMsg error={error} />}\n type=\"error\"\n />\n )}\n </Row>\n <Row>\n <Col xs={24} sm={24} md={12} style={{ marginBottom: \"8px\" }}>\n <SearchBox\n defaultValue={get(this.props.filters || {}, \"q\")}\n onSearch={(value) => this.updateSearch({ q: value })}\n onResetSearch={(value) => this.updateSearch({ q: null })}\n style={{ marginBottom: \"8px\", width: \"100%\" }}\n />\n\n <NameAutocomplete\n datasetKey={datasetKey}\n minRank=\"GENUS\"\n defaultTaxonKey={\n get(params, \"TAXON_ID\") || defaultTaxonKey || null\n }\n onSelectName={(value) => {\n this.updateSearch({ TAXON_ID: value.key });\n }}\n onResetSearch={(value) => {\n this.updateSearch({ TAXON_ID: null });\n }}\n placeHolder=\"Filter by higher taxon\"\n sortBy=\"relevance\"\n autoFocus={false}\n />\n\n {(this.state.datasetOrigin === \"xrelease\" ||\n this.state.datasetOrigin === \"release\") && (\n <div style={{ marginTop: \"8px\", marginBottom: \"8px\" }}>\n <DatasetAutocomplete\n contributesTo={Number(datasetKey)}\n onSelectDataset={(value) => {\n this.updateSearch({ SECTOR_DATASET_KEY: value.key });\n }}\n defaultDatasetKey={\n get(params, \"SECTOR_DATASET_KEY\") || null\n }\n onResetSearch={(value) => {\n this.updateSearch({ SECTOR_DATASET_KEY: null });\n }}\n placeHolder=\"Filter by source dataset\"\n autoFocus={false}\n />\n </div>\n )}\n <div style={{ marginTop: \"10px\" }}>\n <Form layout=\"inline\">\n <FormItem label=\"Matching\" >\n <RadioGroup\n size=\"small\"\n onChange={(evt) => {\n this.updateSearch({ type: evt.target.value });\n }}\n value={params.type || \"WHOLE_WORDS\"}\n optionType=\"button\"\n options={[\n { value: \"EXACT\", label: \"Exact\" },\n { value: \"WHOLE_WORDS\", label: \"Words\" },\n { value: \"PREFIX\", label: \"Prefix\" },\n { value: \"FUZZY\", label: \"Fuzzy\" },\n ]}\n ></RadioGroup>\n </FormItem>\n \n </Form>\n <Form layout=\"inline\">\n {(this.state.datasetOrigin === \"xrelease\" ||\n this.state.datasetOrigin === \"project\") && (\n <FormItem label=\"Content\">\n <RadioGroup\n style={{ marginLeft: \"8px\" }}\n size=\"small\"\n onChange={(evt) => {\n this.updateSearch({ sectorMode: evt.target.value.split(\",\")\n .filter((v) => v !== \"\")});\n }}\n value={isArray(params?.sectorMode) ? params?.sectorMode?.join(\",\") : params?.sectorMode || \"\"}\n optionType=\"button\"\n options={[\n { value: \"\", label: \"All\" },\n { value: \"attach,union\", label: \"Base\" },\n { value: \"merge\", label: \"Extended\" },\n ]}\n ></RadioGroup>\n </FormItem>\n )}\n <FormItem>\n <Select\n mode=\"multiple\"\n allowClear\n size=\"small\"\n style={{ minWidth: 200 }}\n placeholder=\"Search fields\"\n value={isArray(params?.content) ? params.content : (params?.content ? [params.content] : [])}\n onChange={(value) => this.updateSearch({ content: value.length ? value : null })}\n options={[\n { value: \"SCIENTIFIC_NAME\", label: \"Scientific name\" },\n { value: \"AUTHORSHIP\", label: \"Authorship\" },\n { value: \"VERNACULAR_NAME\", label: \"Vernacular name\" },\n ]}\n />\n </FormItem>\n </Form>\n \n </div>\n </Col>\n <Col xs={24} sm={24} md={12}>\n {/* <MultiValueFilter\n defaultValue={get(params, \"issue\")}\n onChange={value => this.updateSearch({ issue: value })}\n vocab={facetIssues || []}\n label=\"Issues\"\n /> */}\n\n <MultiValueFilter\n defaultValue={get(params, \"rank\")}\n onChange={(value) => this.updateSearch({ rank: value })}\n vocab={facetRanks || []}\n label=\"Ranks\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"status\")}\n onChange={(value) => this.updateSearch({ status: value })}\n vocab={facetTaxonomicStatus || []}\n label=\"Status\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"environment\")}\n onChange={(value) =>\n this.updateSearch({ environment: value })\n }\n vocab={facetEnvironment}\n label=\"Environment\"\n />\n <MultiValueFilter\n // defaultValue={get(params, \"extinct\")}\n onChange={(value) => this.updateSearch({ extinct: value })}\n vocab={facetExtinct}\n label=\"Extinct\"\n />\n {advancedFilters && (\n <React.Fragment>\n <MultiValueFilter\n defaultValue={get(params, \"nomstatus\")}\n onChange={(value) => this.updateSearch({ nomstatus: value })}\n vocab={facetNomStatus || []}\n label=\"Nomenclatural status\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"nameType\")}\n onChange={(value) => this.updateSearch({ nameType: value })}\n vocab={facetNomType || []}\n label=\"Name type\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"field\")}\n onChange={(value) => this.updateSearch({ field: value })}\n vocab={facetNomField || []}\n label=\"Name field\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"authorship\")}\n onChange={(value) => this.updateSearch({ authorship: value })}\n vocab={facetAuthorship}\n label=\"Authorship\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"group\")}\n onChange={(value) => this.updateSearch({ group: value })}\n vocab={facetGroup}\n label=\"Taxonomic group\"\n />\n <MultiValueFilter\n defaultValue={get(params, \"authorshipYear\")}\n onChange={(value) => this.updateSearch({ authorshipYear: value })}\n vocab={facetAuthorshipYear}\n label=\"Authorship year\"\n />\n </React.Fragment>\n )}\n <div style={{ textAlign: \"right\", marginBottom: \"8px\" }}>\n <a\n style={{ marginLeft: 8, fontSize: 12 }}\n onClick={this.toggleAdvancedFilters}\n >\n Advanced{\" \"}\n {this.state.advancedFilters ? <UpOutlined /> : <DownOutlined />}\n </a>\n </div>\n </Col>\n </Row>\n <Row>\n <Col span={12} style={{ textAlign: \"left\", marginBottom: \"8px\" }}>\n <Button type=\"primary\" danger onClick={this.resetSearch}>\n Reset all\n </Button>\n </Col>\n <Col span={12} style={{ textAlign: \"right\", marginBottom: \"8px\" }}>\n {pagination &&\n !isNaN(pagination.total) &&\n `results: ${pagination.total.toLocaleString(\"en-GB\")}`}\n </Col>\n </Row>\n {!error && (\n <Table\n size=\"small\"\n columns={this.state.columns}\n scroll={{ x: \"max-content\" }}\n dataSource={result}\n loading={loading}\n pagination={this.state.pagination}\n onChange={this.handleTableChange}\n rowKey={(record) => record.usage.id}\n showSorterTooltip={false}\n expandedRowRender={(record) => (\n <RowDetail\n {...record}\n datasetKey={datasetKey}\n />\n )}\n />\n )}\n {citation === \"bottom\" && dataset && <Citation dataset={dataset} />}\n </div>\n );\n }\n}\n\nexport default NameSearchPage;\n","import React from \"react\";\nimport NameSearch from \"./NameSearch\";\nimport client, { setAuth } from \"../api/client\";\nimport { RouterContext, buildRouter } from \"../router\";\n\nexport default function Search({\n datasetKey,\n filters,\n onFiltersChange,\n defaultTaxonKey,\n citation,\n auth,\n ...routerProps\n}) {\n setAuth(auth);\n return (\n <RouterContext.Provider value={buildRouter(routerProps)}>\n <NameSearch\n datasetKey={datasetKey}\n filters={filters}\n onFiltersChange={onFiltersChange}\n defaultTaxonKey={defaultTaxonKey}\n citation={citation}\n />\n </RouterContext.Provider>\n );\n}\n","import withDatasetKey from \"../withDatasetKey\";\nimport { withTheme } from \"../withTheme\";\nimport search from \"../Search\";\n\nexport const Search = withTheme(withDatasetKey(search));\n"],"names":["DownOutlined","_extends","target","source","key","props","ref","React","AntdIcon","DownOutlinedSvg","RefIcon","UpOutlined","UpOutlinedSvg","ranks","Classification","classification","maxParents","truncate","clazzification","classificationRankMap","acc","curr","kingdom","familyOrClosestAlternative","i","jsxs","jsx","LinkTo","t","Search","Input","SearchBox","__publicField","prevProps","value","event","FormItem","Form","Option","Select","formItemLayout","MultiValueFilter","selected","defaultValue","label","vocab","randomID","vocabKeys","val","isArray","v","snakeCase","RowDetail","issues","usage","vernacularNames","issueMap","get","Row","Col","initial","vn","AutoComplete","DatasetAutocomplete","defaultDatasetKey","client","config","res","q","contributesTo","err","obj","style","options","o","text","Highlighter","debounce","RadioGroup","Radio","FACET_VOCAB","PAGE_SIZE","FACET_LIMIT","defaultParams","getColumns","record","_a","MergedDataBadge","_b","_c","id","NameSearchPage","datasetKey","dataset","getDatasetSimple","taxGroups","getTaxGroup","isEqual","r","defaultTaxonKey","filters","params","isEmpty","next","url","params_","qs","pagination","sorter","query","merge","newParams","forEach","k","notNullParams","cur","result","facets","loading","error","advancedFilters","citation","facetRanks","startCase","facetTaxonomicStatus","s","facetNomStatus","facetNomType","facetNomField","facetAuthorship","extinctLabel","facetExtinct","facetEnvironment","facetGroup","facetAuthorshipYear","Citation","Alert","ErrorMsg","NameAutocomplete","evt","Button","Table","onFiltersChange","auth","routerProps","setAuth","RouterContext","buildRouter","NameSearch","withTheme","withDatasetKey","search"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
var C = Object.defineProperty;
|
|
2
|
+
var _ = (i, o, s) => o in i ? C(i, o, { enumerable: !0, configurable: !0, writable: !0, value: s }) : i[o] = s;
|
|
3
|
+
var c = (i, o, s) => _(i, typeof o != "symbol" ? o + "" : o, s);
|
|
4
|
+
import { a as A } from "./chunks/withDatasetKey-BgMY05XE.js";
|
|
5
|
+
import { c as x, w as I } from "./chunks/config-BPRXv9x8.js";
|
|
6
|
+
import { j as t } from "./chunks/jsx-runtime-BzflLqGi.js";
|
|
7
|
+
import h from "react";
|
|
8
|
+
import { c as u, L as K, s as T, R, b as M } from "./chunks/router-CssZk5qZ.js";
|
|
9
|
+
import { Skeleton as E, Alert as P, Row as j, Col as m, Tooltip as L, Button as F, Rate as O } from "antd";
|
|
10
|
+
import { E as N } from "./chunks/ErrorMsg-K8k5PPTp.js";
|
|
11
|
+
import { D as z, P as l } from "./chunks/DatasetlogoWithFallback-CbP7vRs_.js";
|
|
12
|
+
import { M as B } from "./chunks/MetricsPresentation-U_CO8JoH.js";
|
|
13
|
+
import { get as p, isEmpty as S, isArray as H } from "lodash-es";
|
|
14
|
+
import { g as U } from "./chunks/enumeration-yDQXSZsf.js";
|
|
15
|
+
import { B as W } from "./chunks/BibTex-BqzD3qLB.js";
|
|
16
|
+
import { marked as G } from "marked";
|
|
17
|
+
import V from "dompurify";
|
|
18
|
+
import { R as q } from "./chunks/LinkOutlined-2IkQWTV7.js";
|
|
19
|
+
class X extends h.Component {
|
|
20
|
+
constructor(s) {
|
|
21
|
+
super(s);
|
|
22
|
+
c(this, "getData", () => {
|
|
23
|
+
const { dataset: s, datasetKey: e } = this.props;
|
|
24
|
+
u(
|
|
25
|
+
`${x.dataApi}dataset/${e}/source/${s.key}/metrics`
|
|
26
|
+
).then((r) => {
|
|
27
|
+
this.setState({ metrics: r.data });
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
c(this, "getRank", () => {
|
|
31
|
+
u(`${x.dataApi}vocab/rank`).then(
|
|
32
|
+
(s) => this.setState({ rank: s.data.map((e) => e.name) })
|
|
33
|
+
);
|
|
34
|
+
});
|
|
35
|
+
c(this, "render", () => /* @__PURE__ */ t.jsx(B, { ...this.state, dataset: this.props.dataset }));
|
|
36
|
+
this.state = {
|
|
37
|
+
metrics: null,
|
|
38
|
+
rank: null,
|
|
39
|
+
loading: !0
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
componentDidMount() {
|
|
43
|
+
this.getData(), this.getRank();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
class Y extends h.Component {
|
|
47
|
+
constructor(s) {
|
|
48
|
+
super(s);
|
|
49
|
+
c(this, "getData", () => {
|
|
50
|
+
const { dataset: s, datasetKey: e } = this.props, r = {};
|
|
51
|
+
u(
|
|
52
|
+
`${x.dataApi}dataset/${e}/sector?limit=1000&subjectDatasetKey=${s.key}`
|
|
53
|
+
).then((n) => Promise.allSettled(
|
|
54
|
+
n.data.result.filter((a) => !!(a != null && a.target)).map(
|
|
55
|
+
(a) => {
|
|
56
|
+
var b, k, w, $;
|
|
57
|
+
return u(
|
|
58
|
+
`${x.dataApi}dataset/${e}/nameusage/search?TAXON_ID=${(b = a == null ? void 0 : a.target) == null ? void 0 : b.id}${(k = a == null ? void 0 : a.subject) != null && k.rank ? "&rank=" + ((w = a == null ? void 0 : a.subject) == null ? void 0 : w.rank) : ""}&q=${($ = a == null ? void 0 : a.subject) == null ? void 0 : $.name}`
|
|
59
|
+
).then((f) => {
|
|
60
|
+
const d = p(f, "data.result[0]");
|
|
61
|
+
if (d) {
|
|
62
|
+
const y = d.classification.slice(1, d.classification.length - 1).map((v) => v.name).join(" > ");
|
|
63
|
+
r[y] ? r[y].push(
|
|
64
|
+
d.classification[d.classification.length - 1]
|
|
65
|
+
) : r[y] = [
|
|
66
|
+
d.classification[d.classification.length - 1]
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
}).catch((f) => {
|
|
70
|
+
console.log(a), console.log(f);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
).then(() => this.setState({ taxonMap: r, loading: !1 })));
|
|
75
|
+
});
|
|
76
|
+
c(this, "render", () => {
|
|
77
|
+
const { taxonMap: s } = this.state, { style: e } = this.props;
|
|
78
|
+
return s ? Object.keys(s).length > 0 ? Object.keys(s).sort((r, n) => r.length - n.length).map((r) => /* @__PURE__ */ t.jsxs("div", { style: e, children: [
|
|
79
|
+
/* @__PURE__ */ t.jsxs("span", { children: [
|
|
80
|
+
r,
|
|
81
|
+
r !== "" ? ":" : ""
|
|
82
|
+
] }),
|
|
83
|
+
" ",
|
|
84
|
+
s[r].map((n, a) => /* @__PURE__ */ t.jsxs(h.Fragment, { children: [
|
|
85
|
+
/* @__PURE__ */ t.jsx(K, { to: "tree", args: { taxonKey: n.id }, children: n.name }),
|
|
86
|
+
a !== s[r].length - 1 ? ", " : ""
|
|
87
|
+
] }, a))
|
|
88
|
+
] }, r)) : "N/A" : /* @__PURE__ */ t.jsx(E, { active: !0, paragraph: { rows: 4 } });
|
|
89
|
+
});
|
|
90
|
+
this.state = {
|
|
91
|
+
loading: !0,
|
|
92
|
+
taxonMap: null
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
componentDidMount() {
|
|
96
|
+
this.getData();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const g = ({ agent: i, countryAlpha2: o, style: s, noLinks: e }) => {
|
|
100
|
+
const r = p(i, "country") ? p(
|
|
101
|
+
o,
|
|
102
|
+
`[${p(i, "country")}].title`,
|
|
103
|
+
p(i, "country")
|
|
104
|
+
) : null;
|
|
105
|
+
return i ? /* @__PURE__ */ t.jsxs("span", { style: s, children: [
|
|
106
|
+
(i.given || i.family) && /* @__PURE__ */ t.jsx("span", { style: { display: "block" }, children: [i.family, i.given].filter((n) => !!n).join(", ") }),
|
|
107
|
+
i.orcid && (e ? /* @__PURE__ */ t.jsxs("div", { children: [
|
|
108
|
+
/* @__PURE__ */ t.jsx(
|
|
109
|
+
"img",
|
|
110
|
+
{
|
|
111
|
+
src: "https://www.checklistbank.org/images/orcid_16x16.png",
|
|
112
|
+
style: { flex: "0 0 auto" },
|
|
113
|
+
alt: ""
|
|
114
|
+
}
|
|
115
|
+
),
|
|
116
|
+
" ",
|
|
117
|
+
i.orcid
|
|
118
|
+
] }) : /* @__PURE__ */ t.jsxs(
|
|
119
|
+
"a",
|
|
120
|
+
{
|
|
121
|
+
style: { display: "block" },
|
|
122
|
+
href: `https://orcid.org/${i.orcid}`,
|
|
123
|
+
children: [
|
|
124
|
+
/* @__PURE__ */ t.jsx(
|
|
125
|
+
"img",
|
|
126
|
+
{
|
|
127
|
+
src: "https://www.checklistbank.org/images/orcid_16x16.png",
|
|
128
|
+
style: { flex: "0 0 auto" },
|
|
129
|
+
alt: ""
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
" ",
|
|
133
|
+
i.orcid
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
)),
|
|
137
|
+
i.organisation && /* @__PURE__ */ t.jsx("span", { style: { display: "block" }, children: i.organisation }),
|
|
138
|
+
i.rorid && (e ? /* @__PURE__ */ t.jsxs("div", { children: [
|
|
139
|
+
/* @__PURE__ */ t.jsx(
|
|
140
|
+
"img",
|
|
141
|
+
{
|
|
142
|
+
src: "https://www.checklistbank.org/images/ror-logo-small.png",
|
|
143
|
+
style: { flex: "0 0 auto", height: "20px" },
|
|
144
|
+
alt: ""
|
|
145
|
+
}
|
|
146
|
+
),
|
|
147
|
+
" ",
|
|
148
|
+
i.rorid
|
|
149
|
+
] }) : /* @__PURE__ */ t.jsxs(
|
|
150
|
+
"a",
|
|
151
|
+
{
|
|
152
|
+
style: { display: "block" },
|
|
153
|
+
href: `https://ror.org/${i.rorid}`,
|
|
154
|
+
children: [
|
|
155
|
+
/* @__PURE__ */ t.jsx(
|
|
156
|
+
"img",
|
|
157
|
+
{
|
|
158
|
+
src: "https://www.checklistbank.org/images/ror-logo-small.png",
|
|
159
|
+
style: { flex: "0 0 auto", height: "20px" },
|
|
160
|
+
alt: ""
|
|
161
|
+
}
|
|
162
|
+
),
|
|
163
|
+
" ",
|
|
164
|
+
i.rorid
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
)),
|
|
168
|
+
i.department && /* @__PURE__ */ t.jsx("span", { style: { display: "block" }, children: i.department }),
|
|
169
|
+
(i.city || i.state || r) && /* @__PURE__ */ t.jsx("span", { style: { display: "block" }, children: [i.city, i.state, r].filter((n) => !!n).join(", ") })
|
|
170
|
+
] }) : null;
|
|
171
|
+
}, D = {
|
|
172
|
+
col: "https://www.checklistbank.org/dataset/",
|
|
173
|
+
gbif: "https://www.gbif.org/dataset/",
|
|
174
|
+
plazi: "http://publication.plazi.org/id/",
|
|
175
|
+
doi: "https://doi.org/"
|
|
176
|
+
};
|
|
177
|
+
class J extends h.Component {
|
|
178
|
+
constructor(s) {
|
|
179
|
+
super(s);
|
|
180
|
+
c(this, "componentDidMount", () => {
|
|
181
|
+
this.getData(), U().then((s) => {
|
|
182
|
+
const e = {};
|
|
183
|
+
s.forEach((r) => {
|
|
184
|
+
e[r.alpha2] = r;
|
|
185
|
+
}), this.setState({ countryAlpha2: e });
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
c(this, "getData", () => {
|
|
189
|
+
const { datasetKey: s, sourceDatasetKey: e, pageTitleTemplate: r } = this.props;
|
|
190
|
+
e && u(`${x.dataApi}dataset/${s}/source/${e}`).then((n) => {
|
|
191
|
+
r && p(n, "data.title") && (document.title = r.replace(
|
|
192
|
+
"__dataset__",
|
|
193
|
+
n.data.title
|
|
194
|
+
)), this.setState({ data: n.data, datasetError: null });
|
|
195
|
+
}).catch((n) => this.setState({ datasetError: n, data: null }));
|
|
196
|
+
});
|
|
197
|
+
c(this, "getRank", () => {
|
|
198
|
+
u(`${x.dataApi}vocab/rank`).then(
|
|
199
|
+
(s) => this.setState({ rank: s.data.map((e) => e.name) })
|
|
200
|
+
);
|
|
201
|
+
});
|
|
202
|
+
T(this.props.auth), this.state = {
|
|
203
|
+
datasetLoading: !0,
|
|
204
|
+
data: null,
|
|
205
|
+
rank: null,
|
|
206
|
+
countryAlpha2: {}
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
componentDidUpdate(s) {
|
|
210
|
+
(s.sourceDatasetKey !== this.props.sourceDatasetKey || s.datasetKey !== this.props.datasetKey) && this.getData();
|
|
211
|
+
}
|
|
212
|
+
render() {
|
|
213
|
+
const { datasetKey: s } = this.props, { data: e, countryAlpha2: r, datasetError: n } = this.state;
|
|
214
|
+
return /* @__PURE__ */ t.jsx(h.Fragment, { children: /* @__PURE__ */ t.jsxs(
|
|
215
|
+
"div",
|
|
216
|
+
{
|
|
217
|
+
className: "catalogue-of-life",
|
|
218
|
+
style: {
|
|
219
|
+
background: "#fff",
|
|
220
|
+
padding: 24,
|
|
221
|
+
minHeight: 280,
|
|
222
|
+
margin: "16px 0",
|
|
223
|
+
fontSize: "12px"
|
|
224
|
+
},
|
|
225
|
+
children: [
|
|
226
|
+
n && /* @__PURE__ */ t.jsx(P, { message: /* @__PURE__ */ t.jsx(N, { error: n }), type: "error" }),
|
|
227
|
+
e && /* @__PURE__ */ t.jsxs(j, { children: [
|
|
228
|
+
/* @__PURE__ */ t.jsxs(m, { flex: "auto", children: [
|
|
229
|
+
/* @__PURE__ */ t.jsx(
|
|
230
|
+
"h1",
|
|
231
|
+
{
|
|
232
|
+
style: {
|
|
233
|
+
fontSize: "30px",
|
|
234
|
+
fontWeight: "400",
|
|
235
|
+
paddingLeft: "10px",
|
|
236
|
+
display: "inline-block",
|
|
237
|
+
textTransform: "none"
|
|
238
|
+
},
|
|
239
|
+
children: e.title
|
|
240
|
+
}
|
|
241
|
+
),
|
|
242
|
+
e && /* @__PURE__ */ t.jsxs(h.Fragment, { children: [
|
|
243
|
+
/* @__PURE__ */ t.jsx("br", {}),
|
|
244
|
+
/* @__PURE__ */ t.jsx(
|
|
245
|
+
W,
|
|
246
|
+
{
|
|
247
|
+
style: { marginLeft: "8px", height: "32px" },
|
|
248
|
+
datasetKey: s,
|
|
249
|
+
sourceDatasetKey: s !== e.key ? e.key : void 0
|
|
250
|
+
}
|
|
251
|
+
)
|
|
252
|
+
] })
|
|
253
|
+
] }),
|
|
254
|
+
/* @__PURE__ */ t.jsx(m, { style: { textAlign: "right" }, children: /* @__PURE__ */ t.jsx(
|
|
255
|
+
z,
|
|
256
|
+
{
|
|
257
|
+
auth: this.props.auth,
|
|
258
|
+
style: {
|
|
259
|
+
maxWidth: "100%",
|
|
260
|
+
height: "auto",
|
|
261
|
+
marginRight: "8px"
|
|
262
|
+
},
|
|
263
|
+
datasetKey: s,
|
|
264
|
+
sourceDatasetKey: e.key
|
|
265
|
+
}
|
|
266
|
+
) })
|
|
267
|
+
] }),
|
|
268
|
+
e && /* @__PURE__ */ t.jsxs(h.Fragment, { children: [
|
|
269
|
+
/* @__PURE__ */ t.jsxs(l, { label: "Short name", children: [
|
|
270
|
+
e.alias,
|
|
271
|
+
/* @__PURE__ */ t.jsx(
|
|
272
|
+
L,
|
|
273
|
+
{
|
|
274
|
+
title: "Visit in COL Checklistbank",
|
|
275
|
+
getPopupContainer: () => document.getElementsByClassName("catalogue-of-life")[0],
|
|
276
|
+
children: /* @__PURE__ */ t.jsxs(
|
|
277
|
+
F,
|
|
278
|
+
{
|
|
279
|
+
type: "link",
|
|
280
|
+
href: `https://www.checklistbank.org/dataset/${e.key}`,
|
|
281
|
+
children: [
|
|
282
|
+
/* @__PURE__ */ t.jsx(q, {}),
|
|
283
|
+
" "
|
|
284
|
+
]
|
|
285
|
+
}
|
|
286
|
+
)
|
|
287
|
+
}
|
|
288
|
+
)
|
|
289
|
+
] }),
|
|
290
|
+
/* @__PURE__ */ t.jsx(l, { label: "Full name", children: e.title }),
|
|
291
|
+
(e.version || e.issued) && /* @__PURE__ */ t.jsx(
|
|
292
|
+
l,
|
|
293
|
+
{
|
|
294
|
+
label: `${e.version ? "Version" : ""}${e.version && e.issued ? " / " : ""}${e.issued ? "Issued" : ""}`,
|
|
295
|
+
children: (e.version || e.issued) && `${e.version ? e.version : ""}${e.issued ? " / " + e.issued : ""}`
|
|
296
|
+
}
|
|
297
|
+
),
|
|
298
|
+
/* @__PURE__ */ t.jsx(l, { label: "DOI", children: e.doi ? /* @__PURE__ */ t.jsxs("a", { href: `https://doi.org/${e.doi}`, children: [
|
|
299
|
+
/* @__PURE__ */ t.jsx(
|
|
300
|
+
"img",
|
|
301
|
+
{
|
|
302
|
+
src: "https://www.checklistbank.org/images/DOI_logo.png",
|
|
303
|
+
style: { flex: "0 0 auto", height: "16px" },
|
|
304
|
+
alt: ""
|
|
305
|
+
}
|
|
306
|
+
),
|
|
307
|
+
e.doi
|
|
308
|
+
] }) : "-" }),
|
|
309
|
+
e.contact && !S(e.contact) && /* @__PURE__ */ t.jsx(l, { label: "Contact", children: /* @__PURE__ */ t.jsx(
|
|
310
|
+
g,
|
|
311
|
+
{
|
|
312
|
+
countryAlpha2: r,
|
|
313
|
+
agent: e.contact
|
|
314
|
+
}
|
|
315
|
+
) }),
|
|
316
|
+
e.publisher && !S(e.publisher) && /* @__PURE__ */ t.jsx(l, { label: "Publisher", children: /* @__PURE__ */ t.jsx(
|
|
317
|
+
g,
|
|
318
|
+
{
|
|
319
|
+
countryAlpha2: r,
|
|
320
|
+
agent: e.publisher
|
|
321
|
+
}
|
|
322
|
+
) }),
|
|
323
|
+
e.creator && /* @__PURE__ */ t.jsx(l, { label: "Creator", children: /* @__PURE__ */ t.jsx(j, { gutter: [8, 8], children: e.creator.map((a) => /* @__PURE__ */ t.jsx(m, { span: 8, children: /* @__PURE__ */ t.jsx(
|
|
324
|
+
g,
|
|
325
|
+
{
|
|
326
|
+
countryAlpha2: r,
|
|
327
|
+
agent: a
|
|
328
|
+
}
|
|
329
|
+
) })) }) }),
|
|
330
|
+
e.editor && /* @__PURE__ */ t.jsx(l, { label: "Editor", children: /* @__PURE__ */ t.jsx(j, { gutter: [8, 8], children: e.editor.map((a) => /* @__PURE__ */ t.jsx(m, { span: 8, children: /* @__PURE__ */ t.jsx(
|
|
331
|
+
g,
|
|
332
|
+
{
|
|
333
|
+
countryAlpha2: r,
|
|
334
|
+
agent: a
|
|
335
|
+
}
|
|
336
|
+
) })) }) }),
|
|
337
|
+
e.contributor && /* @__PURE__ */ t.jsx(l, { label: "Contributor", children: /* @__PURE__ */ t.jsx(j, { gutter: [8, 8], children: e.contributor.map((a) => /* @__PURE__ */ t.jsx(m, { span: 8, children: /* @__PURE__ */ t.jsx(
|
|
338
|
+
g,
|
|
339
|
+
{
|
|
340
|
+
countryAlpha2: r,
|
|
341
|
+
agent: a
|
|
342
|
+
}
|
|
343
|
+
) })) }) }),
|
|
344
|
+
/* @__PURE__ */ t.jsx(l, { label: "Taxonomic coverage", children: /* @__PURE__ */ t.jsx(
|
|
345
|
+
Y,
|
|
346
|
+
{
|
|
347
|
+
dataset: e,
|
|
348
|
+
datasetKey: s
|
|
349
|
+
}
|
|
350
|
+
) }),
|
|
351
|
+
/* @__PURE__ */ t.jsx(
|
|
352
|
+
X,
|
|
353
|
+
{
|
|
354
|
+
datasetKey: s,
|
|
355
|
+
dataset: e
|
|
356
|
+
}
|
|
357
|
+
),
|
|
358
|
+
/* @__PURE__ */ t.jsx(l, { label: "Abstract", children: e.description ? /* @__PURE__ */ t.jsx(
|
|
359
|
+
"span",
|
|
360
|
+
{
|
|
361
|
+
dangerouslySetInnerHTML: {
|
|
362
|
+
__html: V.sanitize(G.parse(e.description))
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
) : "" }),
|
|
366
|
+
/* @__PURE__ */ t.jsx(l, { label: "Taxonomic scope", children: e.taxonomicScope || "-" }),
|
|
367
|
+
/* @__PURE__ */ t.jsx(l, { label: "Geographic scope", children: e.geographicScope || "-" }),
|
|
368
|
+
/* @__PURE__ */ t.jsx(l, { label: "Temporal scope", children: e.temporalScope || "-" }),
|
|
369
|
+
" ",
|
|
370
|
+
/* @__PURE__ */ t.jsx(l, { label: "License", children: e.license || "-" }),
|
|
371
|
+
/* @__PURE__ */ t.jsx(l, { label: "Checklist Confidence", children: /* @__PURE__ */ t.jsx(O, { value: e.confidence, disabled: !0 }) }),
|
|
372
|
+
/* @__PURE__ */ t.jsx(l, { label: "Completeness", children: e.completeness }),
|
|
373
|
+
/* @__PURE__ */ t.jsx(l, { label: "Url (website)", children: e.url ? /* @__PURE__ */ t.jsx("a", { href: e.url, target: "_blank", children: e.url }) : "-" }),
|
|
374
|
+
/* @__PURE__ */ t.jsx(l, { label: "ISSN", children: e.issn ? /* @__PURE__ */ t.jsx(
|
|
375
|
+
"a",
|
|
376
|
+
{
|
|
377
|
+
href: `https://portal.issn.org/resource/ISSN/${e.issn}`,
|
|
378
|
+
children: e.issn
|
|
379
|
+
}
|
|
380
|
+
) : "-" }),
|
|
381
|
+
/* @__PURE__ */ t.jsx(l, { label: "GBIF key", children: e.gbifKey ? /* @__PURE__ */ t.jsx("a", { href: `https://www.gbif.org/dataset/${e.gbifKey}`, children: e.gbifKey }) : "-" }),
|
|
382
|
+
/* @__PURE__ */ t.jsx(l, { label: "Identifiers", children: e.identifier ? /* @__PURE__ */ t.jsx(
|
|
383
|
+
"ol",
|
|
384
|
+
{
|
|
385
|
+
style: {
|
|
386
|
+
listStyle: "none",
|
|
387
|
+
paddingInlineStart: "0px"
|
|
388
|
+
},
|
|
389
|
+
children: Object.keys(e.identifier).map((a) => /* @__PURE__ */ t.jsxs(
|
|
390
|
+
"li",
|
|
391
|
+
{
|
|
392
|
+
style: {
|
|
393
|
+
float: "left",
|
|
394
|
+
marginRight: "8px"
|
|
395
|
+
},
|
|
396
|
+
children: [
|
|
397
|
+
`${a.toUpperCase()}: `,
|
|
398
|
+
D[a] ? /* @__PURE__ */ t.jsx(
|
|
399
|
+
"a",
|
|
400
|
+
{
|
|
401
|
+
href: `${D[a]}${e.identifier[a]}`,
|
|
402
|
+
target: "_blank",
|
|
403
|
+
children: e.identifier[a]
|
|
404
|
+
}
|
|
405
|
+
) : e.identifier[a]
|
|
406
|
+
]
|
|
407
|
+
}
|
|
408
|
+
))
|
|
409
|
+
}
|
|
410
|
+
) : "-" }),
|
|
411
|
+
/* @__PURE__ */ t.jsx(l, { label: "Citation", children: e.citation && /* @__PURE__ */ t.jsx(
|
|
412
|
+
"span",
|
|
413
|
+
{
|
|
414
|
+
dangerouslySetInnerHTML: { __html: e.citation }
|
|
415
|
+
}
|
|
416
|
+
) }),
|
|
417
|
+
/* @__PURE__ */ t.jsx(l, { label: "Source", children: e.source && H(e.source) ? e.source.map(
|
|
418
|
+
(a) => !!a && (a.citation ? /* @__PURE__ */ t.jsx(
|
|
419
|
+
"div",
|
|
420
|
+
{
|
|
421
|
+
style: { display: "inline-block" },
|
|
422
|
+
dangerouslySetInnerHTML: { __html: a.citation }
|
|
423
|
+
}
|
|
424
|
+
) : a.title)
|
|
425
|
+
) : "-" })
|
|
426
|
+
] })
|
|
427
|
+
]
|
|
428
|
+
}
|
|
429
|
+
) });
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
function Q({
|
|
433
|
+
sourceDatasetKey: i,
|
|
434
|
+
datasetKey: o,
|
|
435
|
+
pageTitleTemplate: s,
|
|
436
|
+
auth: e,
|
|
437
|
+
...r
|
|
438
|
+
}) {
|
|
439
|
+
return /* @__PURE__ */ t.jsx(R.Provider, { value: M(r), children: /* @__PURE__ */ t.jsx(
|
|
440
|
+
J,
|
|
441
|
+
{
|
|
442
|
+
sourceDatasetKey: i,
|
|
443
|
+
datasetKey: o,
|
|
444
|
+
pageTitleTemplate: s,
|
|
445
|
+
auth: e
|
|
446
|
+
}
|
|
447
|
+
) });
|
|
448
|
+
}
|
|
449
|
+
const me = I(A(Q));
|
|
450
|
+
export {
|
|
451
|
+
me as SourceDataset
|
|
452
|
+
};
|
|
453
|
+
//# sourceMappingURL=sourceDataset.js.map
|