synapse-react-client 4.0.43 → 4.0.45
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.d.ts +1 -1
- package/dist/SWC.index.js +2 -2
- package/dist/SWC.index.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts +2 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +126 -125
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +28 -16
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js +99 -97
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts +1 -4
- package/dist/components/AccessRequirementList/RequestDataStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/RequestDataStep.js +15 -18
- package/dist/components/AccessRequirementList/RequestDataStep.js.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.d.ts.map +1 -1
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +52 -49
- package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts +29 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.js +48 -16
- package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
- package/dist/components/DataGrid/components/GridLoadingState.d.ts +2 -2
- package/dist/components/DataGrid/components/GridLoadingState.d.ts.map +1 -1
- package/dist/components/DataGrid/components/GridLoadingState.js +2 -2
- package/dist/components/DataGrid/components/GridLoadingState.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +2 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +11 -10
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -1
- package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -1
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts +9 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.d.ts.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js +45 -0
- package/dist/components/FormTemplateReferenceField/FormTemplatePreviewDialog.js.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts +22 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.d.ts.map +1 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js +139 -0
- package/dist/components/FormTemplateReferenceField/FormTemplateReferenceField.js.map +1 -0
- package/dist/components/Forum/ForumTable.d.ts +17 -5
- package/dist/components/Forum/ForumTable.d.ts.map +1 -1
- package/dist/components/Forum/ForumTable.js +94 -77
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.d.ts.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +142 -108
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.d.ts.map +1 -1
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js +15 -15
- package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.d.ts +10 -0
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.d.ts.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.js +81 -0
- package/dist/components/SetManagedAccessRequirementFields/DataUseCertificateFields.js.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.d.ts +9 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.d.ts.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.js +32 -0
- package/dist/components/SetManagedAccessRequirementFields/ExpirationPeriodField.js.map +1 -0
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts +0 -2
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.d.ts.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js +79 -154
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.d.ts.map +1 -1
- package/dist/components/TanStackTable/TanStackTableUtils.js +8 -5
- package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.d.ts +5 -0
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.d.ts.map +1 -0
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.js +20 -0
- package/dist/components/dataaccess/SubmissionPage/DataAccessSubmissionFileHandleLink.js.map +1 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +183 -188
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.d.ts +25 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.d.ts.map +1 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.js +125 -0
- package/dist/components/dataaccess/SubmissionPage/SubmissionSchemaAnswers.js.map +1 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +4 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts +5 -0
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.d.ts.map +1 -1
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js +37 -26
- package/dist/mocks/accessRequirement/mockJsonSchemaAccessRequirements.js.map +1 -1
- package/dist/mocks/dataaccess/MockSubmission.d.ts +76 -0
- package/dist/mocks/dataaccess/MockSubmission.d.ts.map +1 -1
- package/dist/mocks/dataaccess/MockSubmission.js +108 -63
- package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js +40 -33
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/style/components/_submission-page.scss +0 -4
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/SynapseClient.d.ts +10 -0
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +486 -482
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-client/index.js +3 -3
- package/dist/synapse-queries/KeyFactory.d.ts +13 -1
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +11 -1
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/dataaccess/index.js +4 -4
- package/dist/synapse-queries/dataaccess/useAccessRequirements.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js +4 -1
- package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts +19 -5
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +29 -21
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts +12 -0
- package/dist/synapse-queries/dataaccess/useFormTemplate.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useFormTemplate.js +52 -30
- package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.d.ts +37 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.d.ts.map +1 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.js +35 -0
- package/dist/synapse-queries/dataaccess/useGeneratedSubmissionForm.js.map +1 -0
- package/dist/synapse-queries/forum/useForum.d.ts +5 -1
- package/dist/synapse-queries/forum/useForum.d.ts.map +1 -1
- package/dist/synapse-queries/forum/useForum.js +23 -1
- package/dist/synapse-queries/forum/useForum.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/index.js +185 -184
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +5 -3
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -1
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +12 -15
- package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.d.ts.map +1 -1
- package/dist/synapse-queries/termsOfService/useTermsOfService.js +21 -19
- package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.d.ts +2 -2
- package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js +135 -135
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/getEndpoint.d.ts +1 -0
- package/dist/utils/functions/getEndpoint.d.ts.map +1 -1
- package/dist/utils/functions/getEndpoint.js +3 -3
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/types/RequestableAccessRequirement.d.ts +8 -0
- package/dist/utils/types/RequestableAccessRequirement.d.ts.map +1 -0
- package/dist/utils/types/RequestableAccessRequirement.js +9 -0
- package/dist/utils/types/RequestableAccessRequirement.js.map +1 -0
- package/package.json +3 -3
- package/dist/testutils/ReactQueryMockUtils.js +0 -676
- package/dist/testutils/ReactQueryMockUtils.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useGetFormTemplateVersion as e } from "./useFormTemplate.js";
|
|
2
|
+
import { useGetRegisteredSchema as t } from "../jsonschema/useSchema.js";
|
|
3
|
+
import { generateDataAccessSchema as n } from "../../utils/jsonschema/generateDataAccessSchema.js";
|
|
4
|
+
import { useMemo as r } from "react";
|
|
5
|
+
import { DataAccessRequestType as i } from "@sage-bionetworks/synapse-client";
|
|
6
|
+
//#region src/synapse-queries/dataaccess/useGeneratedSubmissionForm.ts
|
|
7
|
+
var a = class extends Error {
|
|
8
|
+
constructor() {
|
|
9
|
+
super("The form template used for this submission could not be determined.");
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
function o(e) {
|
|
13
|
+
return e?.formTemplateRef;
|
|
14
|
+
}
|
|
15
|
+
function s(s) {
|
|
16
|
+
let c = s?.schemaData != null, l = o(s), u = e(c ? l?.templateId : void 0, l?.templateVersionNumber), d = u.data?.schema$id, f = t(d ?? "", { enabled: !!d }), p = u.data, m = f.data, h = s?.isRenewalSubmission ?? !1, g = r(() => {
|
|
17
|
+
if (!(!p || !m)) return {
|
|
18
|
+
...n(p, m, h ? i.RENEWAL : i.REQUEST),
|
|
19
|
+
schema: m
|
|
20
|
+
};
|
|
21
|
+
}, [
|
|
22
|
+
p,
|
|
23
|
+
m,
|
|
24
|
+
h
|
|
25
|
+
]), _ = c && !l;
|
|
26
|
+
return {
|
|
27
|
+
form: g,
|
|
28
|
+
isLoading: c && !_ && (u.isLoading || f.isLoading),
|
|
29
|
+
error: _ ? new a() : u.error ?? f.error ?? void 0
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { a as MissingFormTemplateRefError, o as getSubmissionFormTemplateRef, s as useGeneratedSubmissionForm };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=useGeneratedSubmissionForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGeneratedSubmissionForm.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useGeneratedSubmissionForm.ts"],"sourcesContent":["import { useGetFormTemplateVersion } from '@/synapse-queries/dataaccess/useFormTemplate'\nimport { useGetRegisteredSchema } from '@/synapse-queries/jsonschema/useSchema'\nimport {\n GeneratedFormSchemaForRjsf,\n generateDataAccessSchema,\n} from '@/utils/jsonschema/generateDataAccessSchema'\nimport { RJSFSchema } from '@rjsf/utils'\nimport {\n DataAccessRequestType,\n FormTemplateReference,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport { Submission } from '@sage-bionetworks/synapse-types'\nimport { useMemo } from 'react'\n\n/**\n * A Submission that carries the FormTemplate it was made against.\n *\n * PLFM-10009 will expose this reference; until then it is read from this field, which only mock\n * data populates.\n */\nexport type SubmissionWithFormTemplateRef = Submission & {\n formTemplateRef?: FormTemplateReference\n}\n\nexport class MissingFormTemplateRefError extends Error {\n constructor() {\n super('The form template used for this submission could not be determined.')\n }\n}\n\n/**\n * The FormTemplate version in effect when the submission was created, as opposed to the one its\n * Access Requirement currently references.\n */\nexport function getSubmissionFormTemplateRef(\n submission: Submission | undefined,\n): FormTemplateReference | undefined {\n return (submission as SubmissionWithFormTemplateRef | undefined)\n ?.formTemplateRef\n}\n\nexport type GeneratedSubmissionForm = GeneratedFormSchemaForRjsf & {\n /** The template's registered JSON Schema, used to label answers outside the generated steps. */\n schema: RJSFSchema\n}\n\nexport type GeneratedSubmissionFormResult = {\n form: GeneratedSubmissionForm | undefined\n isLoading: boolean\n error: SynapseClientError | MissingFormTemplateRefError | undefined\n}\n\n/**\n * Generate the read-only form for a submission's `schemaData` from the FormTemplate version the\n * submission was made against. Idle when the submission has no `schemaData`.\n */\nexport function useGeneratedSubmissionForm(\n submission: Submission | undefined,\n): GeneratedSubmissionFormResult {\n const hasSchemaData = submission?.schemaData != null\n const templateRef = getSubmissionFormTemplateRef(submission)\n\n const templateQuery = useGetFormTemplateVersion(\n hasSchemaData ? templateRef?.templateId : undefined,\n templateRef?.templateVersionNumber,\n )\n const schemaId = templateQuery.data?.schema$id\n const schemaQuery = useGetRegisteredSchema(schemaId ?? '', {\n enabled: !!schemaId,\n })\n\n const template = templateQuery.data\n const schema = schemaQuery.data as RJSFSchema | undefined\n const isRenewalSubmission = submission?.isRenewalSubmission ?? false\n\n const form = useMemo<GeneratedSubmissionForm | undefined>(() => {\n if (!template || !schema) return undefined\n const requestType = isRenewalSubmission\n ? DataAccessRequestType.RENEWAL\n : DataAccessRequestType.REQUEST\n return {\n ...generateDataAccessSchema(template, schema, requestType),\n schema,\n }\n }, [template, schema, isRenewalSubmission])\n\n const missingTemplateRef = hasSchemaData && !templateRef\n return {\n form,\n isLoading:\n hasSchemaData &&\n !missingTemplateRef &&\n (templateQuery.isLoading || schemaQuery.isLoading),\n error: missingTemplateRef\n ? new MissingFormTemplateRefError()\n : (templateQuery.error ?? schemaQuery.error ?? undefined),\n }\n}\n"],"mappings":";;;;;;AAyBA,IAAa,IAAb,cAAiD,MAAM;CACrD,cAAc;EACZ,MAAM,qEAAqE;CAC7E;AACF;AAMA,SAAgB,EACd,GACmC;CACnC,OAAQ,GACJ;AACN;AAiBA,SAAgB,EACd,GAC+B;CAC/B,IAAM,IAAgB,GAAY,cAAc,MAC1C,IAAc,EAA6B,CAAU,GAErD,IAAgB,EACpB,IAAgB,GAAa,aAAa,KAAA,GAC1C,GAAa,qBACf,GACM,IAAW,EAAc,MAAM,WAC/B,IAAc,EAAuB,KAAY,IAAI,EACzD,SAAS,CAAC,CAAC,EACb,CAAC,GAEK,IAAW,EAAc,MACzB,IAAS,EAAY,MACrB,IAAsB,GAAY,uBAAuB,IAEzD,IAAO,QAAmD;EAC1D,OAAC,KAAY,CAAC,IAIlB,OAAO;GACL,GAAG,EAAyB,GAAU,GAJpB,IAChB,EAAsB,UACtB,EAAsB,OAEiC;GACzD;EACF;CACF,GAAG;EAAC;EAAU;EAAQ;CAAmB,CAAC,GAEpC,IAAqB,KAAiB,CAAC;CAC7C,OAAO;EACL;EACA,WACE,KACA,CAAC,MACA,EAAc,aAAa,EAAY;EAC1C,OAAO,IACH,IAAI,EAA4B,IAC/B,EAAc,SAAS,EAAY,SAAS,KAAA;CACnD;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DiscussionSearchRequest, DiscussionSearchResponse } from '@sage-bionetworks/synapse-client';
|
|
1
|
+
import { DiscussionSearchRequest, DiscussionSearchResponse, DiscussionThreadBundle as DiscussionThreadBundleGenerated, DiscussionThreadOrder as DiscussionThreadOrderGenerated } from '@sage-bionetworks/synapse-client';
|
|
2
2
|
import { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError';
|
|
3
3
|
import { DiscussionFilter, DiscussionThreadBundle, DiscussionThreadOrder, Forum, PaginatedResults } from '@sage-bionetworks/synapse-types';
|
|
4
4
|
import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseQueryOptions } from '@tanstack/react-query';
|
|
@@ -6,4 +6,8 @@ export declare function useGetModerators(forumId: string, options?: Partial<UseQ
|
|
|
6
6
|
export declare function useGetForumMetadata(forumId: string, options?: Partial<UseQueryOptions<Forum, SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<Forum, SynapseClientError>;
|
|
7
7
|
export declare function useGetForumThreadsInfinite<TData = InfiniteData<PaginatedResults<DiscussionThreadBundle>>>(forumId: string, limit: number, sort: DiscussionThreadOrder, ascending: boolean, filter?: DiscussionFilter, options?: Partial<UseInfiniteQueryOptions<PaginatedResults<DiscussionThreadBundle>, SynapseClientError, TData, QueryKey, number | undefined>>): import("@tanstack/react-query").UseInfiniteQueryResult<TData, SynapseClientError>;
|
|
8
8
|
export declare function useSearchForumInfinite<TData = InfiniteData<DiscussionSearchResponse>>(forumId: string, discussionSearchRequest: Omit<DiscussionSearchRequest, 'nextPageToken'>, options?: Partial<UseInfiniteQueryOptions<DiscussionSearchResponse, SynapseClientError, TData, QueryKey, DiscussionSearchRequest['nextPageToken']>>): import("@tanstack/react-query").UseInfiniteQueryResult<TData, SynapseClientError>;
|
|
9
|
+
/**
|
|
10
|
+
* Get the discussion threads that reference an entity, across all projects.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useGetEntityThreadsInfinite<TData = InfiniteData<PaginatedResults<DiscussionThreadBundleGenerated>>>(entityId: string, limit: number, sort: DiscussionThreadOrderGenerated, ascending: boolean, options?: Partial<UseInfiniteQueryOptions<PaginatedResults<DiscussionThreadBundleGenerated>, SynapseClientError, TData, QueryKey, number | undefined>>): import("@tanstack/react-query").UseInfiniteQueryResult<TData, SynapseClientError>;
|
|
9
13
|
//# sourceMappingURL=useForum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForum.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/forum/useForum.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"useForum.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/forum/useForum.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,IAAI,+BAA+B,EACzD,qBAAqB,IAAI,8BAA8B,EACxD,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,EACL,gBAAgB,EACjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,QAAQ,EAER,uBAAuB,EAEvB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAG9B,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,gFAQjE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,6EAQ9D;AAED,wBAAgB,0BAA0B,CACxC,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,EAE9D,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,qBAAqB,EAC3B,SAAS,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,gBAAgB,CAAC,sBAAsB,CAAC,EACxC,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,MAAM,GAAG,SAAS,CACnB,CACF,qFAgCF;AAED,wBAAgB,sBAAsB,CACpC,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,EAE9C,OAAO,EAAE,MAAM,EACf,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,EACvE,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,uBAAuB,CAAC,eAAe,CAAC,CACzC,CACF,qFA0BF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC,EAEvE,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,8BAA8B,EACpC,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,gBAAgB,CAAC,+BAA+B,CAAC,EACjD,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,MAAM,GAAG,SAAS,CACnB,CACF,qFA+BF"}
|
|
@@ -46,7 +46,29 @@ function c(e, n, i) {
|
|
|
46
46
|
getNextPageParam: (e) => e.nextPageToken
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
+
function l(e, i, a, o, s) {
|
|
50
|
+
let { synapseClient: c, keyFactory: l } = t();
|
|
51
|
+
return r({
|
|
52
|
+
...s,
|
|
53
|
+
queryKey: l.getEntityThreadsQueryKey(e, i, a, o),
|
|
54
|
+
queryFn: async (t) => {
|
|
55
|
+
let n = await c.discussionServicesClient.getRepoV1EntityIdThreads({
|
|
56
|
+
id: e,
|
|
57
|
+
offset: t.pageParam ?? 0,
|
|
58
|
+
limit: i,
|
|
59
|
+
sort: a,
|
|
60
|
+
ascending: o
|
|
61
|
+
});
|
|
62
|
+
return {
|
|
63
|
+
...n,
|
|
64
|
+
results: n.results ?? []
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
initialPageParam: void 0,
|
|
68
|
+
getNextPageParam: n
|
|
69
|
+
});
|
|
70
|
+
}
|
|
49
71
|
//#endregion
|
|
50
|
-
export { o as useGetForumMetadata, s as useGetForumThreadsInfinite, a as useGetModerators, c as useSearchForumInfinite };
|
|
72
|
+
export { l as useGetEntityThreadsInfinite, o as useGetForumMetadata, s as useGetForumThreadsInfinite, a as useGetModerators, c as useSearchForumInfinite };
|
|
51
73
|
|
|
52
74
|
//# sourceMappingURL=useForum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForum.js","names":[],"sources":["../../../src/synapse-queries/forum/useForum.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils'\nimport {\n DiscussionSearchRequest,\n DiscussionSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n DiscussionFilter,\n DiscussionThreadBundle,\n DiscussionThreadOrder,\n Forum,\n PaginatedResults,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { getNextPageParamForPaginatedResults } from '../InfiniteQueryUtils'\n\nexport function useGetModerators(\n forumId: string,\n options?: Partial<UseQueryOptions<string[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getForumModeratorsQueryKey(forumId),\n queryFn: () => SynapseClient.getAllModerators(accessToken, forumId),\n })\n}\n\nexport function useGetForumMetadata(\n forumId: string,\n options?: Partial<UseQueryOptions<Forum, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getForumMetadataQueryKey(forumId),\n queryFn: () => SynapseClient.getForumMetadata(accessToken, forumId),\n })\n}\n\nexport function useGetForumThreadsInfinite<\n TData = InfiniteData<PaginatedResults<DiscussionThreadBundle>>,\n>(\n forumId: string,\n limit: number,\n sort: DiscussionThreadOrder,\n ascending: boolean,\n filter?: DiscussionFilter,\n options?: Partial<\n UseInfiniteQueryOptions<\n PaginatedResults<DiscussionThreadBundle>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n PaginatedResults<DiscussionThreadBundle>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >({\n ...options,\n queryKey: keyFactory.getForumThreadsQueryKey(\n forumId,\n limit,\n sort,\n ascending,\n filter,\n ),\n queryFn: async context => {\n return SynapseClient.getForumThreads(\n accessToken,\n forumId,\n context.pageParam,\n limit,\n sort,\n ascending,\n filter,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: getNextPageParamForPaginatedResults,\n })\n}\n\nexport function useSearchForumInfinite<\n TData = InfiniteData<DiscussionSearchResponse>,\n>(\n forumId: string,\n discussionSearchRequest: Omit<DiscussionSearchRequest, 'nextPageToken'>,\n options?: Partial<\n UseInfiniteQueryOptions<\n DiscussionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n DiscussionSearchRequest['nextPageToken']\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n DiscussionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n DiscussionSearchRequest['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getForumSearchQueryKey(\n forumId,\n discussionSearchRequest,\n ),\n queryFn: context =>\n synapseClient.discussionServicesClient.postRepoV1ForumForumIdSearch({\n forumId,\n discussionSearchRequest: {\n ...discussionSearchRequest,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"useForum.js","names":[],"sources":["../../../src/synapse-queries/forum/useForum.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils'\nimport {\n DiscussionSearchRequest,\n DiscussionSearchResponse,\n DiscussionThreadBundle as DiscussionThreadBundleGenerated,\n DiscussionThreadOrder as DiscussionThreadOrderGenerated,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n DiscussionFilter,\n DiscussionThreadBundle,\n DiscussionThreadOrder,\n Forum,\n PaginatedResults,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { getNextPageParamForPaginatedResults } from '../InfiniteQueryUtils'\n\nexport function useGetModerators(\n forumId: string,\n options?: Partial<UseQueryOptions<string[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getForumModeratorsQueryKey(forumId),\n queryFn: () => SynapseClient.getAllModerators(accessToken, forumId),\n })\n}\n\nexport function useGetForumMetadata(\n forumId: string,\n options?: Partial<UseQueryOptions<Forum, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getForumMetadataQueryKey(forumId),\n queryFn: () => SynapseClient.getForumMetadata(accessToken, forumId),\n })\n}\n\nexport function useGetForumThreadsInfinite<\n TData = InfiniteData<PaginatedResults<DiscussionThreadBundle>>,\n>(\n forumId: string,\n limit: number,\n sort: DiscussionThreadOrder,\n ascending: boolean,\n filter?: DiscussionFilter,\n options?: Partial<\n UseInfiniteQueryOptions<\n PaginatedResults<DiscussionThreadBundle>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n PaginatedResults<DiscussionThreadBundle>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >({\n ...options,\n queryKey: keyFactory.getForumThreadsQueryKey(\n forumId,\n limit,\n sort,\n ascending,\n filter,\n ),\n queryFn: async context => {\n return SynapseClient.getForumThreads(\n accessToken,\n forumId,\n context.pageParam,\n limit,\n sort,\n ascending,\n filter,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: getNextPageParamForPaginatedResults,\n })\n}\n\nexport function useSearchForumInfinite<\n TData = InfiniteData<DiscussionSearchResponse>,\n>(\n forumId: string,\n discussionSearchRequest: Omit<DiscussionSearchRequest, 'nextPageToken'>,\n options?: Partial<\n UseInfiniteQueryOptions<\n DiscussionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n DiscussionSearchRequest['nextPageToken']\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n DiscussionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n DiscussionSearchRequest['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getForumSearchQueryKey(\n forumId,\n discussionSearchRequest,\n ),\n queryFn: context =>\n synapseClient.discussionServicesClient.postRepoV1ForumForumIdSearch({\n forumId,\n discussionSearchRequest: {\n ...discussionSearchRequest,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\n/**\n * Get the discussion threads that reference an entity, across all projects.\n */\nexport function useGetEntityThreadsInfinite<\n TData = InfiniteData<PaginatedResults<DiscussionThreadBundleGenerated>>,\n>(\n entityId: string,\n limit: number,\n sort: DiscussionThreadOrderGenerated,\n ascending: boolean,\n options?: Partial<\n UseInfiniteQueryOptions<\n PaginatedResults<DiscussionThreadBundleGenerated>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n PaginatedResults<DiscussionThreadBundleGenerated>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >({\n ...options,\n queryKey: keyFactory.getEntityThreadsQueryKey(\n entityId,\n limit,\n sort,\n ascending,\n ),\n queryFn: async context => {\n const response =\n await synapseClient.discussionServicesClient.getRepoV1EntityIdThreads({\n id: entityId,\n offset: context.pageParam ?? 0,\n limit,\n sort,\n ascending,\n })\n return { ...response, results: response.results ?? [] }\n },\n initialPageParam: undefined,\n getNextPageParam: getNextPageParamForPaginatedResults,\n })\n}\n"],"mappings":";;;;;;AA0BA,SAAgB,EACd,GACA,GACA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,2BAA2B,CAAO;EACvD,eAAe,EAAc,iBAAiB,GAAa,CAAO;CACpE,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GACA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,yBAAyB,CAAO;EACrD,eAAe,EAAc,iBAAiB,GAAa,CAAO;CACpE,CAAC;AACH;AAEA,SAAgB,EAGd,GACA,GACA,GACA,GACA,GACA,GASA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,wBACnB,GACA,GACA,GACA,GACA,CACF;EACA,SAAS,OAAM,MACN,EAAc,gBACnB,GACA,GACA,EAAQ,WACR,GACA,GACA,GACA,CACF;EAEF,kBAAkB,KAAA;EAClB,kBAAkB;CACpB,CAAC;AACH;AAEA,SAAgB,EAGd,GACA,GACA,GASA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB;CACxD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,uBACnB,GACA,CACF;EACA,UAAS,MACP,EAAc,yBAAyB,6BAA6B;GAClE;GACA,yBAAyB;IACvB,GAAG;IACH,eAAe,EAAQ;GACzB;EACF,CAAC;EACH,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAKA,SAAgB,EAGd,GACA,GACA,GACA,GACA,GASA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB;CACxD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,yBACnB,GACA,GACA,GACA,CACF;EACA,SAAS,OAAM,MAAW;GACxB,IAAM,IACJ,MAAM,EAAc,yBAAyB,yBAAyB;IACpE,IAAI;IACJ,QAAQ,EAAQ,aAAa;IAC7B;IACA;IACA;GACF,CAAC;GACH,OAAO;IAAE,GAAG;IAAU,SAAS,EAAS,WAAW,CAAC;GAAE;EACxD;EACA,kBAAkB,KAAA;EAClB,kBAAkB;CACpB,CAAC;AACH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DataGridWebSocket } from '@/components/DataGrid/DataGridWebSocket';
|
|
2
2
|
import { UseMutationOptions } from '@tanstack/react-query';
|
|
3
3
|
import { GridModel } from '@/components/DataGrid/DataGridTypes';
|
|
4
|
+
import { CompactCodecPatch } from 'json-joy/lib/json-crdt-patch/codec/compact';
|
|
4
5
|
interface EstablishWebsocketParams {
|
|
5
6
|
replicaId: number;
|
|
6
7
|
sessionId: string;
|
|
@@ -13,6 +14,7 @@ interface EstablishWebsocketParams {
|
|
|
13
14
|
onSyncStart?: () => void;
|
|
14
15
|
onSyncEnd?: () => void;
|
|
15
16
|
model?: GridModel | null;
|
|
17
|
+
pendingPatches?: CompactCodecPatch[];
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEstablishWebsocketConnection.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"useEstablishWebsocketConnection.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAG9E,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE;QACjB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;QACxB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;QACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;QAC1C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;QAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;QAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;QACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;QACtB,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;QACxB,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAA;KACrC,CAAA;CACF;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,EAAE,wBAAwB,CAAC,CACzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEstablishWebsocketConnection.js","names":[],"sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"sourcesContent":["import { useGridPresignedUrl } from '@/synapse-queries/grid/useGridPresignedUrl'\nimport { DataGridWebSocket } from '@/components/DataGrid/DataGridWebSocket'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { GridModel } from '@/components/DataGrid/DataGridTypes'\nimport { useCallback, useState } from 'react'\n\ninterface EstablishWebsocketParams {\n replicaId: number\n sessionId: string\n websocketOptions?: {\n onGridReady?: () => void\n onStatusChange?: (open: boolean) => void\n onModelCreate?: (model: GridModel) => void\n onReplicaConnected?: () => void\n onReplicaDisconnected?: () => void\n onSyncStart?: () => void\n onSyncEnd?: () => void\n model?: GridModel | null\n }\n}\n\n/**\n * Hook to establish a DataGrid WebSocket using a presigned URL.\n * Assumes the WebSocket will connect successfully once a presigned URL is retrieved.\n */\nexport function useEstablishWebsocketConnection(\n options?: Partial<\n UseMutationOptions<DataGridWebSocket, unknown, EstablishWebsocketParams>\n >,\n) {\n const { mutateAsync: fetchPresignedUrl } = useGridPresignedUrl()\n const [presignedUrl, setPresignedUrl] = useState<string | null>(null)\n\n const clearPresignedUrl = useCallback(() => {\n setPresignedUrl(null)\n }, [])\n\n const mutation = useMutation({\n retry: 5,\n retryDelay: attempt =>\n Math.min(attempt > 1 ? 2 ** attempt * 1000 : 1000, 30 * 1000),\n mutationFn: async ({\n replicaId,\n sessionId,\n websocketOptions,\n }: EstablishWebsocketParams) => {\n if (!replicaId) throw new Error('replicaId is required')\n const url = await fetchPresignedUrl({ replicaId, sessionId })\n setPresignedUrl(url)\n\n return new DataGridWebSocket({\n replicaId,\n url,\n ...(websocketOptions || {}),\n })\n },\n ...options,\n })\n\n return { ...mutation, presignedUrl, clearPresignedUrl }\n}\n"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"useEstablishWebsocketConnection.js","names":[],"sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"sourcesContent":["import { useGridPresignedUrl } from '@/synapse-queries/grid/useGridPresignedUrl'\nimport { DataGridWebSocket } from '@/components/DataGrid/DataGridWebSocket'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { GridModel } from '@/components/DataGrid/DataGridTypes'\nimport { CompactCodecPatch } from 'json-joy/lib/json-crdt-patch/codec/compact'\nimport { useCallback, useState } from 'react'\n\ninterface EstablishWebsocketParams {\n replicaId: number\n sessionId: string\n websocketOptions?: {\n onGridReady?: () => void\n onStatusChange?: (open: boolean) => void\n onModelCreate?: (model: GridModel) => void\n onReplicaConnected?: () => void\n onReplicaDisconnected?: () => void\n onSyncStart?: () => void\n onSyncEnd?: () => void\n model?: GridModel | null\n pendingPatches?: CompactCodecPatch[]\n }\n}\n\n/**\n * Hook to establish a DataGrid WebSocket using a presigned URL.\n * Assumes the WebSocket will connect successfully once a presigned URL is retrieved.\n */\nexport function useEstablishWebsocketConnection(\n options?: Partial<\n UseMutationOptions<DataGridWebSocket, unknown, EstablishWebsocketParams>\n >,\n) {\n const { mutateAsync: fetchPresignedUrl } = useGridPresignedUrl()\n const [presignedUrl, setPresignedUrl] = useState<string | null>(null)\n\n const clearPresignedUrl = useCallback(() => {\n setPresignedUrl(null)\n }, [])\n\n const mutation = useMutation({\n retry: 5,\n retryDelay: attempt =>\n Math.min(attempt > 1 ? 2 ** attempt * 1000 : 1000, 30 * 1000),\n mutationFn: async ({\n replicaId,\n sessionId,\n websocketOptions,\n }: EstablishWebsocketParams) => {\n if (!replicaId) throw new Error('replicaId is required')\n const url = await fetchPresignedUrl({ replicaId, sessionId })\n setPresignedUrl(url)\n\n return new DataGridWebSocket({\n replicaId,\n url,\n ...(websocketOptions || {}),\n })\n },\n ...options,\n })\n\n return { ...mutation, presignedUrl, clearPresignedUrl }\n}\n"],"mappings":";;;;;AA2BA,SAAgB,EACd,GAGA;CACA,IAAM,EAAE,aAAa,MAAsB,EAAoB,GACzD,CAAC,GAAc,KAAmB,EAAwB,IAAI,GAE9D,IAAoB,QAAkB;EAC1C,EAAgB,IAAI;CACtB,GAAG,CAAC,CAAC;CAwBL,OAAO;EAAE,GAtBQ,EAAY;GAC3B,OAAO;GACP,aAAY,MACV,KAAK,IAAI,IAAU,IAAI,KAAK,IAAU,MAAO,KAAM,KAAK,GAAI;GAC9D,YAAY,OAAO,EACjB,cACA,cACA,0BAC8B;IAC9B,IAAI,CAAC,GAAW,MAAU,MAAM,uBAAuB;IACvD,IAAM,IAAM,MAAM,EAAkB;KAAE;KAAW;IAAU,CAAC;IAG5D,OAFA,EAAgB,CAAG,GAEZ,IAAI,EAAkB;KAC3B;KACA;KACA,GAAI,KAAoB,CAAC;IAC3B,CAAC;GACH;GACA,GAAG;EACL,CAEY;EAAU;EAAc;CAAkB;AACxD"}
|