col-browser 2.2.3 → 2.2.5
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/es/chunks/Distributions-BWucAjsL.js +1153 -0
- package/es/chunks/Distributions-BWucAjsL.js.map +1 -0
- package/es/col-browser.css +1 -1
- package/es/search.js +207 -215
- package/es/search.js.map +1 -1
- package/es/taxon.js +1 -1
- package/es/taxonDistribution.js +1 -1
- package/package.json +1 -1
- package/umd/col-browser.js +147 -136
- package/umd/col-browser.js.map +1 -1
- package/umd/col-browser.min.js +5 -5
- package/umd/col-browser.min.js.map +1 -1
- package/umd/main.css +22 -0
- package/es/chunks/Distributions-CLwWAH98.js +0 -1139
- package/es/chunks/Distributions-CLwWAH98.js.map +0 -1
package/es/search.js.map
CHANGED
|
@@ -1 +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 { readSetting, writeSetting } from \"../storage\";\n\n// Only the Content filter (All/Base/Extended) is remembered across visits —\n// never the query, search fields, or other filters.\nconst CONTENT_TYPE_KEY = \"search-content-type\";\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 // Fresh visit (clean URL): start from the defaults, but restore the\n // remembered Content filter (All/Base/Extended) if one was saved.\n params = { ...defaultParams };\n const storedContentType = readSetting(CONTENT_TYPE_KEY, undefined);\n if (storedContentType !== undefined && storedContentType !== null) {\n params.sectorMode = storedContentType;\n }\n this.pushParams(params);\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 // Remember the Content filter (All/Base/Extended) across visits.\n if (\"sectorMode\" in params) writeSetting(CONTENT_TYPE_KEY, params.sectorMode);\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","CONTENT_TYPE_KEY","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","storedContentType","readSetting","next","url","params_","qs","pagination","sorter","query","merge","writeSetting","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]}
|
|
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 { readSetting, writeSetting } from \"../storage\";\n\n// Only the Content filter (All/Base/Extended) is remembered across visits —\n// never the query, search fields, or other filters.\nconst CONTENT_TYPE_KEY = \"search-content-type\";\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 // Fresh visit (clean URL): start from the defaults, but restore the\n // remembered Content filter (All/Base/Extended) if one was saved.\n params = { ...defaultParams };\n const storedContentType = readSetting(CONTENT_TYPE_KEY, undefined);\n if (storedContentType !== undefined && storedContentType !== null) {\n params.sectorMode = storedContentType;\n }\n this.pushParams(params);\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 // the UI only supports fuzzy matching on/off; drop other legacy type values\n if (params.type && String(params.type).toUpperCase() !== \"FUZZY\") {\n delete params.type;\n }\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 // Remember the Content filter (All/Base/Extended) across visits.\n if (\"sectorMode\" in params) writeSetting(CONTENT_TYPE_KEY, params.sectorMode);\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 isFuzzy = String(params.type || \"\").toUpperCase() === \"FUZZY\";\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 {(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 <FormItem>\n <Button\n size=\"small\"\n // match the checked Radio.Button look of the Content selector:\n // primary-coloured outline & text, default background\n color={isFuzzy ? \"primary\" : \"default\"}\n variant=\"outlined\"\n aria-pressed={isFuzzy}\n onClick={() =>\n this.updateSearch({ type: isFuzzy ? null : \"FUZZY\" })\n }\n >\n Fuzzy\n </Button>\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","CONTENT_TYPE_KEY","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","storedContentType","readSetting","next","url","params_","qs","pagination","sorter","query","merge","writeSetting","newParams","forEach","k","notNullParams","cur","result","facets","loading","error","advancedFilters","citation","isFuzzy","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]}
|
package/es/taxon.js
CHANGED
|
@@ -14,7 +14,7 @@ import { Row as d3, Col as V, Popover as O3, Tag as m3, Space as n2, Tooltip as
|
|
|
14
14
|
import { isArray as d2, get as s, capitalize as v3, values as c2, startCase as _3 } from "lodash-es";
|
|
15
15
|
import y2 from "react-jss";
|
|
16
16
|
import { w as g2, P as L, g as N3 } from "./chunks/PresentationItem-C4yZ555-.js";
|
|
17
|
-
import { R as R3, D as f2 } from "./chunks/Distributions-
|
|
17
|
+
import { R as R3, D as f2 } from "./chunks/Distributions-BWucAjsL.js";
|
|
18
18
|
import { M as X } from "./chunks/MergedDataBadge-DsTsn5Xu.js";
|
|
19
19
|
import x3 from "linkify-html";
|
|
20
20
|
import { R as E3 } from "./chunks/LinkOutlined-2IkQWTV7.js";
|
package/es/taxonDistribution.js
CHANGED
|
@@ -3,7 +3,7 @@ import { j as i } from "./chunks/jsx-runtime-BzflLqGi.js";
|
|
|
3
3
|
import { useState as s, useEffect as $ } from "react";
|
|
4
4
|
import { s as D, c as l, R as T, b as g } from "./chunks/router-CssZk5qZ.js";
|
|
5
5
|
import { Row as k, Col as v, Spin as w } from "antd";
|
|
6
|
-
import { D as A } from "./chunks/Distributions-
|
|
6
|
+
import { D as A } from "./chunks/Distributions-BWucAjsL.js";
|
|
7
7
|
const C = ({
|
|
8
8
|
taxonId: o,
|
|
9
9
|
datasetKey: n,
|