diff --git a/apps/cryoet/package.json b/apps/cryoet/package.json index d8399bf1843206607403f3b11a82896ea86708a4..87f12cdb01fbeb777d37477aab7632c404e032be 100644 --- a/apps/cryoet/package.json +++ b/apps/cryoet/package.json @@ -18,7 +18,7 @@ "dependencies": { "@babel/eslint-parser": "^7.25.1", "@edata-portal/core": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/apps/dataset_viewer/package.json b/apps/dataset_viewer/package.json index 46127ab4fb0ccd28fad967d204ca32f1b1fe779d..c6b04d2a096f5645b0894ace3e8fed3b27170b60 100644 --- a/apps/dataset_viewer/package.json +++ b/apps/dataset_viewer/package.json @@ -18,7 +18,7 @@ "dependencies": { "@babel/eslint-parser": "^7.25.1", "@edata-portal/core": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/apps/logbook/package.json b/apps/logbook/package.json index 162de80c8d84cd5be99253a27861319af025285b..0bd022868133bbec5350860977fadf2a5268550e 100644 --- a/apps/logbook/package.json +++ b/apps/logbook/package.json @@ -18,7 +18,7 @@ "dependencies": { "@babel/eslint-parser": "^7.25.1", "@edata-portal/core": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/apps/logistics/package.json b/apps/logistics/package.json index eae1c2b2f4a51ef9edf3bd128209eaa48c096c94..39a290a59670ed8ffebd3ffb8a138bc3e9344904 100644 --- a/apps/logistics/package.json +++ b/apps/logistics/package.json @@ -18,7 +18,7 @@ "dependencies": { "@babel/eslint-parser": "^7.25.1", "@edata-portal/core": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/apps/maintenance/package.json b/apps/maintenance/package.json index 9d04c737332240919a88a9dd98b6f657a4000728..7d465dd458647258e3f30333b6aa4039608511b0 100644 --- a/apps/maintenance/package.json +++ b/apps/maintenance/package.json @@ -16,7 +16,7 @@ "fix:prettier": "prettier . --write" }, "dependencies": { - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/apps/mx/package.json b/apps/mx/package.json index c3cfaa46ddbe9038b63b1c61e819e03f5f29daa1..453301339ae6375102d9f7fa9a328ab896c31df9 100644 --- a/apps/mx/package.json +++ b/apps/mx/package.json @@ -19,7 +19,7 @@ "@babel/eslint-parser": "^7.25.1", "@edata-portal/core": "workspace:*", "@edata-portal/h5": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/apps/mx/public/config/ui.config.json b/apps/mx/public/config/ui.config.json index 99dc23f62c7078e9a91824dd27a03ef9907a0995..a5ca23515c12eb0aea0e49ab1d551e68ff255845 100644 --- a/apps/mx/public/config/ui.config.json +++ b/apps/mx/public/config/ui.config.json @@ -165,5 +165,8 @@ "facilityForwarderName": "FedEX", "facilityForwarderAccount": "388310561", "facilityForwarderNamePickup": ["FEDEX", "DHL express", "UPS"] + }, + "reprocessing": { + "defaultDayPeriodJobs": 30 } } diff --git a/apps/portal/config/esrf/ui.config.json b/apps/portal/config/esrf/ui.config.json index fce9730323e50a2b684c87f7003508b73a56f5b1..3719cff87811d5c660042af72cff8eb8534c6122 100644 --- a/apps/portal/config/esrf/ui.config.json +++ b/apps/portal/config/esrf/ui.config.json @@ -161,5 +161,8 @@ "facilityForwarderName": "FedEX", "facilityForwarderAccount": "388310561", "facilityForwarderNamePickup": ["FEDEX", "DHL express", "UPS"] + }, + "reprocessing": { + "defaultDayPeriodJobs": 30 } } diff --git a/apps/portal/config/local/ui.config.json b/apps/portal/config/local/ui.config.json index 91706ce7bbf12598e5b6f01c366425040ab0aa41..3035574768f781bb5ebc682323643847fd4bbe08 100644 --- a/apps/portal/config/local/ui.config.json +++ b/apps/portal/config/local/ui.config.json @@ -167,5 +167,8 @@ "facilityForwarderName": "FedEX", "facilityForwarderAccount": "388310561", "facilityForwarderNamePickup": ["FEDEX", "DHL express", "UPS"] + }, + "reprocessing": { + "defaultDayPeriodJobs": 30 } } diff --git a/apps/portal/package.json b/apps/portal/package.json index 019652c31f7b88c8fdc214a53150365f95158e89..f239a661e7f8ecf3763b7febbcac5699b9382aa5 100644 --- a/apps/portal/package.json +++ b/apps/portal/package.json @@ -22,7 +22,7 @@ "@edata-portal/core": "workspace:*", "@edata-portal/doi": "^0.0.16", "@edata-portal/h5": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@edata-portal/react-calendar-timeline": "^0.29.0", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", diff --git a/apps/portal/src/components/reprocessing/jobs/JobsList.tsx b/apps/portal/src/components/reprocessing/jobs/JobsList.tsx index 618fab7aff396cc439012d3d9d135500de3b58ed..868ca7c4717ff1a0c61e2c6746bdbcbb94bb2d68 100644 --- a/apps/portal/src/components/reprocessing/jobs/JobsList.tsx +++ b/apps/portal/src/components/reprocessing/jobs/JobsList.tsx @@ -14,10 +14,18 @@ export function JobsList({ investigationId, onJobSelected, selectedId, + search, + startDate, + endDate, + status, }: { investigationId?: string; onJobSelected: (job: Job) => void; selectedId?: string; + search?: string; + startDate?: string; + endDate?: string; + status?: string; }) { const jobs = useEndpointPagination({ endpoint: EWOKS_JOB_LIST_ENDPOINT, @@ -25,6 +33,10 @@ export function JobsList({ ...(investigationId ? { investigationId: Number(investigationId) } : {}), sortBy: 'createdAt', sortOder: -1, + ...(search ? { search } : {}), + ...(startDate && startDate !== 'undefined' ? { startDate } : {}), + ...(endDate && endDate !== 'undefined' ? { endDate } : {}), + ...(status ? { status } : {}), }, paginationParams: { paginationKey: 'jobs', diff --git a/apps/portal/src/components/reprocessing/jobs/JobsPage.tsx b/apps/portal/src/components/reprocessing/jobs/JobsPage.tsx index 0de17217fa56d30d5686d8ec10374e100b449f75..ee224537637b5cbcdee9a7c13b9cfe6c991c17eb 100644 --- a/apps/portal/src/components/reprocessing/jobs/JobsPage.tsx +++ b/apps/portal/src/components/reprocessing/jobs/JobsPage.tsx @@ -1,35 +1,140 @@ -import { Loading, SplitPage, useParam } from '@edata-portal/core'; +import { + addToDate, + formatDateToIcatDate, + Loading, + parseDate, + SearchBar, + SideNavElement, + SideNavFilter, + SplitPage, + UI_DATE_DAY_FORMAT, + useConfig, + useParam, + WithSideNav, +} from '@edata-portal/core'; import { JobPanel } from 'components/reprocessing/jobs/JobPanel'; import { JobsList } from 'components/reprocessing/jobs/JobsList'; +import { josbStatusOptions } from 'components/reprocessing/jobs/jobStatus'; import { Suspense } from 'react'; +import { Col } from 'react-bootstrap'; +import ReactSelect from 'react-select'; +import DatePicker from 'react-datepicker'; +import 'react-datepicker/dist/react-datepicker.css'; export default function JobsPage({ investigationId, }: { investigationId?: string; }) { + const config = useConfig(); const [jobId, setJobId] = useParam<string>('id', ''); + const [search, setSearch] = useParam<string>('search', ''); + const [startDate, setStartDate] = useParam<string>( + 'startDate', + formatDateToIcatDate( + addToDate(new Date(), { + days: -config.ui.reprocessing.defaultDayPeriodJobs, + }), + ) || '', + ); + const [endDate, setEndDate] = useParam<string>('endDate', 'undefined'); + const [status, setStatus] = useParam<any>('status', ''); - return ( - <SplitPage - left={ - <Suspense fallback={<Loading />}> - <JobsList - investigationId={investigationId} - onJobSelected={(job) => setJobId(job.jobId)} - selectedId={jobId} + const nav = ( + <SideNavElement label="My jobs"> + <Col> + <SideNavFilter label={'Search'}> + <SearchBar + placeholder="status, step, dataset, sample, proposal..." + value={search} + onUpdate={(v) => { + setSearch(v); + setJobId(undefined); + }} + /> + </SideNavFilter> + <SideNavFilter label={'Start date'}> + <DatePicker + className="form-control" + dateFormat={UI_DATE_DAY_FORMAT} + selected={parseDate(startDate)} + maxDate={parseDate(endDate)} + onChange={(date: any) => { + const strDate = formatDateToIcatDate(date) || 'undefined'; + setStartDate(strDate); + setJobId(undefined); + }} + isClearable + placeholderText="Start date" + /> + </SideNavFilter> + + <SideNavFilter label={'End date'}> + <DatePicker + className="form-control" + dateFormat={UI_DATE_DAY_FORMAT} + selected={parseDate(endDate)} + minDate={parseDate(startDate)} + onChange={(date: any) => { + const strDate = formatDateToIcatDate(date) || 'undefined'; + setEndDate(strDate); + setJobId(undefined); + }} + isClearable + placeholderText="End date" /> - </Suspense> - } - right={ - jobId.length ? ( + </SideNavFilter> + <SideNavFilter label="Status"> + <ReactSelect + options={josbStatusOptions} + value={status + ?.split(',') + .map((val: string) => + josbStatusOptions.find((option: any) => option.value === val), + ) + .filter(Boolean)} + isClearable + placeholder={'Select status...'} + isMulti + onChange={(selectedOptions) => { + const selectedValues = selectedOptions + ? selectedOptions.map((opt: any) => opt.value).join(',') + : ''; + setStatus(selectedValues); + setJobId(undefined); + }} + /> + </SideNavFilter> + </Col> + </SideNavElement> + ); + + return ( + <WithSideNav sideNav={nav}> + <SplitPage + left={ <Suspense fallback={<Loading />}> - <JobPanel jobId={jobId} /> + <JobsList + investigationId={investigationId} + onJobSelected={(job) => setJobId(job.jobId)} + selectedId={jobId} + search={search} + startDate={startDate} + endDate={endDate} + status={status} + /> </Suspense> - ) : null - } - ratioLeft={0.3} - ratioRight={0.7} - /> + } + right={ + jobId.length ? ( + <Suspense fallback={<Loading />}> + <JobPanel jobId={jobId} /> + </Suspense> + ) : null + } + ratioLeft={0.3} + ratioRight={0.7} + /> + </WithSideNav> ); } diff --git a/apps/portal/src/components/reprocessing/jobs/StatusBadge.tsx b/apps/portal/src/components/reprocessing/jobs/StatusBadge.tsx index a6901c7fcb7e644a4ac6c5c418e261c6f8565855..401c1c4906c8fbd8d3c921141780d86729b31d84 100644 --- a/apps/portal/src/components/reprocessing/jobs/StatusBadge.tsx +++ b/apps/portal/src/components/reprocessing/jobs/StatusBadge.tsx @@ -1,25 +1,10 @@ +import { + jobStatusColors, + JOB_STATUSES, +} from 'components/reprocessing/jobs/jobStatus'; import { Badge } from 'react-bootstrap'; export default function StatusBadge({ status }: { status: string }) { - let bg = 'primary'; - switch (status) { - case 'CREATED': - bg = 'info'; - break; - case 'FINISHED': - bg = 'success'; - break; - case 'RUNNING': - bg = 'warning'; - break; - case 'STARTED': - bg = 'secondary'; - break; - case 'TERMINATED': - bg = 'danger'; - break; - default: - break; - } + const bg = jobStatusColors[status as keyof typeof JOB_STATUSES] || 'primary'; return <Badge bg={bg}>{status}</Badge>; } diff --git a/apps/portal/src/components/reprocessing/jobs/jobStatus.ts b/apps/portal/src/components/reprocessing/jobs/jobStatus.ts new file mode 100644 index 0000000000000000000000000000000000000000..ba95bf004171fdc67aaecaa4f523dff73020e661 --- /dev/null +++ b/apps/portal/src/components/reprocessing/jobs/jobStatus.ts @@ -0,0 +1,23 @@ +export const JOB_STATUSES = { + CREATED: 'CREATED', + FINISHED: 'FINISHED', + RUNNING: 'RUNNING', + STARTED: 'STARTED', + TERMINATED: 'TERMINATED', +} as const; + +export const josbStatusOptions = [ + { value: JOB_STATUSES.CREATED, label: 'Created' }, + { value: JOB_STATUSES.STARTED, label: 'Started' }, + { value: JOB_STATUSES.RUNNING, label: 'Running' }, + { value: JOB_STATUSES.FINISHED, label: 'Finished' }, + { value: JOB_STATUSES.TERMINATED, label: 'Terminated' }, +] as const; + +export const jobStatusColors: Record<keyof typeof JOB_STATUSES, string> = { + CREATED: 'info', + FINISHED: 'success', + RUNNING: 'warning', + STARTED: 'secondary', + TERMINATED: 'danger', +}; diff --git a/apps/session_viewer/package.json b/apps/session_viewer/package.json index 77ac8d23bb011dcdb2b9f8d0c7cdb9f67dbd2233..3ec8d2ddb1ee6136c72ec31a0e23477558ee14e7 100644 --- a/apps/session_viewer/package.json +++ b/apps/session_viewer/package.json @@ -18,7 +18,7 @@ "dependencies": { "@babel/eslint-parser": "^7.25.1", "@edata-portal/core": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/package.json b/package.json index 3ccc14fba482bb4bdea3e868790d109fd78df02c..4f87f4b95d696da6bc956fcac22dccbe7cd5b0f8 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "typescript": "5.5.3" }, "devDependencies": { - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@tanstack/react-query": "^5.52.1", "cypress": "^13.13.3", "dotenv": "^16.4.5", diff --git a/packages/core/package.json b/packages/core/package.json index cdc37ed3dcd6a52bfb76e6f3c6896e187fba1f72..a396a2caf3f19c69f502699d486f965d40913c50 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -19,7 +19,7 @@ "dependencies": { "@dagrejs/dagre": "^1.1.4", "@edata-portal/doi": "^0.0.14", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", "@fortawesome/react-fontawesome": "^0.2.2", diff --git a/packages/core/src/context/config/UIConfig.ts b/packages/core/src/context/config/UIConfig.ts index 443f287cebbad36086472188507759f98033de3c..3bb477c21c4f38be97f9b11a29c982ed7c1bc642 100644 --- a/packages/core/src/context/config/UIConfig.ts +++ b/packages/core/src/context/config/UIConfig.ts @@ -77,6 +77,9 @@ export interface UIConfig { tracking: TrackingConfig; mx: MXConfig; logistics: LogisticsConfig; + reprocessing: { + defaultDayPeriodJobs: number; + }; } export interface UIFeaturesConfig { diff --git a/packages/h5/package.json b/packages/h5/package.json index 4e295e42588df12811d9f44fc5fab98240ccb2a2..23b6a818a59b472b85baaa0b3550d9167e421475 100644 --- a/packages/h5/package.json +++ b/packages/h5/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "@edata-portal/core": "workspace:*", - "@edata-portal/icat-plus-api": "^1.8.13", + "@edata-portal/icat-plus-api": "^1.8.14", "@h5web/app": "13.0.0", "@h5web/lib": "13.0.0", "@react-three/fiber": "^8.17.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9852425027b80e14969bc784309dda705972683..913772dd600f53b7ececd72c2bcb9cd07a53a26a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: version: 5.5.3 devDependencies: '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': specifier: ^5.52.1 version: 5.52.1(react@18.3.1) @@ -54,8 +54,8 @@ importers: specifier: workspace:* version: link:../../packages/core '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -139,8 +139,8 @@ importers: specifier: workspace:* version: link:../../packages/core '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -227,8 +227,8 @@ importers: specifier: workspace:* version: link:../../packages/core '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -333,8 +333,8 @@ importers: specifier: workspace:* version: link:../../packages/core '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -451,8 +451,8 @@ importers: apps/maintenance: dependencies: '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -509,8 +509,8 @@ importers: specifier: workspace:* version: link:../../packages/h5 '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -618,8 +618,8 @@ importers: specifier: workspace:* version: link:../../packages/h5 '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@edata-portal/react-calendar-timeline': specifier: ^0.29.0 version: 0.29.0(interactjs@1.10.27)(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -754,8 +754,8 @@ importers: specifier: workspace:* version: link:../../packages/core '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -842,8 +842,8 @@ importers: specifier: ^0.0.14 version: 0.0.14(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': specifier: ^6.6.0 version: 6.6.0 @@ -963,8 +963,8 @@ importers: specifier: workspace:* version: link:../core '@edata-portal/icat-plus-api': - specifier: ^1.8.13 - version: 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.8.14 + version: 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@h5web/app': specifier: 13.0.0 version: 13.0.0(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) @@ -1769,8 +1769,8 @@ packages: react: ^18.3.1 react-dom: ^18.3.1 - '@edata-portal/icat-plus-api@1.8.13': - resolution: {integrity: sha512-/7F6nsL04sP1izqbqPQ79t3uNwBw/naiym/L1vAPTTvBhBOPc2RPoqXMEuhQrb3Gs88lSaGoJM9cr8XELRmpvw==} + '@edata-portal/icat-plus-api@1.8.14': + resolution: {integrity: sha512-Ycc1G+ZRddfPvPNI9C+aOgnZddhB3hjo+MP+U2NCOfqp7Ey97dH+OrBkf29jsj/V7abthsPt0hLV/o2UMiItRQ==} peerDependencies: '@tanstack/react-query': ^5.28.9 react: ^18.2.0 @@ -6548,7 +6548,7 @@ snapshots: '@edata-portal/doi@0.0.14(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@edata-portal/icat-plus-api': 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@edata-portal/icat-plus-api': 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': 6.6.0 '@fortawesome/free-solid-svg-icons': 6.6.0 '@fortawesome/react-fontawesome': 0.2.2(@fortawesome/fontawesome-svg-core@6.6.0)(react@18.3.1) @@ -6563,7 +6563,7 @@ snapshots: '@edata-portal/doi@0.0.16(@tanstack/react-query@5.52.1(react@18.3.1))(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@edata-portal/icat-plus-api': 1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@edata-portal/icat-plus-api': 1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@fortawesome/fontawesome-svg-core': 6.6.0 '@fortawesome/free-solid-svg-icons': 6.6.0 '@fortawesome/react-fontawesome': 0.2.2(@fortawesome/fontawesome-svg-core@6.6.0)(react@18.3.1) @@ -6576,7 +6576,7 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@edata-portal/icat-plus-api@1.8.13(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@edata-portal/icat-plus-api@1.8.14(@tanstack/react-query@5.52.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@tanstack/react-query': 5.52.1(react@18.3.1) date-fns: 3.6.0