synapse-react-client 4.0.33 → 4.0.35
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/SWC.index.js +1 -1
- package/dist/assets/icons/curie-head.svg +21 -0
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +29 -3
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +153 -84
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js +49 -42
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts +6 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +161 -155
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +21 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +164 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +22 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +264 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +105 -96
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts +13 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js +122 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewCollaboratorsAndSigningOfficialAccordion.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +17 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +112 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +27 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +194 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts +1 -0
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js +7 -7
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
- package/dist/components/DraggableDialog/DraggableDialog.d.ts +2 -1
- package/dist/components/DraggableDialog/DraggableDialog.d.ts.map +1 -1
- package/dist/components/DraggableDialog/DraggableDialog.js +42 -33
- package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.d.ts.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js +12 -6
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js +2 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
- package/dist/components/FilePreview/PdfPreview.js +23 -20
- package/dist/components/FilePreview/PdfPreview.js.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js +100 -99
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +64 -55
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +4 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.d.ts.map +1 -1
- package/dist/components/StorybookComponentWrapper.js +16 -13
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.js +6 -6
- package/dist/components/SynapseChat/SynapseChat.d.ts +2 -1
- package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +118 -74
- package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +3 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js +21 -21
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
- package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js +9 -8
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js +2 -1
- package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.d.ts.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.js +6 -6
- package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/AccessRequirementDashboard.js +55 -55
- package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
- package/dist/components/dataaccess/EDucTemplateTable.d.ts +3 -0
- package/dist/components/dataaccess/EDucTemplateTable.d.ts.map +1 -0
- package/dist/components/dataaccess/EDucTemplateTable.js +213 -0
- package/dist/components/dataaccess/EDucTemplateTable.js.map +1 -0
- package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
- package/dist/components/dataaccess/ReviewerDashboard.js +44 -34
- package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts +12 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +84 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js +20 -18
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.d.ts.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js +43 -61
- package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
- package/dist/components/entity/page/createdByModifiedByTooltips.d.ts +7 -0
- package/dist/components/entity/page/createdByModifiedByTooltips.d.ts.map +1 -0
- package/dist/components/entity/page/createdByModifiedByTooltips.js +36 -0
- package/dist/components/entity/page/createdByModifiedByTooltips.js.map +1 -0
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +130 -65
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/widgets/Range.js +8 -2
- package/dist/components/widgets/Range.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +2 -0
- package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +35 -40
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js +2 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +19 -19
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +48 -23
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.js +9 -9
- package/dist/mocks/msw/handlers/eDucTemplateHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.js +22 -22
- package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js +36 -36
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/user/mock_user_profile.d.ts +1 -0
- package/dist/mocks/user/mock_user_profile.d.ts.map +1 -1
- package/dist/mocks/user/mock_user_profile.js +45 -45
- package/dist/mocks/user/mock_user_profile.js.map +1 -1
- package/dist/style/components/facet_nav/_facet-nav-panel.scss +0 -6
- package/dist/synapse-queries/KeyFactory.d.ts +1 -0
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +3 -0
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/dataaccess/index.js +4 -4
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts +13 -1
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +67 -49
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/index.js +185 -184
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +6 -0
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js +2 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js +20 -19
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts +1 -0
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.d.ts +7 -0
- package/dist/utils/functions/RegularExpressions.d.ts.map +1 -1
- package/dist/utils/functions/RegularExpressions.js +5 -4
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/hooks/useFetchBlobUrl.d.ts +9 -0
- package/dist/utils/hooks/useFetchBlobUrl.d.ts.map +1 -0
- package/dist/utils/hooks/useFetchBlobUrl.js +19 -0
- package/dist/utils/hooks/useFetchBlobUrl.js.map +1 -0
- package/dist/utils/hooks/useIsHydrated.d.ts +9 -0
- package/dist/utils/hooks/useIsHydrated.d.ts.map +1 -0
- package/dist/utils/hooks/useIsHydrated.js +10 -0
- package/dist/utils/hooks/useIsHydrated.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,133 +1,134 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizeSynPrefix as e } from "../../utils/functions/EntityTypeUtils.js";
|
|
2
|
+
import { getColumnIndex as t } from "../../utils/functions/SqlFunctions.js";
|
|
2
3
|
import "../../utils/functions/index.js";
|
|
3
|
-
import { Markdown as
|
|
4
|
-
import { formatDate as
|
|
5
|
-
import { TargetEnum as
|
|
6
|
-
import { getValueOrMultiValue as
|
|
7
|
-
import { SmartLink as
|
|
8
|
-
import { EntityLink as
|
|
9
|
-
import { UserBadge as
|
|
10
|
-
import { EntityColumnImage as
|
|
11
|
-
import { LabelMaybeWithIcon as
|
|
12
|
-
import
|
|
13
|
-
import { Fragment as
|
|
14
|
-
import { isEmpty as
|
|
15
|
-
import { Tooltip as
|
|
16
|
-
import { Fragment as
|
|
17
|
-
import { ColumnTypeEnum as
|
|
18
|
-
import
|
|
4
|
+
import { Markdown as n } from "../Markdown/MarkdownSynapse.js";
|
|
5
|
+
import { formatDate as r } from "../../utils/functions/DateFormatter.js";
|
|
6
|
+
import { TargetEnum as i } from "../../utils/html/TargetEnum.js";
|
|
7
|
+
import { getValueOrMultiValue as a } from "./CardUtils.js";
|
|
8
|
+
import { SmartLink as o } from "../SmartLink/SmartLink.js";
|
|
9
|
+
import { EntityLink as s } from "../EntityLink.js";
|
|
10
|
+
import { UserBadge as c } from "../UserCard/UserBadge.js";
|
|
11
|
+
import { EntityColumnImage as l } from "../widgets/EntityColumnImage.js";
|
|
12
|
+
import { LabelMaybeWithIcon as u } from "./LabelMaybeWithIcon.js";
|
|
13
|
+
import d from "./Linkify.js";
|
|
14
|
+
import { Fragment as f } from "react";
|
|
15
|
+
import { isEmpty as p } from "lodash-es";
|
|
16
|
+
import { Tooltip as m } from "@mui/material";
|
|
17
|
+
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
18
|
+
import { ColumnTypeEnum as v } from "@sage-bionetworks/synapse-types";
|
|
19
|
+
import y from "dayjs";
|
|
19
20
|
//#region src/components/GenericCard/SynapseCardLabel.tsx
|
|
20
|
-
function
|
|
21
|
-
let { value:
|
|
22
|
-
if (!
|
|
23
|
-
let { strList:
|
|
24
|
-
columnName:
|
|
25
|
-
value:
|
|
26
|
-
selectColumns:
|
|
27
|
-
columnModels:
|
|
28
|
-
}),
|
|
29
|
-
if (!
|
|
30
|
-
let
|
|
31
|
-
if (
|
|
21
|
+
function b(b) {
|
|
22
|
+
let { value: x, columnName: S, labelLink: C, selectColumns: w, columnModels: T, isHeader: E, className: D, rowData: O, rowId: k, columnIconOptions: A } = b;
|
|
23
|
+
if (!x) return /* @__PURE__ */ g("p", { children: x });
|
|
24
|
+
let { strList: j, str: M, selectColumn: N } = a({
|
|
25
|
+
columnName: S,
|
|
26
|
+
value: x,
|
|
27
|
+
selectColumns: w,
|
|
28
|
+
columnModels: T
|
|
29
|
+
}), P = N?.columnType, F = A?.columns?.[S], I = ",\xA0\xA0";
|
|
30
|
+
if (!M) return /* @__PURE__ */ g("p", { children: M });
|
|
31
|
+
let L = D, R = {};
|
|
32
|
+
if (E && (L = D?.concat(" ", "SRC-lightLink")), P === v.USERID_LIST && j) return /* @__PURE__ */ g("p", { children: j.map((e, t) => /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(c, {
|
|
32
33
|
userId: e,
|
|
33
|
-
className:
|
|
34
|
-
}), t <
|
|
35
|
-
if (
|
|
36
|
-
userId:
|
|
37
|
-
className:
|
|
34
|
+
className: L
|
|
35
|
+
}), t < j.length - 1 && I] }, e)) });
|
|
36
|
+
if (P === v.USERID && M) return /* @__PURE__ */ g(c, {
|
|
37
|
+
userId: M,
|
|
38
|
+
className: L
|
|
38
39
|
});
|
|
39
|
-
if (
|
|
40
|
+
if (P === v.ENTITYID_LIST && j) return /* @__PURE__ */ g("p", { children: j.map((e, t) => /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(s, {
|
|
40
41
|
entity: e,
|
|
41
|
-
className:
|
|
42
|
-
}), t <
|
|
43
|
-
if (
|
|
44
|
-
entity:
|
|
45
|
-
className:
|
|
42
|
+
className: L
|
|
43
|
+
}), t < j.length - 1 && I] }, e)) });
|
|
44
|
+
if (P === v.ENTITYID && M && !C) return /* @__PURE__ */ g(s, {
|
|
45
|
+
entity: M,
|
|
46
|
+
className: L
|
|
46
47
|
});
|
|
47
|
-
if (
|
|
48
|
-
if (!
|
|
48
|
+
if (P === v.DATE && M) return /* @__PURE__ */ g("p", { children: r(y(Number(M))) });
|
|
49
|
+
if (!C) return j ? /* @__PURE__ */ g(h, { children: j.map((e, t) => /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(u, {
|
|
49
50
|
value: e,
|
|
50
|
-
iconConfig:
|
|
51
|
-
children: /* @__PURE__ */
|
|
51
|
+
iconConfig: F,
|
|
52
|
+
children: /* @__PURE__ */ g(d, {
|
|
52
53
|
text: e,
|
|
53
|
-
className:
|
|
54
|
+
className: L
|
|
54
55
|
})
|
|
55
|
-
}), t <
|
|
56
|
-
value:
|
|
57
|
-
iconConfig:
|
|
58
|
-
children: /* @__PURE__ */
|
|
59
|
-
text:
|
|
60
|
-
className:
|
|
56
|
+
}), t < j.length - 1 && I] }, e)) }) : /* @__PURE__ */ g(u, {
|
|
57
|
+
value: M,
|
|
58
|
+
iconConfig: F,
|
|
59
|
+
children: /* @__PURE__ */ g(d, {
|
|
60
|
+
text: M,
|
|
61
|
+
className: L
|
|
61
62
|
})
|
|
62
63
|
});
|
|
63
|
-
if ("resolveEntityName" in
|
|
64
|
-
entity:
|
|
64
|
+
if ("resolveEntityName" in C && C.resolveEntityName && M) return /* @__PURE__ */ g(s, {
|
|
65
|
+
entity: M,
|
|
65
66
|
showIcon: !1
|
|
66
67
|
});
|
|
67
|
-
let
|
|
68
|
-
if ("isMapValueToReactNodeConfig" in
|
|
69
|
-
let { Component: e } =
|
|
70
|
-
|
|
71
|
-
value:
|
|
72
|
-
selectColumn:
|
|
68
|
+
let z;
|
|
69
|
+
if ("isMapValueToReactNodeConfig" in C && C.isMapValueToReactNodeConfig) {
|
|
70
|
+
let { Component: e } = C;
|
|
71
|
+
z = /* @__PURE__ */ g(e, {
|
|
72
|
+
value: j || M,
|
|
73
|
+
selectColumn: N
|
|
73
74
|
});
|
|
74
|
-
} else if ("isMarkdown" in
|
|
75
|
+
} else if ("isMarkdown" in C && C.isMarkdown) z = j ? /* @__PURE__ */ g("p", { children: j.map((e, t) => /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(n, {
|
|
75
76
|
renderInline: !0,
|
|
76
77
|
markdown: e
|
|
77
|
-
}, e),
|
|
78
|
+
}, e), t < j.length - 1 && I] }, e)) }) : /* @__PURE__ */ g(n, {
|
|
78
79
|
renderInline: !0,
|
|
79
|
-
markdown:
|
|
80
|
+
markdown: x
|
|
80
81
|
});
|
|
81
|
-
else if ("isEntityImage" in
|
|
82
|
+
else if ("isEntityImage" in C && C.isEntityImage) z = j ? /* @__PURE__ */ g("p", { children: j.map((e, t) => /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(l, { entityId: e }), t < j.length - 1 && I] }, e)) }) : /* @__PURE__ */ g(l, { entityId: x });
|
|
82
83
|
else {
|
|
83
|
-
let
|
|
84
|
-
if ("target" in
|
|
85
|
-
let
|
|
86
|
-
if (
|
|
84
|
+
let n = j || M.split(","), r;
|
|
85
|
+
if ("target" in C && (r = C.target), "linkColumnName" in C) {
|
|
86
|
+
let e = t(C.linkColumnName, w, T);
|
|
87
|
+
if (e == null) console.warn(`Could not determine column index of ${C.linkColumnName}`), z = /* @__PURE__ */ g(h, { children: x });
|
|
87
88
|
else {
|
|
88
|
-
let
|
|
89
|
-
|
|
90
|
-
href:
|
|
91
|
-
target:
|
|
92
|
-
className:
|
|
93
|
-
style:
|
|
94
|
-
children:
|
|
95
|
-
},
|
|
89
|
+
let t = O[e];
|
|
90
|
+
z = p(t) ? /* @__PURE__ */ g(h, { children: x }) : /* @__PURE__ */ g("p", { children: n.map((e, a) => /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(o, {
|
|
91
|
+
href: t ?? "",
|
|
92
|
+
target: r ?? i.NEW_WINDOW,
|
|
93
|
+
className: L,
|
|
94
|
+
style: R,
|
|
95
|
+
children: e
|
|
96
|
+
}, e), a < n.length - 1 && /* @__PURE__ */ g("span", {
|
|
96
97
|
style: { marginRight: 4 },
|
|
97
98
|
children: ", "
|
|
98
|
-
})] },
|
|
99
|
+
})] }, e)) });
|
|
99
100
|
}
|
|
100
|
-
} else
|
|
101
|
-
let
|
|
102
|
-
if ("baseURL" in
|
|
103
|
-
let { baseURL: e, URLColumnName: t, wrapValueWithParens: n, urlParamStyle: r = "query-param" } =
|
|
104
|
-
|
|
105
|
-
} else if ("overrideLinkURLColumnName" in
|
|
106
|
-
let
|
|
107
|
-
if (
|
|
108
|
-
let
|
|
109
|
-
|
|
101
|
+
} else z = /* @__PURE__ */ g("p", { children: n.map((a, s) => {
|
|
102
|
+
let c = C, l = c.overrideValueWithRowID && k ? e(k) : a, u = "";
|
|
103
|
+
if ("baseURL" in c) {
|
|
104
|
+
let { baseURL: e, URLColumnName: t, wrapValueWithParens: n, urlParamStyle: r = "query-param" } = c, i = n ? `(${l})` : l;
|
|
105
|
+
u = r === "path-segment" ? `/${e}/${encodeURIComponent(String(i))}` : `/${e}?${t}=${i}`;
|
|
106
|
+
} else if ("overrideLinkURLColumnName" in c) {
|
|
107
|
+
let e = t(c.overrideLinkURLColumnName, w, T);
|
|
108
|
+
if (e != null) {
|
|
109
|
+
let t = O[e];
|
|
110
|
+
t && (u = c.overrideLinkURLColumnTransform ? c.overrideLinkURLColumnTransform(t) : t);
|
|
110
111
|
}
|
|
111
112
|
}
|
|
112
|
-
return /* @__PURE__ */
|
|
113
|
-
href:
|
|
114
|
-
className:
|
|
115
|
-
style:
|
|
116
|
-
target:
|
|
117
|
-
children:
|
|
118
|
-
},
|
|
113
|
+
return /* @__PURE__ */ _(f, { children: [/* @__PURE__ */ g(o, {
|
|
114
|
+
href: u,
|
|
115
|
+
className: L,
|
|
116
|
+
style: R,
|
|
117
|
+
target: r ?? i.CURRENT_WINDOW,
|
|
118
|
+
children: a
|
|
119
|
+
}, a), s < n.length - 1 && /* @__PURE__ */ g("span", {
|
|
119
120
|
style: { marginRight: 4 },
|
|
120
121
|
children: ", "
|
|
121
|
-
})] },
|
|
122
|
+
})] }, a);
|
|
122
123
|
}) });
|
|
123
124
|
}
|
|
124
|
-
return "tooltipText" in
|
|
125
|
-
title:
|
|
125
|
+
return "tooltipText" in C && C.tooltipText ? /* @__PURE__ */ g(m, {
|
|
126
|
+
title: C.tooltipText,
|
|
126
127
|
enterNextDelay: 300,
|
|
127
|
-
children: /* @__PURE__ */
|
|
128
|
-
}) :
|
|
128
|
+
children: /* @__PURE__ */ g("span", { children: z })
|
|
129
|
+
}) : z;
|
|
129
130
|
}
|
|
130
131
|
//#endregion
|
|
131
|
-
export {
|
|
132
|
+
export { b as SynapseCardLabel };
|
|
132
133
|
|
|
133
134
|
//# sourceMappingURL=SynapseCardLabel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynapseCardLabel.js","names":[],"sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getColumnIndex } from '@/utils/functions/index'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { Tooltip } from '@mui/material'\nimport {\n ColumnModel,\n ColumnTypeEnum,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { CSSProperties, Fragment, ReactNode } from 'react'\nimport {\n ColumnIconConfigs,\n ColumnSpecifiedLink,\n MarkdownLink,\n} from '../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../CardContainerLogic/CardContainerLogic'\nimport { EntityLink } from '../EntityLink'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SmartLink } from '../SmartLink/SmartLink'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport { EntityColumnImage } from '../widgets/EntityColumnImage'\nimport { LabelMaybeWithIcon } from './LabelMaybeWithIcon'\nimport Linkify from './Linkify'\n\ntype SynapseCardLabelProps = {\n value: string\n columnName: string\n labelLink:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n | undefined\n selectColumns: SelectColumn[] | undefined\n columnModels: ColumnModel[] | undefined\n isHeader: boolean\n className?: string\n rowData: Row['values']\n rowId?: string\n columnIconOptions?: ColumnIconConfigs\n}\nexport function SynapseCardLabel(props: SynapseCardLabelProps) {\n const {\n value,\n columnName,\n labelLink,\n selectColumns,\n columnModels,\n isHeader,\n className,\n rowData,\n rowId,\n columnIconOptions,\n } = props\n\n if (!value) {\n return <p>{value}</p>\n }\n const { strList, str, selectColumn } = getValueOrMultiValue({\n columnName,\n value,\n selectColumns,\n columnModels,\n })\n\n const columnModelType = selectColumn?.columnType\n const iconConfig = columnIconOptions?.columns?.[columnName]\n // \\u00a0 is a nbsp;\n const separator = ',\\u00a0\\u00a0'\n\n if (!str) {\n // the array came back empty\n return <p>{str}</p>\n }\n\n let newClassName = className\n const style: CSSProperties = {}\n if (isHeader) {\n newClassName = className?.concat(' ', 'SRC-lightLink')\n }\n // PORTALS-1913: special rendering for user ID lists\n if (columnModelType === ColumnTypeEnum.USERID_LIST && strList) {\n return (\n <p>\n {strList.map((val: string, index: number) => {\n return (\n <Fragment key={val}>\n <UserBadge userId={val} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n if (columnModelType === ColumnTypeEnum.USERID && str) {\n return <UserBadge userId={str} className={newClassName} />\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID_LIST && strList) {\n return (\n <p>\n {strList.map((entityId: string, index: number) => {\n return (\n <Fragment key={entityId}>\n <EntityLink entity={entityId} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID && str && !labelLink) {\n return <EntityLink entity={str} className={newClassName} />\n }\n\n // NFINT-906\n if (columnModelType === ColumnTypeEnum.DATE && str) {\n return <p>{formatDate(dayjs(Number(str)))}</p>\n }\n\n if (!labelLink) {\n if (strList) {\n return (\n <>\n {strList.map((el, index) => (\n <Fragment key={el}>\n <LabelMaybeWithIcon value={el} iconConfig={iconConfig}>\n <Linkify text={el} className={newClassName} />\n </LabelMaybeWithIcon>\n {index < strList.length - 1 && separator}\n </Fragment>\n ))}\n </>\n )\n }\n return (\n <LabelMaybeWithIcon value={str} iconConfig={iconConfig}>\n <Linkify text={str} className={newClassName} />\n </LabelMaybeWithIcon>\n )\n }\n\n if ('resolveEntityName' in labelLink && labelLink.resolveEntityName && str) {\n return <EntityLink entity={str} showIcon={false} />\n }\n\n let labelContent: ReactNode\n\n if (\n 'isMapValueToReactNodeConfig' in labelLink &&\n labelLink.isMapValueToReactNodeConfig\n ) {\n const { Component } = labelLink\n labelContent = (\n <Component value={strList || str} selectColumn={selectColumn!} />\n )\n } else if ('isMarkdown' in labelLink && labelLink.isMarkdown) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <MarkdownSynapse key={el} renderInline={true} markdown={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <MarkdownSynapse renderInline={true} markdown={value} />\n }\n } else if ('isEntityImage' in labelLink && labelLink.isEntityImage) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <EntityColumnImage entityId={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <EntityColumnImage entityId={value} />\n }\n } else {\n const split = strList ? strList : str.split(',')\n let linkTarget: TargetEnum | undefined = undefined\n if ('target' in labelLink) {\n linkTarget = labelLink.target!\n }\n if ('linkColumnName' in labelLink) {\n const linkIndex = getColumnIndex(\n labelLink.linkColumnName,\n selectColumns,\n columnModels,\n )\n if (linkIndex == null) {\n console.warn(\n `Could not determine column index of ${labelLink.linkColumnName}`,\n )\n labelContent = <>{value}</>\n } else {\n const href = rowData[linkIndex]\n\n if (isEmpty(href)) {\n labelContent = <>{value}</>\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n return (\n <Fragment key={el}>\n <SmartLink\n href={href ?? ''}\n target={linkTarget ?? TargetEnum.NEW_WINDOW}\n key={el}\n className={newClassName}\n style={style}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n const cardLink = labelLink as CardLink\n const elOrRowId = cardLink.overrideValueWithRowID ? rowId : el\n let href = ''\n if ('baseURL' in cardLink) {\n const {\n baseURL,\n URLColumnName,\n wrapValueWithParens,\n urlParamStyle = 'query-param',\n } = cardLink\n const value = wrapValueWithParens ? `(${elOrRowId})` : elOrRowId\n if (urlParamStyle === 'path-segment') {\n href = `/${baseURL}/${encodeURIComponent(String(value))}`\n } else {\n href = `/${baseURL}?${URLColumnName}=${value}`\n }\n } else if ('overrideLinkURLColumnName' in cardLink) {\n const overrideHrefIndex = getColumnIndex(\n cardLink.overrideLinkURLColumnName,\n selectColumns,\n columnModels,\n )\n if (overrideHrefIndex != null) {\n const overrideHrefData = rowData[overrideHrefIndex]\n if (overrideHrefData) {\n if (cardLink.overrideLinkURLColumnTransform) {\n href =\n cardLink.overrideLinkURLColumnTransform(overrideHrefData)\n } else {\n href = overrideHrefData\n }\n }\n }\n }\n\n return (\n <Fragment key={el}>\n <SmartLink\n href={href}\n key={el}\n className={newClassName}\n style={style}\n target={linkTarget ?? TargetEnum.CURRENT_WINDOW}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n\n if ('tooltipText' in labelLink && labelLink.tooltipText) {\n // wrap in a tooltip\n return (\n <Tooltip title={labelLink.tooltipText} enterNextDelay={300}>\n <span>{labelContent}</span>\n </Tooltip>\n )\n } else {\n return labelContent\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SynapseCardLabel.js","names":[],"sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { normalizeSynPrefix } from '@/utils/functions/EntityTypeUtils'\nimport { getColumnIndex } from '@/utils/functions/index'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { Tooltip } from '@mui/material'\nimport {\n ColumnModel,\n ColumnTypeEnum,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { CSSProperties, Fragment, ReactNode } from 'react'\nimport {\n ColumnIconConfigs,\n ColumnSpecifiedLink,\n MarkdownLink,\n} from '../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../CardContainerLogic/CardContainerLogic'\nimport { EntityLink } from '../EntityLink'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SmartLink } from '../SmartLink/SmartLink'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport { EntityColumnImage } from '../widgets/EntityColumnImage'\nimport { LabelMaybeWithIcon } from './LabelMaybeWithIcon'\nimport Linkify from './Linkify'\n\ntype SynapseCardLabelProps = {\n value: string\n columnName: string\n labelLink:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n | undefined\n selectColumns: SelectColumn[] | undefined\n columnModels: ColumnModel[] | undefined\n isHeader: boolean\n className?: string\n rowData: Row['values']\n rowId?: string\n columnIconOptions?: ColumnIconConfigs\n}\nexport function SynapseCardLabel(props: SynapseCardLabelProps) {\n const {\n value,\n columnName,\n labelLink,\n selectColumns,\n columnModels,\n isHeader,\n className,\n rowData,\n rowId,\n columnIconOptions,\n } = props\n\n if (!value) {\n return <p>{value}</p>\n }\n const { strList, str, selectColumn } = getValueOrMultiValue({\n columnName,\n value,\n selectColumns,\n columnModels,\n })\n\n const columnModelType = selectColumn?.columnType\n const iconConfig = columnIconOptions?.columns?.[columnName]\n // \\u00a0 is a nbsp;\n const separator = ',\\u00a0\\u00a0'\n\n if (!str) {\n // the array came back empty\n return <p>{str}</p>\n }\n\n let newClassName = className\n const style: CSSProperties = {}\n if (isHeader) {\n newClassName = className?.concat(' ', 'SRC-lightLink')\n }\n // PORTALS-1913: special rendering for user ID lists\n if (columnModelType === ColumnTypeEnum.USERID_LIST && strList) {\n return (\n <p>\n {strList.map((val: string, index: number) => {\n return (\n <Fragment key={val}>\n <UserBadge userId={val} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n if (columnModelType === ColumnTypeEnum.USERID && str) {\n return <UserBadge userId={str} className={newClassName} />\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID_LIST && strList) {\n return (\n <p>\n {strList.map((entityId: string, index: number) => {\n return (\n <Fragment key={entityId}>\n <EntityLink entity={entityId} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID && str && !labelLink) {\n return <EntityLink entity={str} className={newClassName} />\n }\n\n // NFINT-906\n if (columnModelType === ColumnTypeEnum.DATE && str) {\n return <p>{formatDate(dayjs(Number(str)))}</p>\n }\n\n if (!labelLink) {\n if (strList) {\n return (\n <>\n {strList.map((el, index) => (\n <Fragment key={el}>\n <LabelMaybeWithIcon value={el} iconConfig={iconConfig}>\n <Linkify text={el} className={newClassName} />\n </LabelMaybeWithIcon>\n {index < strList.length - 1 && separator}\n </Fragment>\n ))}\n </>\n )\n }\n return (\n <LabelMaybeWithIcon value={str} iconConfig={iconConfig}>\n <Linkify text={str} className={newClassName} />\n </LabelMaybeWithIcon>\n )\n }\n\n if ('resolveEntityName' in labelLink && labelLink.resolveEntityName && str) {\n return <EntityLink entity={str} showIcon={false} />\n }\n\n let labelContent: ReactNode\n\n if (\n 'isMapValueToReactNodeConfig' in labelLink &&\n labelLink.isMapValueToReactNodeConfig\n ) {\n const { Component } = labelLink\n labelContent = (\n <Component value={strList || str} selectColumn={selectColumn!} />\n )\n } else if ('isMarkdown' in labelLink && labelLink.isMarkdown) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <MarkdownSynapse key={el} renderInline={true} markdown={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <MarkdownSynapse renderInline={true} markdown={value} />\n }\n } else if ('isEntityImage' in labelLink && labelLink.isEntityImage) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <EntityColumnImage entityId={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <EntityColumnImage entityId={value} />\n }\n } else {\n const split = strList ? strList : str.split(',')\n let linkTarget: TargetEnum | undefined = undefined\n if ('target' in labelLink) {\n linkTarget = labelLink.target!\n }\n if ('linkColumnName' in labelLink) {\n const linkIndex = getColumnIndex(\n labelLink.linkColumnName,\n selectColumns,\n columnModels,\n )\n if (linkIndex == null) {\n console.warn(\n `Could not determine column index of ${labelLink.linkColumnName}`,\n )\n labelContent = <>{value}</>\n } else {\n const href = rowData[linkIndex]\n\n if (isEmpty(href)) {\n labelContent = <>{value}</>\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n return (\n <Fragment key={el}>\n <SmartLink\n href={href ?? ''}\n target={linkTarget ?? TargetEnum.NEW_WINDOW}\n key={el}\n className={newClassName}\n style={style}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n const cardLink = labelLink as CardLink\n const elOrRowId =\n cardLink.overrideValueWithRowID && rowId\n ? normalizeSynPrefix(rowId)\n : el\n let href = ''\n if ('baseURL' in cardLink) {\n const {\n baseURL,\n URLColumnName,\n wrapValueWithParens,\n urlParamStyle = 'query-param',\n } = cardLink\n const value = wrapValueWithParens ? `(${elOrRowId})` : elOrRowId\n if (urlParamStyle === 'path-segment') {\n href = `/${baseURL}/${encodeURIComponent(String(value))}`\n } else {\n href = `/${baseURL}?${URLColumnName}=${value}`\n }\n } else if ('overrideLinkURLColumnName' in cardLink) {\n const overrideHrefIndex = getColumnIndex(\n cardLink.overrideLinkURLColumnName,\n selectColumns,\n columnModels,\n )\n if (overrideHrefIndex != null) {\n const overrideHrefData = rowData[overrideHrefIndex]\n if (overrideHrefData) {\n if (cardLink.overrideLinkURLColumnTransform) {\n href =\n cardLink.overrideLinkURLColumnTransform(overrideHrefData)\n } else {\n href = overrideHrefData\n }\n }\n }\n }\n\n return (\n <Fragment key={el}>\n <SmartLink\n href={href}\n key={el}\n className={newClassName}\n style={style}\n target={linkTarget ?? TargetEnum.CURRENT_WINDOW}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n\n if ('tooltipText' in labelLink && labelLink.tooltipText) {\n // wrap in a tooltip\n return (\n <Tooltip title={labelLink.tooltipText} enterNextDelay={300}>\n <span>{labelContent}</span>\n </Tooltip>\n )\n } else {\n return labelContent\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchQueryUseQueryOptions.d.ts","sourceRoot":"","sources":["../../../src/components/SearchQueryWrapper/SearchQueryUseQueryOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,qBAAqB,EACrB,WAAW,EAEX,uBAAuB,EAIvB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EAIP,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAGV,gBAAgB,EAChB,kBAAkB,EAElB,kBAAkB,EAEnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAI9B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"SearchQueryUseQueryOptions.d.ts","sourceRoot":"","sources":["../../../src/components/SearchQueryWrapper/SearchQueryUseQueryOptions.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,qBAAqB,EACrB,WAAW,EAEX,uBAAuB,EAIvB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,EAIP,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAGV,gBAAgB,EAChB,kBAAkB,EAElB,kBAAkB,EAEnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAI9B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAUzD,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,yBAAyB,GACzB,0BAA0B,GAC1B,qBAAqB,GACrB,eAAe,GACf,eAAe,CAAA;AAEnB,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAkJD;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,mBAAmB,EAAE,uBAAuB,CAC1C,qBAAqB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAC1D,kBAAkB,EAClB,MAAM,GAAG,SAAS,CACnB,CAAA;IACD,2BAA2B,EAAE,uBAAuB,CAClD,qBAAqB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAC1D,kBAAkB,EAClB,YAAY,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,EACxE,QAAQ,EACR,MAAM,GAAG,MAAM,GAAG,SAAS,CAC5B,CAAA;IACD,yBAAyB,EAAE,uBAAuB,CAChD,qBAAqB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAC1D,kBAAkB,EAClB,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CACvC,CAAA;CACF,CAAA;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EACpE,QAAQ,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,GACrE,MAAM,GAAG,MAAM,GAAG,SAAS,CAyB7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,WAAW,EAAE,EAC5B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,gBAAgB,CAkKlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,KAAK,EAAE,gBAAgB,EACvB,YAAY,CAAC,EAAE,WAAW,EAAE,EAC5B,cAAc,CAAC,EAAE,CAAC,wBAAwB,GAAG,uBAAuB,CAAC,EAAE,GACtE,iBAAiB,CAwKnB;AAED,wBAAgB,6BAA6B,CAC3C,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,WAAW,EAAE,EAC5B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,+BAA+B,CAgJjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,MAAM,GAAG,SAAS,GACxC,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAoC3C;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,+BAA+B,CA2BjC"}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
|
+
import "../../utils/SynapseConstants.js";
|
|
1
2
|
import { getSearchQueryAsyncJobResults as e } from "../../synapse-client/SynapseClient.js";
|
|
2
|
-
import {
|
|
3
|
-
import n from "../../
|
|
4
|
-
import
|
|
3
|
+
import { SYNAPSE_ENTITY_ID_TOKEN_REGEX as t } from "../../utils/functions/RegularExpressions.js";
|
|
4
|
+
import { useSynapseContext as n } from "../../utils/context/SynapseContext.js";
|
|
5
|
+
import r from "../../synapse-queries/entity/useEntityBundle.js";
|
|
6
|
+
import { tableQueryUseQueryDefaults as i } from "../../synapse-queries/entity/useGetQueryResultBundle.js";
|
|
5
7
|
import "../../synapse-queries/index.js";
|
|
6
|
-
import { useCallback as
|
|
7
|
-
import { omit as
|
|
8
|
-
import { FACET_COLUMN_RANGE_REQUEST_CONCRETE_TYPE_VALUE as
|
|
9
|
-
import
|
|
8
|
+
import { useCallback as a, useMemo as o } from "react";
|
|
9
|
+
import { omit as s } from "lodash-es";
|
|
10
|
+
import { FACET_COLUMN_RANGE_REQUEST_CONCRETE_TYPE_VALUE as c, FACET_COLUMN_VALUES_REQUEST_CONCRETE_TYPE_VALUE as l, TEXT_MATCHES_QUERY_FILTER_CONCRETE_TYPE_VALUE as u } from "@sage-bionetworks/synapse-types";
|
|
11
|
+
import d from "dayjs";
|
|
10
12
|
//#region src/components/SearchQueryWrapper/SearchQueryUseQueryOptions.ts
|
|
11
|
-
function
|
|
13
|
+
function f(e) {
|
|
12
14
|
if (e) return Object.entries(e).map(([e, t]) => t === 1 ? e : `${e}^${t}`);
|
|
13
15
|
}
|
|
14
|
-
function
|
|
16
|
+
function p(e) {
|
|
15
17
|
return /"[^"]+"/u.test(e);
|
|
16
18
|
}
|
|
17
|
-
function
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
function m(e) {
|
|
20
|
+
return t.test(e);
|
|
21
|
+
}
|
|
22
|
+
function h(e, t = {}) {
|
|
23
|
+
let { queryStrategy: n = "MULTI_MATCH", fieldBoosts: r, fuzziness: i } = t, a = f(r);
|
|
24
|
+
if (p(e) || m(e)) return { simple_query_string: {
|
|
20
25
|
query: e,
|
|
21
26
|
...a ? { fields: a } : {}
|
|
22
27
|
} };
|
|
@@ -53,23 +58,27 @@ function p(e, t = {}) {
|
|
|
53
58
|
} };
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
|
-
function
|
|
61
|
+
function g(e, t) {
|
|
57
62
|
let n = e.responseBody?.queryResult?.queryResults.rows?.length ?? 0, r = e.requestBody?.searchQuery?.size, i = e.responseBody?.queryCount, a = t.reduce((e, t) => e + (t.responseBody?.queryResult?.queryResults.rows?.length ?? 0), 0);
|
|
58
63
|
if (n !== 0 && !(r != null && n < r) && !(i != null && a >= i)) return a;
|
|
59
64
|
}
|
|
60
|
-
function
|
|
65
|
+
function _(e, t, n, r) {
|
|
61
66
|
let i = [];
|
|
62
|
-
e.query.selectedFacets?.filter((e) => e.concreteType ===
|
|
67
|
+
e.query.selectedFacets?.filter((e) => e.concreteType === l).forEach((e) => {
|
|
63
68
|
i.push({ terms: { [e.columnName]: e.facetValues ?? [] } });
|
|
64
|
-
}), e.query.selectedFacets?.filter((e) => e.concreteType ===
|
|
65
|
-
|
|
69
|
+
}), e.query.selectedFacets?.filter((e) => e.concreteType === c).forEach((e) => {
|
|
70
|
+
if (e.min === "org.sagebionetworks.UNDEFINED_NULL_NOTSET" && e.max === "org.sagebionetworks.UNDEFINED_NULL_NOTSET") {
|
|
71
|
+
i.push({ bool: { must_not: [{ exists: { field: e.columnName } }] } });
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
let t = n?.find((t) => t.name === e.columnName)?.columnType, r = (e) => !e || t !== "DATE" ? e : /^\d{4}-\d{2}-\d{2}$/.test(e) ? String(d(e).valueOf()) : e, a = {}, o = r(e.min), s = r(e.max);
|
|
66
75
|
o !== void 0 && (a.gte = o), s !== void 0 && (a.lte = s), i.push({ range: { [e.columnName]: a } });
|
|
67
76
|
});
|
|
68
|
-
let a = e.query.additionalFilters?.filter((e) => e.concreteType ===
|
|
69
|
-
|
|
77
|
+
let a = e.query.additionalFilters?.filter((e) => e.concreteType === u).map((e) => e.searchExpression).filter((e) => e != null && e.length > 0), o = a && a.length > 0 ? a.join(" ") : void 0, s;
|
|
78
|
+
s = o ? h(o, r) : { match_all: {} };
|
|
70
79
|
let f;
|
|
71
80
|
i.length === 1 ? f = i[0] : i.length > 1 && (f = { bool: { must: i } });
|
|
72
|
-
let
|
|
81
|
+
let p = n?.filter((e) => e.facetType === "enumeration").map((e) => {
|
|
73
82
|
let t = {
|
|
74
83
|
field: e.name,
|
|
75
84
|
size: 100
|
|
@@ -79,26 +88,26 @@ function h(e, t, n, r) {
|
|
|
79
88
|
t.order = { [n]: r };
|
|
80
89
|
}
|
|
81
90
|
if (i.length === 0) return [e.name, { terms: t }];
|
|
82
|
-
let n = i.filter((t) => "terms" in t ? !(e.name in t.terms) : "range" in t ? !(e.name in t.range) : !0), r = n.length === 0 ? { match_all: {} } : n.length === 1 ? n[0] : { bool: { must: n } };
|
|
91
|
+
let n = i.filter((t) => "terms" in t ? !(e.name in t.terms) : "range" in t ? !(e.name in t.range) : "bool" in t ? t.bool.must_not[0]?.exists?.field !== e.name : !0), r = n.length === 0 ? { match_all: {} } : n.length === 1 ? n[0] : { bool: { must: n } };
|
|
83
92
|
return [e.name, {
|
|
84
93
|
filter: r,
|
|
85
94
|
aggregations: { [e.name]: { terms: t } }
|
|
86
95
|
}];
|
|
87
|
-
}),
|
|
96
|
+
}), m = p && p.length > 0 ? Object.fromEntries(p) : void 0, g = e.query.sort?.filter((e) => e.direction === "ASC" || e.direction === "DESC").map((e) => ({ [e.column]: e.direction.toLowerCase() }));
|
|
88
97
|
return {
|
|
89
98
|
concreteType: "org.sagebionetworks.repo.model.search.table.SearchIndexQuery",
|
|
90
99
|
searchIndexId: t,
|
|
91
100
|
searchQuery: {
|
|
92
|
-
query:
|
|
101
|
+
query: s,
|
|
93
102
|
post_filter: f || void 0,
|
|
94
|
-
aggregations:
|
|
103
|
+
aggregations: m,
|
|
95
104
|
sort: g?.length ? g : void 0,
|
|
96
105
|
size: e.query.limit,
|
|
97
106
|
from: e.query.offset
|
|
98
107
|
}
|
|
99
108
|
};
|
|
100
109
|
}
|
|
101
|
-
function
|
|
110
|
+
function v(e, t, n, r) {
|
|
102
111
|
if (!e) return { concreteType: "org.sagebionetworks.repo.model.table.QueryResultBundle" };
|
|
103
112
|
let i = e.selectColumns?.map((e) => e.name).filter((e) => !!e) ?? [], a = i.map((e) => ({
|
|
104
113
|
name: e,
|
|
@@ -107,7 +116,7 @@ function g(e, t, n, r) {
|
|
|
107
116
|
rowId: e.rowId,
|
|
108
117
|
versionNumber: e.rowVersion,
|
|
109
118
|
values: i.map((t) => e.fields?.find((e) => e.name === t)?.value ?? null)
|
|
110
|
-
})),
|
|
119
|
+
})), s = a.length > 0 || o.length > 0 ? {
|
|
111
120
|
concreteType: "org.sagebionetworks.repo.model.table.QueryResult",
|
|
112
121
|
queryResults: {
|
|
113
122
|
concreteType: "org.sagebionetworks.repo.model.table.RowSet",
|
|
@@ -117,7 +126,7 @@ function g(e, t, n, r) {
|
|
|
117
126
|
rows: o
|
|
118
127
|
}
|
|
119
128
|
} : void 0, u = e.aggregationResults, d = Object.entries(u ?? {}).map(([e, t]) => {
|
|
120
|
-
let n = t, i = Object.keys(n).find((t) => t.endsWith(`#${e}`)), a = (i === void 0 ? void 0 : n[i]) ?? n[e], o = a?.buckets === void 0 ? t : a, s = r?.filter((t) => t.concreteType ===
|
|
129
|
+
let n = t, i = Object.keys(n).find((t) => t.endsWith(`#${e}`)), a = (i === void 0 ? void 0 : n[i]) ?? n[e], o = a?.buckets === void 0 ? t : a, s = r?.filter((t) => t.concreteType === l && t.columnName === e).flatMap((e) => e.facetValues ?? []) ?? [];
|
|
121
130
|
return {
|
|
122
131
|
concreteType: "org.sagebionetworks.repo.model.table.FacetColumnResultValues",
|
|
123
132
|
facetType: "enumeration",
|
|
@@ -129,7 +138,7 @@ function g(e, t, n, r) {
|
|
|
129
138
|
}))
|
|
130
139
|
};
|
|
131
140
|
}), f = (n ?? []).filter((e) => e.facetType === "range" && (e.columnType === "DATE" || e.columnType === "DOUBLE" || e.columnType === "INTEGER") && !d.some((t) => t.columnName === e.name)).map((e) => {
|
|
132
|
-
let t = r?.find((t) => t.concreteType ===
|
|
141
|
+
let t = r?.find((t) => t.concreteType === c && t.columnName === e.name);
|
|
133
142
|
return {
|
|
134
143
|
concreteType: "org.sagebionetworks.repo.model.table.FacetColumnResultRange",
|
|
135
144
|
facetType: "range",
|
|
@@ -144,13 +153,13 @@ function g(e, t, n, r) {
|
|
|
144
153
|
concreteType: "org.sagebionetworks.repo.model.table.QueryResultBundle",
|
|
145
154
|
queryCount: e.totalHits,
|
|
146
155
|
selectColumns: a,
|
|
147
|
-
queryResult:
|
|
156
|
+
queryResult: s,
|
|
148
157
|
facets: m,
|
|
149
158
|
...h !== void 0 && { maxScore: h }
|
|
150
159
|
};
|
|
151
160
|
}
|
|
152
|
-
function
|
|
153
|
-
let l =
|
|
161
|
+
function y(t, n, r, a, o, c) {
|
|
162
|
+
let l = _(t, a, o, c), u = {
|
|
154
163
|
...l,
|
|
155
164
|
searchQuery: {
|
|
156
165
|
...l.searchQuery,
|
|
@@ -172,24 +181,24 @@ function _(t, n, i, a, s, c) {
|
|
|
172
181
|
...e,
|
|
173
182
|
responseParts: e.responseParts ? [...e.responseParts].sort() : void 0
|
|
174
183
|
}), p = async (n) => {
|
|
175
|
-
let
|
|
184
|
+
let i = await e(n, r);
|
|
176
185
|
return {
|
|
177
|
-
...
|
|
178
|
-
responseBody:
|
|
186
|
+
...i,
|
|
187
|
+
responseBody: v(i.responseBody, n, o, t.query.selectedFacets)
|
|
179
188
|
};
|
|
180
189
|
};
|
|
181
190
|
return {
|
|
182
191
|
rowDataQueryOptions: {
|
|
183
|
-
...
|
|
192
|
+
...i,
|
|
184
193
|
queryKey: n.getSearchQueryResultWithAsyncStatusQueryKey(f(u), !1),
|
|
185
194
|
queryFn: () => p(u),
|
|
186
195
|
select: (e) => e.responseBody?.queryResult?.queryResults
|
|
187
196
|
},
|
|
188
197
|
rowDataInfiniteQueryOptions: {
|
|
189
|
-
...
|
|
198
|
+
...i,
|
|
190
199
|
queryKey: n.getSearchQueryResultWithAsyncStatusQueryKey(f(u), !0),
|
|
191
200
|
initialPageParam: 0,
|
|
192
|
-
getNextPageParam: (e, t) =>
|
|
201
|
+
getNextPageParam: (e, t) => g(e, t),
|
|
193
202
|
queryFn: (e) => {
|
|
194
203
|
let t = typeof e.pageParam == "string" ? parseInt(e.pageParam) : e.pageParam ?? 0;
|
|
195
204
|
return p({
|
|
@@ -203,30 +212,30 @@ function _(t, n, i, a, s, c) {
|
|
|
203
212
|
select: (e) => e
|
|
204
213
|
},
|
|
205
214
|
queryMetadataQueryOptions: {
|
|
206
|
-
...
|
|
215
|
+
...i,
|
|
207
216
|
queryKey: n.getSearchQueryResultWithAsyncStatusQueryKey(f(d), !1),
|
|
208
217
|
queryFn: () => p(d),
|
|
209
218
|
select: (e) => {
|
|
210
|
-
let t =
|
|
211
|
-
return
|
|
219
|
+
let t = s(e.responseBody ?? {}, "queryResult");
|
|
220
|
+
return o ? {
|
|
212
221
|
...t,
|
|
213
|
-
columnModels:
|
|
222
|
+
columnModels: o
|
|
214
223
|
} : t;
|
|
215
224
|
}
|
|
216
225
|
}
|
|
217
226
|
};
|
|
218
227
|
}
|
|
219
|
-
function
|
|
220
|
-
let { synapseClient: r } =
|
|
221
|
-
return
|
|
222
|
-
if (!
|
|
223
|
-
let i =
|
|
228
|
+
function b(e, t) {
|
|
229
|
+
let { synapseClient: r } = n();
|
|
230
|
+
return a(async (n) => {
|
|
231
|
+
if (!t) return [];
|
|
232
|
+
let i = n.trim();
|
|
224
233
|
if (!i) return [];
|
|
225
234
|
let a = await r.searchManagementServicesClient.postRepoV1SearchAutocomplete({ searchAutocompleteRequest: {
|
|
226
235
|
searchIndexId: e,
|
|
227
236
|
searchQuery: {
|
|
228
|
-
query: { match_bool_prefix: { [
|
|
229
|
-
_source: { includes: [
|
|
237
|
+
query: { match_bool_prefix: { [t]: { query: i } } },
|
|
238
|
+
_source: { includes: [t] }
|
|
230
239
|
}
|
|
231
240
|
} }), o = [];
|
|
232
241
|
for (let e of a.hits ?? []) for (let t of e.fields ?? []) t.value && o.push(t.value);
|
|
@@ -234,21 +243,21 @@ function v(e, n) {
|
|
|
234
243
|
}, [
|
|
235
244
|
r,
|
|
236
245
|
e,
|
|
237
|
-
|
|
246
|
+
t
|
|
238
247
|
]);
|
|
239
248
|
}
|
|
240
|
-
function
|
|
241
|
-
let { keyFactory: s, accessToken: c } =
|
|
242
|
-
return
|
|
249
|
+
function x(e, t, i, a) {
|
|
250
|
+
let { keyFactory: s, accessToken: c } = n(), { data: l } = r(i, void 0, { includeTableBundle: !0 }), u = l?.tableBundle?.columnModels;
|
|
251
|
+
return o(() => y(e, s, c, t, u, a), [
|
|
243
252
|
s,
|
|
244
253
|
c,
|
|
245
254
|
e,
|
|
246
|
-
|
|
255
|
+
t,
|
|
247
256
|
u,
|
|
248
|
-
|
|
257
|
+
a
|
|
249
258
|
]);
|
|
250
259
|
}
|
|
251
260
|
//#endregion
|
|
252
|
-
export {
|
|
261
|
+
export { g as getNextPageParamForSearchQueryResults, y as getSearchQueryUseQueryOptions, v as searchQueryResultsToQueryResultBundle, _ as toSearchIndexQuery, b as useGetSuggestionsForSearchIndex, x as useSearchQueryUseQueryOptions };
|
|
253
262
|
|
|
254
263
|
//# sourceMappingURL=SearchQueryUseQueryOptions.js.map
|