@gen-epix/ui-client-casedb 4.0.1 → 4.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/dist/_chunks/AddCasesToEventDialog.js.map +1 -1
- package/dist/_chunks/CaseDbDownloadUtil.js +1 -1
- package/dist/_chunks/CaseDbDownloadUtil.js.map +1 -1
- package/dist/_chunks/CaseInfoDialog.js +4 -4
- package/dist/_chunks/CaseInfoDialog.js.map +1 -1
- package/dist/_chunks/CaseSetInfoDialog.js +4 -4
- package/dist/_chunks/CaseSetInfoDialog.js.map +1 -1
- package/dist/_chunks/CasesAlreadyInCaseSetWarning.js.map +1 -1
- package/dist/_chunks/Dashboard.js +3 -2
- package/dist/_chunks/Dashboard.js.map +1 -1
- package/dist/_chunks/FindSimilarCasesDialog.js +6 -6
- package/dist/_chunks/FindSimilarCasesDialog.js.map +1 -1
- package/dist/_chunks/HomePageTrends.js.map +1 -1
- package/dist/_chunks/LineListWidget.js +46 -45
- package/dist/_chunks/LineListWidget.js.map +1 -1
- package/dist/_chunks/Upload.js +308 -304
- package/dist/_chunks/Upload.js.map +1 -1
- package/dist/_chunks/UploadUtil.js +44 -40
- package/dist/_chunks/UploadUtil.js.map +1 -1
- package/dist/_chunks/dashboardStore.js.map +1 -1
- package/dist/classes/services/EventBusService/EventBusService.d.ts +9 -2
- package/dist/classes/services/EventBusService/index.js.map +1 -1
- package/dist/components/ui/MapWidget/index.js.map +1 -1
- package/dist/components/ui/RemoveCasesFromEventDialog/index.js.map +1 -1
- package/dist/components/ui/SequenceDownloadDialog/index.js +53 -40
- package/dist/components/ui/SequenceDownloadDialog/index.js.map +1 -1
- package/dist/components/ui/TreeWidget/index.js +8 -2
- package/dist/components/ui/TreeWidget/index.js.map +1 -1
- package/dist/locale/en.json +0 -11
- package/dist/locale/nl.json +0 -11
- package/dist/models/config.d.ts +2 -0
- package/dist/utils/UploadUtil/UploadUtil.d.ts +1 -0
- package/package.json +23 -23
- package/dist/components/ui/FileSelector/FileSelector.d.ts +0 -7
- package/dist/components/ui/FileSelector/index.d.ts +0 -1
- package/dist/components/ui/FileSelector/index.js +0 -206
- package/dist/components/ui/FileSelector/index.js.map +0 -1
- package/dist/utils/FileUtil/FileUtil.d.ts +0 -5
- package/dist/utils/FileUtil/index.d.ts +0 -1
- package/dist/utils/FileUtil/index.js +0 -15
- package/dist/utils/FileUtil/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CasesAlreadyInCaseSetWarning.js","names":[],"sources":["../../src/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarningCaseSetLink.tsx","../../src/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarning.tsx"],"sourcesContent":["import { Link } from '@mui/material';\nimport {\n useCallback,\n useRef,\n} from 'react';\nimport { t } from 'i18next';\nimport type { CaseDbCaseSet } from '@gen-epix/api-casedb';\nimport type { ConfirmationRefMethods } from '@gen-epix/ui-core-components/components/Confirmation';\nimport { Confirmation } from '@gen-epix/ui-core-components/components/Confirmation';\nimport { ResponseHandler } from '@gen-epix/ui-client-common/components/ui/ResponseHandler';\nimport { RouterService } from '@gen-epix/ui-client-common/classes/services/RouterService';\nimport { useArray } from '@gen-epix/ui-core/hooks/useArray';\n\nimport { useCaseSetCategoryMapQuery } from '../../../dataHooks/useCaseSetCategoriesQuery';\nimport { useCaseSetStatusMapQuery } from '../../../dataHooks/useCaseSetStatusesQuery';\nimport { CaseSetUtil } from '../../../utils/CaseSetUtil';\n\n\nexport type CasesAlreadyInCaseSetWarningCaseSetLinkProps = {\n readonly caseSet: CaseDbCaseSet;\n};\n\nexport const CasesAlreadyInCaseSetWarningCaseSetLink = ({ caseSet }: CasesAlreadyInCaseSetWarningCaseSetLinkProps) => {\n const caseSetCategoryMapQuery = useCaseSetCategoryMapQuery();\n const caseSetStatusMapQuery = useCaseSetStatusMapQuery();\n const loadables = useArray([caseSetCategoryMapQuery, caseSetStatusMapQuery]);\n const confirmationRef = useRef<ConfirmationRefMethods>(null);\n\n const onLinkClick = useCallback(() => {\n confirmationRef.current?.open();\n }, []);\n\n const onConfirm = useCallback(async () => {\n await RouterService.getInstance().router.navigate(CaseSetUtil.createCaseSetLink(caseSet));\n }, [caseSet]);\n\n\n return (\n <ResponseHandler\n loadables={loadables}\n shouldHideActionButtons\n >\n <Link\n color={'primary'}\n href={'#'}\n onClick={onLinkClick}\n sx={{\n display: 'table',\n }}\n >\n {`${caseSet.name} (${caseSetCategoryMapQuery.map.get(caseSet.case_set_category_id)?.name}, ${caseSetStatusMapQuery.map.get(caseSet.case_set_status_id)?.name})`}\n </Link>\n <Confirmation\n body={t('This will navigate to the \"{{caseSetName}}\"-event. You will loose your current selection of cases and all applied filters. Do you want to continue?', { caseSetName: caseSet.name })}\n cancelLabel={t`Cancel`}\n confirmLabel={t`Continue`}\n onConfirm={onConfirm}\n ref={confirmationRef}\n title={t('Do you want to navigate to the \"{{caseSetName}}\"-event?', { caseSetName: caseSet.name })}\n />\n </ResponseHandler>\n );\n};\n","import {\n Alert,\n AlertTitle,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n useTheme,\n} from '@mui/material';\nimport uniq from 'lodash/uniq';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport type {\n CaseDbCase,\n CaseDbCaseSet,\n CaseDbTypedUuidSetFilter,\n} from '@gen-epix/api-casedb';\nimport {\n CaseDbCaseApi,\n CaseDbLogLevel,\n} from '@gen-epix/api-casedb';\nimport { LogService } from '@gen-epix/ui-client-common/classes/services/LogService';\nimport { QueryClientService } from '@gen-epix/ui-client-common/classes/services/QueryClientService';\nimport { ResponseHandler } from '@gen-epix/ui-client-common/components/ui/ResponseHandler';\nimport { useQueryMemo } from '@gen-epix/ui-client-common/hooks/useQueryMemo';\n\nimport { CaseSummary } from '../CaseSummary';\nimport { CASEDB_QUERY_KEY } from '../../../constants/query';\n\nimport { CasesAlreadyInCaseSetWarningCaseSetLink } from './CasesAlreadyInCaseSetWarningCaseSetLink';\n\nexport type CasesAlreadyInCaseSetWarningProps = {\n readonly cases: CaseDbCase[];\n};\n\nexport const CasesAlreadyInCaseSetWarning = ({ cases }: CasesAlreadyInCaseSetWarningProps) => {\n const { t } = useTranslation();\n const theme = useTheme();\n\n // Load all case set members for the given cases\n const caseSetMembersFilter = useMemo<CaseDbTypedUuidSetFilter>(() => {\n return {\n invert: false,\n key: 'case_id',\n members: cases?.map(row => row.id) ?? [],\n type: 'UUID_SET',\n };\n }, [cases]);\n const { data: caseSetMembers, error: caseSetMembersError, isLoading: isCaseSetMembersLoading } = useQueryMemo({\n queryFn: async ({ signal }) => {\n const response = await CaseDbCaseApi.getInstance().caseSetMembersPostQuery(caseSetMembersFilter, null, null, { signal });\n return response.data;\n },\n queryKey: QueryClientService.getInstance().getGenericKey(CASEDB_QUERY_KEY.CASE_SET_MEMBERS, caseSetMembersFilter),\n });\n\n // Load all case sets for the given case set members\n const existingCaseSetsFilter = useMemo<CaseDbTypedUuidSetFilter>(() => {\n return {\n invert: false,\n key: 'id',\n members: uniq((caseSetMembers ?? []).map(x => x.case_set_id)) ?? [],\n type: 'UUID_SET',\n };\n }, [caseSetMembers]);\n const { data: caseSets, error: caseSetsError, isLoading: isCaseSetsLoading } = useQueryMemo({\n enabled: existingCaseSetsFilter.members.length > 0,\n queryFn: async ({ signal }) => {\n const response = await CaseDbCaseApi.getInstance().caseSetsPostQuery(existingCaseSetsFilter, null, null, { signal });\n return response.data;\n },\n queryKey: QueryClientService.getInstance().getGenericKey(CASEDB_QUERY_KEY.CASE_SETS, existingCaseSetsFilter),\n });\n\n const caseSetsByCase = useMemo(() => {\n const map = new Map<CaseDbCase, CaseDbCaseSet[]>();\n if (!caseSets || !caseSetMembers) {\n return map;\n }\n\n caseSetMembers?.forEach(member => {\n const caseItem = cases.find(x => x.id === member.case_id);\n const caseSetItem = caseSets.find(x => x.id === member.case_set_id);\n if (!caseItem || !caseSetItem) {\n LogService.getInstance().log([\n {\n detail: member,\n level: CaseDbLogLevel.DEBUG,\n topic: 'MISSING_CASE_OR_CASE_SET',\n },\n ]);\n return;\n }\n if (!map.has(caseItem)) {\n map.set(caseItem, []);\n }\n map.get(caseItem).push(caseSetItem);\n });\n return map;\n }, [caseSets, caseSetMembers, cases]);\n\n return (\n <ResponseHandler\n error={caseSetMembersError || caseSetsError}\n isLoading={isCaseSetMembersLoading || isCaseSetsLoading}\n shouldHideActionButtons\n >\n {caseSetsByCase.size > 0 && (\n <Alert\n severity={'warning'}\n slotProps={{\n message: {\n sx: {\n flexGrow: 1,\n },\n },\n }}\n >\n <AlertTitle\n sx={{\n width: '100%',\n }}\n >\n {t('{{numCases}} selected case(s) are already part of other event(s):', { numCases: caseSetsByCase.size })}\n </AlertTitle>\n <Table\n size={'small'}\n sx={{\n width: '100%',\n }}\n >\n <TableHead>\n <TableRow>\n <TableCell\n sx={{\n width: '50%',\n }}\n >\n {t`Case`}\n </TableCell>\n <TableCell\n sx={{\n width: '50%',\n }}\n >\n {t`Events`}\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {(Array.from(caseSetsByCase) ?? []).map(([caseItem, caseItemCaseSets]) => {\n return (\n <TableRow key={caseItem.id}>\n <TableCell\n sx={{\n verticalAlign: 'top',\n width: '50%',\n }}\n >\n <CaseSummary\n caseDbCase={caseItem}\n />\n </TableCell>\n <TableCell\n sx={{\n '& :nth-of-type(2)': {\n marginTop: theme.spacing(1),\n },\n verticalAlign: 'top',\n width: '50%',\n }}\n >\n {caseItemCaseSets.sort((a, b) => a.name.localeCompare(b.name)).map(caseItemCaseSet => (\n <CasesAlreadyInCaseSetWarningCaseSetLink\n caseSet={caseItemCaseSet}\n key={caseItemCaseSet.id}\n />\n ))}\n </TableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </Alert>\n )}\n </ResponseHandler>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CasesAlreadyInCaseSetWarning.js","names":[],"sources":["../../src/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarningCaseSetLink.tsx","../../src/components/ui/CasesAlreadyInCaseSetWarning/CasesAlreadyInCaseSetWarning.tsx"],"sourcesContent":["import { Link } from '@mui/material';\nimport {\n useCallback,\n useRef,\n} from 'react';\nimport { t } from 'i18next';\nimport type { CaseDbCaseSet } from '@gen-epix/api-casedb';\nimport type { ConfirmationRefMethods } from '@gen-epix/ui-core-components/components/Confirmation';\nimport { Confirmation } from '@gen-epix/ui-core-components/components/Confirmation';\nimport { ResponseHandler } from '@gen-epix/ui-client-common/components/ui/ResponseHandler';\nimport { RouterService } from '@gen-epix/ui-client-common/classes/services/RouterService';\nimport { useArray } from '@gen-epix/ui-core/hooks/useArray';\n\nimport { useCaseSetCategoryMapQuery } from '../../../dataHooks/useCaseSetCategoriesQuery';\nimport { useCaseSetStatusMapQuery } from '../../../dataHooks/useCaseSetStatusesQuery';\nimport { CaseSetUtil } from '../../../utils/CaseSetUtil';\n\n\nexport type CasesAlreadyInCaseSetWarningCaseSetLinkProps = {\n readonly caseSet: CaseDbCaseSet;\n};\n\nexport const CasesAlreadyInCaseSetWarningCaseSetLink = ({ caseSet }: CasesAlreadyInCaseSetWarningCaseSetLinkProps) => {\n const caseSetCategoryMapQuery = useCaseSetCategoryMapQuery();\n const caseSetStatusMapQuery = useCaseSetStatusMapQuery();\n const loadables = useArray([caseSetCategoryMapQuery, caseSetStatusMapQuery]);\n const confirmationRef = useRef<ConfirmationRefMethods>(null);\n\n const onLinkClick = useCallback(() => {\n confirmationRef.current?.open();\n }, []);\n\n const onConfirm = useCallback(async () => {\n await RouterService.getInstance().router.navigate(CaseSetUtil.createCaseSetLink(caseSet));\n }, [caseSet]);\n\n\n return (\n <ResponseHandler\n loadables={loadables}\n shouldHideActionButtons\n >\n <Link\n color={'primary'}\n href={'#'}\n onClick={onLinkClick}\n sx={{\n display: 'table',\n }}\n >\n {`${caseSet.name} (${caseSetCategoryMapQuery.map.get(caseSet.case_set_category_id)?.name}, ${caseSetStatusMapQuery.map.get(caseSet.case_set_status_id)?.name})`}\n </Link>\n <Confirmation\n body={t('This will navigate to the \"{{caseSetName}}\"-event. You will loose your current selection of cases and all applied filters. Do you want to continue?', { caseSetName: caseSet.name })}\n cancelLabel={t`Cancel`}\n confirmLabel={t`Continue`}\n onConfirm={onConfirm}\n ref={confirmationRef}\n title={t('Do you want to navigate to the \"{{caseSetName}}\"-event?', { caseSetName: caseSet.name })}\n />\n </ResponseHandler>\n );\n};\n","import {\n Alert,\n AlertTitle,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n useTheme,\n} from '@mui/material';\nimport uniq from 'lodash/uniq';\nimport { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport type {\n CaseDbCase,\n CaseDbCaseSet,\n CaseDbUuidSetFilter,\n} from '@gen-epix/api-casedb';\nimport {\n CaseDbCaseApi,\n CaseDbLogLevel,\n} from '@gen-epix/api-casedb';\nimport { LogService } from '@gen-epix/ui-client-common/classes/services/LogService';\nimport { QueryClientService } from '@gen-epix/ui-client-common/classes/services/QueryClientService';\nimport { ResponseHandler } from '@gen-epix/ui-client-common/components/ui/ResponseHandler';\nimport { useQueryMemo } from '@gen-epix/ui-client-common/hooks/useQueryMemo';\n\nimport { CaseSummary } from '../CaseSummary';\nimport { CASEDB_QUERY_KEY } from '../../../constants/query';\n\nimport { CasesAlreadyInCaseSetWarningCaseSetLink } from './CasesAlreadyInCaseSetWarningCaseSetLink';\n\nexport type CasesAlreadyInCaseSetWarningProps = {\n readonly cases: CaseDbCase[];\n};\n\nexport const CasesAlreadyInCaseSetWarning = ({ cases }: CasesAlreadyInCaseSetWarningProps) => {\n const { t } = useTranslation();\n const theme = useTheme();\n\n // Load all case set members for the given cases\n const caseSetMembersFilter = useMemo<CaseDbUuidSetFilter>(() => {\n return {\n invert: false,\n key: 'case_id',\n members: cases?.map(row => row.id) ?? [],\n type: 'UUID_SET',\n };\n }, [cases]);\n const { data: caseSetMembers, error: caseSetMembersError, isLoading: isCaseSetMembersLoading } = useQueryMemo({\n queryFn: async ({ signal }) => {\n const response = await CaseDbCaseApi.getInstance().caseSetMembersPostQuery(caseSetMembersFilter, null, null, { signal });\n return response.data;\n },\n queryKey: QueryClientService.getInstance().getGenericKey(CASEDB_QUERY_KEY.CASE_SET_MEMBERS, caseSetMembersFilter),\n });\n\n // Load all case sets for the given case set members\n const existingCaseSetsFilter = useMemo<CaseDbUuidSetFilter>(() => {\n return {\n invert: false,\n key: 'id',\n members: uniq((caseSetMembers ?? []).map(x => x.case_set_id)) ?? [],\n type: 'UUID_SET',\n };\n }, [caseSetMembers]);\n const { data: caseSets, error: caseSetsError, isLoading: isCaseSetsLoading } = useQueryMemo({\n enabled: existingCaseSetsFilter.members.length > 0,\n queryFn: async ({ signal }) => {\n const response = await CaseDbCaseApi.getInstance().caseSetsPostQuery(existingCaseSetsFilter, null, null, { signal });\n return response.data;\n },\n queryKey: QueryClientService.getInstance().getGenericKey(CASEDB_QUERY_KEY.CASE_SETS, existingCaseSetsFilter),\n });\n\n const caseSetsByCase = useMemo(() => {\n const map = new Map<CaseDbCase, CaseDbCaseSet[]>();\n if (!caseSets || !caseSetMembers) {\n return map;\n }\n\n caseSetMembers?.forEach(member => {\n const caseItem = cases.find(x => x.id === member.case_id);\n const caseSetItem = caseSets.find(x => x.id === member.case_set_id);\n if (!caseItem || !caseSetItem) {\n LogService.getInstance().log([\n {\n detail: member,\n level: CaseDbLogLevel.DEBUG,\n topic: 'MISSING_CASE_OR_CASE_SET',\n },\n ]);\n return;\n }\n if (!map.has(caseItem)) {\n map.set(caseItem, []);\n }\n map.get(caseItem).push(caseSetItem);\n });\n return map;\n }, [caseSets, caseSetMembers, cases]);\n\n return (\n <ResponseHandler\n error={caseSetMembersError || caseSetsError}\n isLoading={isCaseSetMembersLoading || isCaseSetsLoading}\n shouldHideActionButtons\n >\n {caseSetsByCase.size > 0 && (\n <Alert\n severity={'warning'}\n slotProps={{\n message: {\n sx: {\n flexGrow: 1,\n },\n },\n }}\n >\n <AlertTitle\n sx={{\n width: '100%',\n }}\n >\n {t('{{numCases}} selected case(s) are already part of other event(s):', { numCases: caseSetsByCase.size })}\n </AlertTitle>\n <Table\n size={'small'}\n sx={{\n width: '100%',\n }}\n >\n <TableHead>\n <TableRow>\n <TableCell\n sx={{\n width: '50%',\n }}\n >\n {t`Case`}\n </TableCell>\n <TableCell\n sx={{\n width: '50%',\n }}\n >\n {t`Events`}\n </TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {(Array.from(caseSetsByCase) ?? []).map(([caseItem, caseItemCaseSets]) => {\n return (\n <TableRow key={caseItem.id}>\n <TableCell\n sx={{\n verticalAlign: 'top',\n width: '50%',\n }}\n >\n <CaseSummary\n caseDbCase={caseItem}\n />\n </TableCell>\n <TableCell\n sx={{\n '& :nth-of-type(2)': {\n marginTop: theme.spacing(1),\n },\n verticalAlign: 'top',\n width: '50%',\n }}\n >\n {caseItemCaseSets.sort((a, b) => a.name.localeCompare(b.name)).map(caseItemCaseSet => (\n <CasesAlreadyInCaseSetWarningCaseSetLink\n caseSet={caseItemCaseSet}\n key={caseItemCaseSet.id}\n />\n ))}\n </TableCell>\n </TableRow>\n );\n })}\n </TableBody>\n </Table>\n </Alert>\n )}\n </ResponseHandler>\n );\n};\n"],"mappings":"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"}
|
|
@@ -2285,7 +2285,7 @@ var Zn = $, Qn = ({ anchorEl: e, onChange: t, onClose: n, onEscapeKeyDown: r, op
|
|
|
2285
2285
|
});
|
|
2286
2286
|
}, [e?.id, j?.id]), he = B(() => {
|
|
2287
2287
|
r.current?.reset();
|
|
2288
|
-
}, []), ge = H(() => !!ae && !oe, [oe, ae]);
|
|
2288
|
+
}, []), ge = H(() => !!ae && !oe, [oe, ae]), _e = N.getInstance().config.dashboard.DASHBOARD_INJECTED_COMPONENT;
|
|
2289
2289
|
return /* @__PURE__ */ q(je, { children: [
|
|
2290
2290
|
/* @__PURE__ */ q(We, { children: [
|
|
2291
2291
|
/* @__PURE__ */ K(Ge, {
|
|
@@ -2379,7 +2379,8 @@ var Zn = $, Qn = ({ anchorEl: e, onChange: t, onClose: n, onEscapeKeyDown: r, op
|
|
|
2379
2379
|
/* @__PURE__ */ K(x, { ref: f }),
|
|
2380
2380
|
/* @__PURE__ */ K(S, { ref: m }),
|
|
2381
2381
|
/* @__PURE__ */ K(C, { ref: h }),
|
|
2382
|
-
/* @__PURE__ */ K(b, { ref: g })
|
|
2382
|
+
/* @__PURE__ */ K(b, { ref: g }),
|
|
2383
|
+
_e && /* @__PURE__ */ K(_e, {})
|
|
2383
2384
|
] });
|
|
2384
2385
|
}, nr = ({ caseSet: e, children: t }) => {
|
|
2385
2386
|
let n = z(E), r = H(() => new ot({
|