synapse-react-client 4.0.35 → 4.0.37
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/aridhia-queries/AridhiaKeyFactory.d.ts +24 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.d.ts.map +1 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.js +49 -0
- package/dist/aridhia-queries/AridhiaKeyFactory.js.map +1 -0
- package/dist/aridhia-queries/FairFormPayload.d.ts +45 -0
- package/dist/aridhia-queries/FairFormPayload.d.ts.map +1 -0
- package/dist/aridhia-queries/FairFormPayload.js +0 -0
- package/dist/aridhia-queries/TransferType.d.ts +10 -0
- package/dist/aridhia-queries/TransferType.d.ts.map +1 -0
- package/dist/aridhia-queries/TransferType.js +0 -0
- package/dist/aridhia-queries/aridhiaTokenExchange.js +6 -6
- package/dist/aridhia-queries/index.d.ts +12 -0
- package/dist/aridhia-queries/index.d.ts.map +1 -1
- package/dist/aridhia-queries/index.js +12 -2
- package/dist/aridhia-queries/useAridhiaQuery.d.ts +38 -0
- package/dist/aridhia-queries/useAridhiaQuery.d.ts.map +1 -0
- package/dist/aridhia-queries/useAridhiaQuery.js +78 -0
- package/dist/aridhia-queries/useAridhiaQuery.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.d.ts +6 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.js +13 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetCatalogue.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetSettings.d.ts +6 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetSettings.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetSettings.js +13 -0
- package/dist/aridhia-queries/useGetAridhiaDatasetSettings.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaDictionaries.d.ts +6 -0
- package/dist/aridhia-queries/useGetAridhiaDictionaries.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaDictionaries.js +13 -0
- package/dist/aridhia-queries/useGetAridhiaDictionaries.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaRequests.d.ts +5 -4
- package/dist/aridhia-queries/useGetAridhiaRequests.d.ts.map +1 -1
- package/dist/aridhia-queries/useGetAridhiaRequests.js +11 -18
- package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
- package/dist/aridhia-queries/useGetAridhiaWorkflow.d.ts +13 -0
- package/dist/aridhia-queries/useGetAridhiaWorkflow.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkflow.js +19 -0
- package/dist/aridhia-queries/useGetAridhiaWorkflow.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.d.ts +6 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.js +13 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceLocations.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.d.ts +19 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.js +17 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaceRequestForm.js.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaces.d.ts +6 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaces.d.ts.map +1 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaces.js +19 -0
- package/dist/aridhia-queries/useGetAridhiaWorkspaces.js.map +1 -0
- package/dist/aridhia-queries/useSubmitAridhiaDar.d.ts +27 -0
- package/dist/aridhia-queries/useSubmitAridhiaDar.d.ts.map +1 -0
- package/dist/aridhia-queries/useSubmitAridhiaDar.js +38 -0
- package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -0
- package/dist/assets/icons/emailWithNotification.js +15 -15
- package/dist/assets/icons/emailWithNotification.js.map +1 -1
- package/dist/assets/icons/emailWithNotification.svg +13 -13
- package/dist/components/AccessRequirement/EntityActionsRequired.d.ts +0 -1
- package/dist/components/AccessRequirement/EntityActionsRequired.d.ts.map +1 -1
- package/dist/components/AccessRequirement/EntityActionsRequired.js +3 -6
- package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js +65 -57
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +67 -57
- 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 +33 -32
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js +39 -18
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.d.ts +32 -0
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js +285 -0
- package/dist/components/Aridhia/DarWizard/AridhiaDarWizard.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarAboutStep.d.ts +4 -0
- package/dist/components/Aridhia/DarWizard/DarAboutStep.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarAboutStep.js +17 -0
- package/dist/components/Aridhia/DarWizard/DarAboutStep.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarCompleteStep.d.ts +27 -0
- package/dist/components/Aridhia/DarWizard/DarCompleteStep.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarCompleteStep.js +96 -0
- package/dist/components/Aridhia/DarWizard/DarCompleteStep.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarDestinationStep.d.ts +28 -0
- package/dist/components/Aridhia/DarWizard/DarDestinationStep.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarDestinationStep.js +128 -0
- package/dist/components/Aridhia/DarWizard/DarDestinationStep.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarProjectStep.d.ts +4 -0
- package/dist/components/Aridhia/DarWizard/DarProjectStep.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarProjectStep.js +17 -0
- package/dist/components/Aridhia/DarWizard/DarProjectStep.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts +13 -0
- package/dist/components/Aridhia/DarWizard/DarSectionForm.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarSectionForm.js +23 -0
- package/dist/components/Aridhia/DarWizard/DarSectionForm.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts +11 -0
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js +47 -0
- package/dist/components/Aridhia/DarWizard/DarSubmittedPanel.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.d.ts +16 -0
- package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.js +33 -0
- package/dist/components/Aridhia/DarWizard/DarWorkspaceStep.js.map +1 -0
- package/dist/components/Aridhia/DarWizard/useDarDraft.d.ts +32 -0
- package/dist/components/Aridhia/DarWizard/useDarDraft.d.ts.map +1 -0
- package/dist/components/Aridhia/DarWizard/useDarDraft.js +44 -0
- package/dist/components/Aridhia/DarWizard/useDarDraft.js.map +1 -0
- package/dist/components/Aridhia/FairLabelField.d.ts +8 -0
- package/dist/components/Aridhia/FairLabelField.d.ts.map +1 -0
- package/dist/components/Aridhia/FairLabelField.js +13 -0
- package/dist/components/Aridhia/FairLabelField.js.map +1 -0
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +3 -3
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +1 -1
- package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
- package/dist/components/Aridhia/fairFormToRjsf.d.ts +36 -0
- package/dist/components/Aridhia/fairFormToRjsf.d.ts.map +1 -0
- package/dist/components/Aridhia/fairFormToRjsf.js +137 -0
- package/dist/components/Aridhia/fairFormToRjsf.js.map +1 -0
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.d.ts.map +1 -1
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +2 -2
- package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
- package/dist/components/CardContainer/CardConfiguration.d.ts +8 -0
- package/dist/components/CardContainer/CardConfiguration.d.ts.map +1 -1
- package/dist/components/CardContainer/CardContainer.d.ts.map +1 -1
- package/dist/components/CardContainer/CardContainer.js +1 -1
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js +2 -2
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.d.ts.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +3 -3
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/ChangePasswordWithToken.d.ts.map +1 -1
- package/dist/components/ChangePassword/ChangePasswordWithToken.js +58 -23
- package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.d.ts.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js +13 -3
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js +2 -2
- package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
- package/dist/components/CreateTableViewWizard/TableNameForm.d.ts.map +1 -1
- package/dist/components/CreateTableViewWizard/TableNameForm.js +11 -14
- package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +121 -117
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.js +55 -61
- package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.d.ts +21 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/DateTimeColumn.js +73 -29
- package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/NumberColumn.d.ts +31 -0
- package/dist/components/DataGrid/columns/NumberColumn.d.ts.map +1 -0
- package/dist/components/DataGrid/columns/NumberColumn.js +27 -0
- package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -0
- package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts +1 -0
- package/dist/components/DataGrid/components/ReorderColumnsButton.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsButton.js +17 -16
- package/dist/components/DataGrid/components/ReorderColumnsButton.js.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts +2 -0
- package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js +104 -65
- package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
- package/dist/components/DataGrid/components/contextMenu.d.ts.map +1 -1
- package/dist/components/DataGrid/components/contextMenu.js +15 -15
- package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.d.ts +1 -5
- package/dist/components/DataGrid/useMergeGridWithSource.d.ts.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.js +21 -28
- package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +55 -51
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js +9 -8
- package/dist/components/DataGrid/utils/computeDefaultColumnOrder.js.map +1 -1
- package/dist/components/DatasetHosting/DatasetDownloadButton.d.ts +40 -0
- package/dist/components/DatasetHosting/DatasetDownloadButton.d.ts.map +1 -0
- package/dist/components/DatasetHosting/DatasetDownloadButton.js +124 -0
- package/dist/components/DatasetHosting/DatasetDownloadButton.js.map +1 -0
- package/dist/components/DatasetHosting/DatasetHosting.d.ts +97 -0
- package/dist/components/DatasetHosting/DatasetHosting.d.ts.map +1 -0
- package/dist/components/DatasetHosting/DatasetHosting.js +64 -0
- package/dist/components/DatasetHosting/DatasetHosting.js.map +1 -0
- package/dist/components/DatasetHosting/DatasetHostingAdornment.d.ts +15 -0
- package/dist/components/DatasetHosting/DatasetHostingAdornment.d.ts.map +1 -0
- package/dist/components/DatasetHosting/DatasetHostingAdornment.js +23 -0
- package/dist/components/DatasetHosting/DatasetHostingAdornment.js.map +1 -0
- package/dist/components/DatasetHosting/index.d.ts +7 -0
- package/dist/components/DatasetHosting/index.d.ts.map +1 -0
- package/dist/components/DatasetHosting/index.js +4 -0
- package/dist/components/DownloadCart/ActionRequiredListItem.d.ts +0 -2
- package/dist/components/DownloadCart/ActionRequiredListItem.d.ts.map +1 -1
- package/dist/components/DownloadCart/ActionRequiredListItem.js +2 -3
- package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.d.ts +1 -2
- package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadCartPage.js +49 -49
- package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListActionsRequired.d.ts +1 -5
- package/dist/components/DownloadCart/DownloadListActionsRequired.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadListActionsRequired.js +5 -6
- package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.d.ts +0 -2
- package/dist/components/DownloadCart/RequestDownloadCard.d.ts.map +1 -1
- package/dist/components/DownloadCart/RequestDownloadCard.js +28 -32
- package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
- package/dist/components/DownloadCart/TableQueryActionsRequired.d.ts +0 -2
- package/dist/components/DownloadCart/TableQueryActionsRequired.d.ts.map +1 -1
- package/dist/components/DownloadCart/TableQueryActionsRequired.js +7 -8
- package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/index.d.ts +1 -2
- package/dist/components/DownloadCart/index.d.ts.map +1 -1
- package/dist/components/DropdownSelect/DropdownSelect.d.ts.map +1 -1
- package/dist/components/DropdownSelect/DropdownSelect.js +1 -1
- package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.d.ts.map +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/GenericCard/CardActionButtonStyleContext.d.ts +10 -0
- package/dist/components/GenericCard/CardActionButtonStyleContext.d.ts.map +1 -0
- package/dist/components/GenericCard/CardActionButtonStyleContext.js +10 -0
- package/dist/components/GenericCard/CardActionButtonStyleContext.js.map +1 -0
- package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +41 -41
- package/dist/components/GenericCard/GenericCardActionButton.d.ts +5 -0
- package/dist/components/GenericCard/GenericCardActionButton.d.ts.map +1 -1
- package/dist/components/GenericCard/GenericCardActionButton.js +28 -11
- package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.d.ts +24 -0
- package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +158 -137
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/JSONArrayEditor/JSONArrayEditor.d.ts.map +1 -1
- package/dist/components/JSONArrayEditor/JSONArrayEditor.js +42 -42
- package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
- package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +9 -0
- package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -0
- package/dist/components/JsonSchemaForm/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.js +15 -13
- package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +5 -0
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -0
- package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +109 -0
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.js +6 -6
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/widgets/DateWidget.d.ts +9 -0
- package/dist/components/JsonSchemaForm/widgets/DateWidget.d.ts.map +1 -0
- package/dist/components/JsonSchemaForm/widgets/DateWidget.js +23 -0
- package/dist/components/JsonSchemaForm/widgets/DateWidget.js.map +1 -0
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.css +1 -1
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.d.ts +3 -2
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.d.ts.map +1 -1
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js +10 -12
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.module.js +8 -7
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.module.js.map +1 -1
- package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.module.scss +12 -2
- package/dist/components/Markdown/MarkdownEditor.js +1 -1
- package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js +46 -46
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/QueryBuilder/QueryBuilderTypes.d.ts +39 -0
- package/dist/components/QueryBuilder/QueryBuilderTypes.d.ts.map +1 -0
- package/dist/components/QueryBuilder/QueryBuilderTypes.js +11 -0
- package/dist/components/QueryBuilder/QueryBuilderTypes.js.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +48 -0
- package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -0
- package/dist/components/QueryBuilder/queryBuilderTranslation.js +256 -0
- package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -0
- package/dist/components/QueryContext/QueryContext.d.ts +0 -1
- package/dist/components/QueryContext/QueryContext.d.ts.map +1 -1
- package/dist/components/QueryContext/QueryContext.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapper.d.ts +0 -1
- package/dist/components/QueryWrapper/QueryWrapper.d.ts.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapper.js +52 -53
- package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js +4 -11
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +1 -1
- package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -2
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +27 -25
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.d.ts +0 -9
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.d.ts.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js +23 -31
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.d.ts.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js +126 -125
- package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.d.ts.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js +6 -5
- package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +2 -0
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +18 -13
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js +0 -1
- package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
- package/dist/components/ShareThisPage/ShareThisPage.js +30 -29
- package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
- package/dist/components/StatisticsPlot.d.ts.map +1 -1
- package/dist/components/StatisticsPlot.js +1 -1
- package/dist/components/StatisticsPlot.js.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.d.ts.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.js +29 -31
- package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormWrapper.js +1 -1
- package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
- package/dist/components/SynapseHomepageV2/HotdropsAndNews.css +1 -1
- package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.js +9 -9
- package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.js.map +1 -1
- package/dist/components/SynapseHomepageV2/HotdropsAndNews.module.scss +14 -0
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTable.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTable.js +2 -1
- package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts +4 -0
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +71 -69
- package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.d.ts.map +1 -1
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +29 -30
- package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +4 -0
- package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js +14 -13
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js +4 -4
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.d.ts +7 -0
- package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
- package/dist/components/TanStackTable/StyledTanStackTable.js +68 -48
- package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
- package/dist/components/TanStackTable/TableCellRenderer.d.ts.map +1 -1
- package/dist/components/TanStackTable/TableCellRenderer.js +1 -1
- package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
- package/dist/components/TanStackTable/useSyncedTopScrollbar.d.ts +13 -0
- package/dist/components/TanStackTable/useSyncedTopScrollbar.d.ts.map +1 -0
- package/dist/components/TanStackTable/useSyncedTopScrollbar.js +32 -0
- package/dist/components/TanStackTable/useSyncedTopScrollbar.js.map +1 -0
- package/dist/components/TermsAndConditions/TermsAndConditions.js +1 -1
- package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
- package/dist/components/Webhook/CreateWebhookModal.d.ts.map +1 -1
- package/dist/components/Webhook/CreateWebhookModal.js +1 -1
- package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +172 -61
- package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.d.ts +3 -0
- package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.js +2 -2
- package/dist/components/dataaccess/UserAccessRequestHistory/RouteConstants.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js +11 -9
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js +74 -43
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.d.ts.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js +2 -2
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +15 -18
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/entity/metadata/EntityModal.js +1 -1
- package/dist/components/entity/metadata/EntityModal.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js +2 -2
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +144 -140
- package/dist/components/menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/menu/DropdownMenu.js +7 -7
- package/dist/components/menu/DropdownMenu.js.map +1 -1
- package/dist/components/row_renderers/Dataset.js +1 -1
- package/dist/components/row_renderers/Dataset.js.map +1 -1
- package/dist/components/styled/LeftRightPanel.d.ts +8 -0
- package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
- package/dist/components/styled/LeftRightPanel.js +10 -1
- package/dist/components/styled/LeftRightPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +5 -5
- package/dist/index.js +174 -171
- package/dist/index.js.map +1 -1
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +73 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.js +119 -0
- package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -0
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +31 -27
- package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js +4 -4
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.d.ts +1 -0
- package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js +7 -1
- package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js +6 -2
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers.d.ts.map +1 -1
- package/dist/mocks/msw/handlers.js +72 -69
- package/dist/mocks/msw/handlers.js.map +1 -1
- package/dist/style/components/_all.scss +0 -1
- package/dist/style/components/_cards.scss +4 -2
- package/dist/style/components/_terms-and-conditions.scss +25 -3
- package/dist/style/main.css +1 -1
- 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 +7 -0
- package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
- package/dist/synapse-queries/dataaccess/useEDuc.js +11 -3
- package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
- package/dist/synapse-queries/index.js +190 -189
- package/dist/testutils/RjsfFormTestUtils.js +12 -0
- package/dist/testutils/RjsfFormTestUtils.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +1 -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/featureflag/FeatureFlags.d.ts +2 -4
- 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/QueryFilterUtils.js +1 -1
- package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
- package/dist/utils/functions/RegularExpressions.d.ts +10 -0
- package/dist/utils/functions/RegularExpressions.d.ts.map +1 -1
- package/dist/utils/functions/RegularExpressions.js +7 -1
- package/dist/utils/functions/RegularExpressions.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
- package/dist/utils/functions/SqlFunctions.js +20 -4
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/dist/utils/functions/queryUtils.js +1 -1
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.d.ts.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
- package/dist/utils/index.js +16 -16
- package/dist/utils/jsonschema/SchemaAnnotationUtils.js +1 -1
- package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +22 -0
- package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -0
- package/dist/utils/jsonschema/collectTopLevelProperties.js +31 -0
- package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -0
- package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js +1 -1
- package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
- package/dist/utils/types/IsType.d.ts +4 -1
- package/dist/utils/types/IsType.d.ts.map +1 -1
- package/dist/utils/types/IsType.js +4 -4
- package/dist/utils/types/IsType.js.map +1 -1
- package/dist/utils/types/index.js +2 -2
- package/package.json +5 -5
- package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts +0 -12
- package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts.map +0 -1
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js +0 -25
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +0 -1
- package/dist/style/components/_annotations.scss +0 -110
|
@@ -4,52 +4,52 @@ import { useSynapseContext as t } from "../../../utils/context/SynapseContext.js
|
|
|
4
4
|
import "../../../utils/index.js";
|
|
5
5
|
import { useGetEntity as n } from "../../../synapse-queries/entity/useEntity.js";
|
|
6
6
|
import "../../../synapse-queries/index.js";
|
|
7
|
-
import
|
|
7
|
+
import ee from "../../IconSvg/index.js";
|
|
8
8
|
import "../SynapseTableUtils.js";
|
|
9
|
-
import { useQueryContext as
|
|
9
|
+
import { useQueryContext as te } from "../../QueryContext/QueryContext.js";
|
|
10
10
|
import "../../QueryContext/index.js";
|
|
11
|
-
import { useGetQueryMetadata as
|
|
12
|
-
import { useQueryVisualizationContext as
|
|
11
|
+
import { useGetQueryMetadata as r } from "../../QueryWrapper/useGetQueryMetadata.js";
|
|
12
|
+
import { useQueryVisualizationContext as i } from "../../QueryVisualizationWrapper/QueryVisualizationContext.js";
|
|
13
13
|
import "../../QueryVisualizationWrapper/index.js";
|
|
14
|
-
import { isRowSelectionVisibleAtom as
|
|
15
|
-
import { SignInRequiredModal as
|
|
16
|
-
import
|
|
17
|
-
import { ElementWithTooltip as
|
|
18
|
-
import { getNumberOfResultsToInvokeAction as
|
|
19
|
-
import
|
|
20
|
-
import { CustomControlButton as
|
|
21
|
-
import { RowSelectionControls as
|
|
22
|
-
import { DownloadOptions as
|
|
23
|
-
import { ColumnSelection as
|
|
14
|
+
import { isRowSelectionVisibleAtom as a, useHasSelectedRowsAtomValue as o, useSelectedRowsAtomValue as s } from "../../QueryWrapper/TableRowSelectionState.js";
|
|
15
|
+
import { SignInRequiredModal as c } from "../../SignInRequiredModal/SignInRequiredModal.js";
|
|
16
|
+
import l from "../../MissingQueryResultsWarning/MissingQueryResultsWarning.js";
|
|
17
|
+
import { ElementWithTooltip as u } from "../../widgets/ElementWithTooltip.js";
|
|
18
|
+
import { getNumberOfResultsToInvokeAction as d, getNumberOfResultsToInvokeActionCopy as f } from "./TopLevelControlsUtils.js";
|
|
19
|
+
import p from "../export/ExportToAnalysisPlatformDialog.js";
|
|
20
|
+
import { CustomControlButton as m } from "../CustomControls/CustomControlButton.js";
|
|
21
|
+
import { RowSelectionControls as h } from "../RowSelection/RowSelectionControls.js";
|
|
22
|
+
import { DownloadOptions as g } from "../table-top/DownloadOptions.js";
|
|
23
|
+
import { ColumnSelection as _ } from "../table-top/ColumnSelection.js";
|
|
24
24
|
import "../table-top/index.js";
|
|
25
|
-
import { useState as
|
|
26
|
-
import { cloneDeep as
|
|
27
|
-
import { Button as
|
|
28
|
-
import { Fragment as
|
|
29
|
-
import { useAtomValue as
|
|
25
|
+
import { useState as v } from "react";
|
|
26
|
+
import { cloneDeep as ne } from "lodash-es";
|
|
27
|
+
import { Button as y, Divider as re, Tooltip as b, Typography as x } from "@mui/material";
|
|
28
|
+
import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
29
|
+
import { useAtomValue as T } from "jotai";
|
|
30
30
|
//#region src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx
|
|
31
|
-
var
|
|
32
|
-
let [
|
|
33
|
-
let t =
|
|
34
|
-
t.includes(e) ? t = t.filter((t) => t !== e) : t.push(e),
|
|
35
|
-
},
|
|
36
|
-
return /* @__PURE__ */
|
|
31
|
+
var E = "SendToAnalysisPlatformTopLevelControlButton", D = (D) => {
|
|
32
|
+
let [O, k] = v(!1), { isAuthenticated: A } = t(), { name: j, showColumnSelection: M = !1, hideDownload: N = !1, hideAddToDownloadListMenuItem: P, hideProgrammaticOptionsMenuItem: F, hideVisualizationsControl: I = !1, hideFacetFilterControl: L = !1, hideQueryCount: R = !1, hideSqlEditorControl: z = !0, customControls: B, cavaticaConnectAccountURL: V, remount: H } = D, { entityId: U, versionNumber: ie, getCurrentQueryRequest: W, hasResettableFilters: G } = te(), { data: K } = n(U, ie), { data: q } = r(), J = T(a), Y = s(), X = o(), { setShowSearchBar: ae, columnsToShowInTable: Z, setColumnsToShowInTable: oe, enabledExternalAnalysisPlatforms: se, setIsShowingExportToAnalysisPlatformModal: ce, unitDescription: le, setShowDownloadConfirmation: ue, showCopyToClipboard: de, hideSearchBarControl: fe, setShowPlots: pe, setShowSqlEditor: me, showFacetFilter: Q, setShowFacetFilter: he } = i(), ge = se.length > 0, [_e, $] = v(!1), ve = (e) => {
|
|
33
|
+
let t = ne(Z);
|
|
34
|
+
t.includes(e) ? t = t.filter((t) => t !== e) : t.push(e), oe(t);
|
|
35
|
+
}, ye = d(X, Y, q?.queryCount), be = f(G, X, Y, q?.queryCount, le), xe = !R && q?.queryCount !== void 0 ? `(${q.queryCount.toLocaleString()})` : null;
|
|
36
|
+
return /* @__PURE__ */ C("div", {
|
|
37
37
|
className: "TopLevelControls",
|
|
38
38
|
"data-testid": "TopLevelControls",
|
|
39
|
-
children: /* @__PURE__ */
|
|
39
|
+
children: /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
|
|
40
40
|
className: "TopLevelControls__querycount",
|
|
41
|
-
children: [
|
|
41
|
+
children: [j && /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ w(x, {
|
|
42
42
|
variant: "sectionTitle",
|
|
43
43
|
role: "heading",
|
|
44
44
|
children: [
|
|
45
|
-
|
|
45
|
+
j,
|
|
46
46
|
" ",
|
|
47
|
-
|
|
47
|
+
xe
|
|
48
48
|
]
|
|
49
|
-
}), !
|
|
49
|
+
}), !R && K && /* @__PURE__ */ C(l, { entity: K })] }), !L && /* @__PURE__ */ w(y, {
|
|
50
50
|
variant: "text",
|
|
51
|
-
onClick: () =>
|
|
52
|
-
startIcon: /* @__PURE__ */
|
|
51
|
+
onClick: () => he((e) => !e),
|
|
52
|
+
startIcon: /* @__PURE__ */ C(ee, {
|
|
53
53
|
icon: Q ? "close" : "filter",
|
|
54
54
|
wrap: !1
|
|
55
55
|
}),
|
|
@@ -61,48 +61,48 @@ var D = "SendToAnalysisPlatformTopLevelControlButton", O = (O) => {
|
|
|
61
61
|
},
|
|
62
62
|
children: [Q ? "Hide" : "Show", " filters"]
|
|
63
63
|
})]
|
|
64
|
-
}), /* @__PURE__ */
|
|
64
|
+
}), /* @__PURE__ */ w("div", {
|
|
65
65
|
className: "TopLevelControls__actions",
|
|
66
66
|
children: [
|
|
67
|
-
|
|
68
|
-
title: /* @__PURE__ */
|
|
67
|
+
ge && /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ C(b, {
|
|
68
|
+
title: /* @__PURE__ */ w(S, { children: [
|
|
69
69
|
"This action will send a reference to",
|
|
70
70
|
" ",
|
|
71
|
-
|
|
71
|
+
X ? "each selected file" : "every file in the current table",
|
|
72
72
|
" ",
|
|
73
73
|
"to a chosen external analysis platform.",
|
|
74
74
|
" ",
|
|
75
|
-
!
|
|
76
|
-
|
|
75
|
+
!X && Q && /* @__PURE__ */ C(S, { children: "You can change what is sent by applying filters using the controls in the sidebar." }),
|
|
76
|
+
X && /* @__PURE__ */ C(S, { children: "You can change what is sent by selecting a different set of files." })
|
|
77
77
|
] }),
|
|
78
|
-
children: /* @__PURE__ */
|
|
78
|
+
children: /* @__PURE__ */ w(y, {
|
|
79
79
|
variant: "text",
|
|
80
|
-
disabled: !
|
|
81
|
-
onClick: () =>
|
|
82
|
-
id:
|
|
80
|
+
disabled: !ye,
|
|
81
|
+
onClick: () => A ? ce(!0) : k(!0),
|
|
82
|
+
id: E,
|
|
83
83
|
children: [
|
|
84
84
|
"Send ",
|
|
85
|
-
|
|
85
|
+
be,
|
|
86
86
|
" to Analysis Platform"
|
|
87
87
|
]
|
|
88
88
|
})
|
|
89
|
-
}), /* @__PURE__ */
|
|
89
|
+
}), /* @__PURE__ */ C(re, {
|
|
90
90
|
orientation: "vertical",
|
|
91
91
|
variant: "middle",
|
|
92
92
|
flexItem: !0
|
|
93
93
|
})] }),
|
|
94
|
-
|
|
95
|
-
onHide: () =>
|
|
94
|
+
O && /* @__PURE__ */ C(c, {
|
|
95
|
+
onHide: () => k(!1),
|
|
96
96
|
content: "You must be signed in to send results to an analysis platform."
|
|
97
97
|
}),
|
|
98
|
-
!
|
|
98
|
+
!fe && /* @__PURE__ */ C(u, {
|
|
99
99
|
tooltipText: "Show / Hide Search Bar",
|
|
100
|
-
callbackFn: () =>
|
|
100
|
+
callbackFn: () => ae((e) => !e),
|
|
101
101
|
darkTheme: !0,
|
|
102
102
|
icon: "search"
|
|
103
103
|
}),
|
|
104
|
-
|
|
105
|
-
tooltipText:
|
|
104
|
+
de && /* @__PURE__ */ C(u, {
|
|
105
|
+
tooltipText: _e ? "Copied to clipboard" : "Copy this search to the clipboard",
|
|
106
106
|
callbackFn: () => {
|
|
107
107
|
e(window.location.href).then(() => {
|
|
108
108
|
$(!0), setTimeout(() => {
|
|
@@ -113,52 +113,54 @@ var D = "SendToAnalysisPlatformTopLevelControlButton", O = (O) => {
|
|
|
113
113
|
darkTheme: !0,
|
|
114
114
|
icon: "clipboard"
|
|
115
115
|
}),
|
|
116
|
-
!
|
|
116
|
+
!I && /* @__PURE__ */ C(u, {
|
|
117
117
|
tooltipText: "Show / Hide Visualizations",
|
|
118
|
-
callbackFn: () =>
|
|
118
|
+
callbackFn: () => pe((e) => !e),
|
|
119
119
|
darkTheme: !0,
|
|
120
120
|
icon: "chart"
|
|
121
121
|
}),
|
|
122
|
-
!
|
|
122
|
+
!N && /* @__PURE__ */ C(g, {
|
|
123
123
|
darkTheme: !0,
|
|
124
|
-
onDownloadFiles: () =>
|
|
124
|
+
onDownloadFiles: () => ue(!0),
|
|
125
|
+
hideAddToDownloadListMenuItem: P,
|
|
126
|
+
hideProgrammaticOptionsMenuItem: F
|
|
125
127
|
}),
|
|
126
|
-
!
|
|
128
|
+
!z && /* @__PURE__ */ C(u, {
|
|
127
129
|
tooltipText: "Show / Hide the Advanced Query Editor",
|
|
128
|
-
callbackFn: () =>
|
|
130
|
+
callbackFn: () => me((e) => !e),
|
|
129
131
|
darkTheme: !0,
|
|
130
132
|
icon: "sqleditor"
|
|
131
133
|
}),
|
|
132
|
-
|
|
133
|
-
customControls:
|
|
134
|
-
remount:
|
|
134
|
+
J && /* @__PURE__ */ C(h, {
|
|
135
|
+
customControls: B,
|
|
136
|
+
remount: H
|
|
135
137
|
}),
|
|
136
|
-
!
|
|
138
|
+
!J && B && B.length > 0 && /* @__PURE__ */ C(S, { children: B.map((e) => /* @__PURE__ */ C(m, {
|
|
137
139
|
variant: "text",
|
|
138
140
|
callbackData: {
|
|
139
|
-
tableId:
|
|
140
|
-
queryMetadata:
|
|
141
|
-
selectedRows:
|
|
141
|
+
tableId: U,
|
|
142
|
+
queryMetadata: q,
|
|
143
|
+
selectedRows: Y,
|
|
142
144
|
refresh: () => {
|
|
143
|
-
|
|
145
|
+
H && H();
|
|
144
146
|
},
|
|
145
147
|
request: W()
|
|
146
148
|
},
|
|
147
149
|
control: e,
|
|
148
150
|
startIcon: e.icon
|
|
149
151
|
}, e.buttonText)) }),
|
|
150
|
-
|
|
151
|
-
headers:
|
|
152
|
+
M && /* @__PURE__ */ C(_, {
|
|
153
|
+
headers: q?.selectColumns,
|
|
152
154
|
isColumnSelected: Z,
|
|
153
|
-
toggleColumnSelection:
|
|
155
|
+
toggleColumnSelection: ve,
|
|
154
156
|
darkTheme: !0
|
|
155
157
|
}),
|
|
156
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ C(p, { platformInstructionProps: { cavaticaConnectAccountURL: V } })
|
|
157
159
|
]
|
|
158
160
|
})] })
|
|
159
161
|
});
|
|
160
162
|
};
|
|
161
163
|
//#endregion
|
|
162
|
-
export {
|
|
164
|
+
export { D as default };
|
|
163
165
|
|
|
164
166
|
//# sourceMappingURL=TopLevelControls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopLevelControls.js","names":[],"sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx"],"sourcesContent":["import React from 'react'\nimport { useGetEntity } from '@/synapse-queries'\nimport { SQL_EDITOR } from '@/utils/SynapseConstants'\nimport { Button, Divider, Tooltip, Typography } from '@mui/material'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n Row,\n Table,\n} from '@sage-bionetworks/synapse-types'\nimport { useAtomValue } from 'jotai'\nimport { cloneDeep } from 'lodash-es'\nimport { ReactNode, useState } from 'react'\nimport IconSvg from '../../IconSvg'\nimport MissingQueryResultsWarning from '../../MissingQueryResultsWarning/MissingQueryResultsWarning'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport {\n isRowSelectionVisibleAtom,\n useHasSelectedRowsAtomValue,\n useSelectedRowsAtomValue,\n} from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { ElementWithTooltip } from '../../widgets/ElementWithTooltip'\nimport ExportToAnalysisPlatformDialog from '../export/ExportToAnalysisPlatformDialog'\nimport { RowSelectionControls } from '../RowSelection/RowSelectionControls'\nimport { ColumnSelection, DownloadOptions } from '../table-top'\nimport {\n getNumberOfResultsToInvokeAction,\n getNumberOfResultsToInvokeActionCopy,\n} from './TopLevelControlsUtils'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\nimport { CustomControlButton } from '../CustomControls/CustomControlButton'\nimport { useSynapseContext } from '@/utils'\nimport { SignInRequiredModal } from '@/components/SignInRequiredModal/SignInRequiredModal'\nimport { SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE } from '../SynapseTableUtils'\n\nconst SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID =\n 'SendToAnalysisPlatformTopLevelControlButton'\n\nexport type TopLevelControlsProps = {\n name?: string\n hideDownload?: boolean\n hideVisualizationsControl?: boolean\n hideFacetFilterControl?: boolean\n hideQueryCount?: boolean\n hideSqlEditorControl?: boolean\n customControls?: CustomControl[]\n showColumnSelection?: boolean\n cavaticaConnectAccountURL?: string\n remount?: () => void\n}\n\nexport type Control = {\n key: string\n icon: string\n tooltipText: string\n}\n\nexport type CustomControlCallbackData = {\n tableId: string\n queryMetadata: Omit<QueryResultBundle, 'queryResult'> | undefined\n selectedRows: Row[] | undefined\n refresh: () => void\n request?: QueryBundleRequest\n}\n\n// note, all custom controls should check for selected rows in the event (to support row selection)\nexport type CustomControl = {\n buttonText: string\n onClick: (event: CustomControlCallbackData) => void\n classNames?: string\n icon?: ReactNode\n buttonID?: string // optionally set the ID property of the element\n title?: string // optionally set the title for the custom control\n description?: string // optionally set the description for the custom control\n}\n\nconst TopLevelControls = (props: TopLevelControlsProps): React.ReactNode => {\n const [showLoginModal, setShowLoginModal] = useState(false)\n const { isAuthenticated } = useSynapseContext()\n\n const {\n name,\n showColumnSelection = false,\n hideDownload = false,\n hideVisualizationsControl = false,\n hideFacetFilterControl = false,\n hideQueryCount = false,\n hideSqlEditorControl = true,\n customControls,\n cavaticaConnectAccountURL,\n remount,\n } = props\n\n const {\n entityId,\n versionNumber,\n getCurrentQueryRequest,\n hasResettableFilters,\n } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useGetQueryMetadata()\n const isRowSelectionVisible = useAtomValue(isRowSelectionVisibleAtom)\n const selectedRows = useSelectedRowsAtomValue()\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const {\n setShowSearchBar,\n columnsToShowInTable,\n setColumnsToShowInTable,\n enabledExternalAnalysisPlatforms,\n setIsShowingExportToAnalysisPlatformModal,\n unitDescription,\n setShowDownloadConfirmation,\n showCopyToClipboard,\n hideSearchBarControl,\n setShowPlots,\n setShowSqlEditor,\n showFacetFilter,\n setShowFacetFilter,\n } = useQueryVisualizationContext()\n\n const showExportToAnalysisPlatformButton =\n enabledExternalAnalysisPlatforms.length > 0\n\n const [hasRecentlyCopiedToClipboard, setHasRecentlyCopiedToClipboard] =\n useState(false)\n\n /**\n * Handles the toggle of a column select, this will cause the table to\n * either show the column or hide depending on the prior state of the column\n */\n const toggleColumnSelection = (columnName: string) => {\n let columnsToShowInTableCopy = cloneDeep(columnsToShowInTable)\n if (columnsToShowInTableCopy.includes(columnName)) {\n columnsToShowInTableCopy = columnsToShowInTableCopy.filter(\n el => el !== columnName,\n )\n } else {\n columnsToShowInTableCopy.push(columnName)\n }\n setColumnsToShowInTable(columnsToShowInTableCopy)\n }\n\n const numberOfResultsToInvokeAction = getNumberOfResultsToInvokeAction(\n hasSelectedRows,\n selectedRows,\n queryMetadata?.queryCount,\n )\n const numberOfResultsToInvokeActionAsText =\n getNumberOfResultsToInvokeActionCopy(\n hasResettableFilters,\n hasSelectedRows,\n selectedRows,\n queryMetadata?.queryCount,\n unitDescription,\n )\n\n const queryCountDisplay =\n !hideQueryCount && queryMetadata?.queryCount !== undefined\n ? `(${queryMetadata.queryCount.toLocaleString()})`\n : null\n\n return (\n <div className={`TopLevelControls`} data-testid=\"TopLevelControls\">\n <div>\n <div className=\"TopLevelControls__querycount\">\n {name && (\n <>\n <Typography variant=\"sectionTitle\" role=\"heading\">\n {name} {queryCountDisplay}\n </Typography>\n {!hideQueryCount && entity && (\n <MissingQueryResultsWarning entity={entity} />\n )}\n </>\n )}\n {!hideFacetFilterControl && (\n <Button\n variant={'text'}\n onClick={() => setShowFacetFilter(value => !value)}\n startIcon={\n <IconSvg\n icon={showFacetFilter ? 'close' : 'filter'}\n wrap={false}\n />\n }\n sx={{\n ml: 2,\n fontWeight: 400,\n fontSize: '14px',\n textDecoration: 'none !important',\n }}\n >\n {showFacetFilter ? 'Hide' : 'Show'} filters\n </Button>\n )}\n </div>\n <div className=\"TopLevelControls__actions\">\n {showExportToAnalysisPlatformButton && (\n <>\n <Tooltip\n title={\n <>\n This action will send a reference to{' '}\n {hasSelectedRows\n ? 'each selected file'\n : 'every file in the current table'}{' '}\n to a chosen external analysis platform.{' '}\n {!hasSelectedRows && showFacetFilter && (\n <>\n You can change what is sent by applying filters using\n the controls in the sidebar.\n </>\n )}\n {hasSelectedRows && (\n <>\n You can change what is sent by selecting a different set\n of files.\n </>\n )}\n </>\n }\n >\n <Button\n variant=\"text\"\n disabled={!numberOfResultsToInvokeAction}\n onClick={() => {\n return isAuthenticated\n ? setIsShowingExportToAnalysisPlatformModal(true)\n : setShowLoginModal(true)\n }}\n id={SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID}\n >\n Send {numberOfResultsToInvokeActionAsText} to Analysis\n Platform\n </Button>\n </Tooltip>\n <Divider orientation=\"vertical\" variant=\"middle\" flexItem />\n </>\n )}\n {showLoginModal && (\n <SignInRequiredModal\n onHide={() => setShowLoginModal(false)}\n content={SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE}\n />\n )}\n {!hideSearchBarControl && (\n <ElementWithTooltip\n tooltipText={'Show / Hide Search Bar'}\n callbackFn={() => setShowSearchBar(value => !value)}\n darkTheme={true}\n icon={'search'}\n />\n )}\n {showCopyToClipboard && (\n <ElementWithTooltip\n tooltipText={\n hasRecentlyCopiedToClipboard\n ? 'Copied to clipboard'\n : 'Copy this search to the clipboard'\n }\n callbackFn={() => {\n copyStringToClipboard(window.location.href).then(() => {\n setHasRecentlyCopiedToClipboard(true)\n setTimeout(() => {\n setHasRecentlyCopiedToClipboard(false)\n }, 3000)\n })\n }}\n darkTheme={true}\n icon={'clipboard'}\n />\n )}\n {!hideVisualizationsControl && (\n <ElementWithTooltip\n tooltipText={'Show / Hide Visualizations'}\n callbackFn={() => setShowPlots(value => !value)}\n darkTheme={true}\n icon={'chart'}\n />\n )}\n {!hideDownload && (\n <DownloadOptions\n darkTheme={true}\n onDownloadFiles={() => setShowDownloadConfirmation(true)}\n />\n )}\n\n {!hideSqlEditorControl && (\n <ElementWithTooltip\n tooltipText={'Show / Hide the Advanced Query Editor'}\n callbackFn={() => setShowSqlEditor(value => !value)}\n darkTheme={true}\n icon={SQL_EDITOR}\n />\n )}\n\n {isRowSelectionVisible && (\n <RowSelectionControls\n customControls={customControls}\n remount={remount}\n />\n )}\n {!isRowSelectionVisible &&\n customControls &&\n customControls.length > 0 && (\n <>\n {customControls.map(customControl => {\n return (\n <CustomControlButton\n key={customControl.buttonText}\n variant=\"text\"\n callbackData={{\n tableId: entityId!,\n queryMetadata: queryMetadata,\n selectedRows,\n refresh: () => {\n if (remount) {\n remount()\n }\n },\n request: getCurrentQueryRequest(),\n }}\n control={customControl}\n startIcon={customControl.icon}\n />\n )\n })}\n </>\n )}\n {showColumnSelection && (\n <ColumnSelection\n headers={queryMetadata?.selectColumns}\n isColumnSelected={columnsToShowInTable}\n toggleColumnSelection={toggleColumnSelection}\n darkTheme={true}\n />\n )}\n <ExportToAnalysisPlatformDialog\n platformInstructionProps={{\n cavaticaConnectAccountURL: cavaticaConnectAccountURL,\n }}\n />\n </div>\n </div>\n </div>\n )\n}\n\nexport default TopLevelControls\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TopLevelControls.js","names":[],"sources":["../../../../src/components/SynapseTable/TopLevelControls/TopLevelControls.tsx"],"sourcesContent":["import React from 'react'\nimport { useGetEntity } from '@/synapse-queries'\nimport { SQL_EDITOR } from '@/utils/SynapseConstants'\nimport { Button, Divider, Tooltip, Typography } from '@mui/material'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n Row,\n Table,\n} from '@sage-bionetworks/synapse-types'\nimport { useAtomValue } from 'jotai'\nimport { cloneDeep } from 'lodash-es'\nimport { ReactNode, useState } from 'react'\nimport IconSvg from '../../IconSvg'\nimport MissingQueryResultsWarning from '../../MissingQueryResultsWarning/MissingQueryResultsWarning'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper'\nimport {\n isRowSelectionVisibleAtom,\n useHasSelectedRowsAtomValue,\n useSelectedRowsAtomValue,\n} from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { ElementWithTooltip } from '../../widgets/ElementWithTooltip'\nimport ExportToAnalysisPlatformDialog from '../export/ExportToAnalysisPlatformDialog'\nimport { RowSelectionControls } from '../RowSelection/RowSelectionControls'\nimport { ColumnSelection, DownloadOptions } from '../table-top'\nimport {\n getNumberOfResultsToInvokeAction,\n getNumberOfResultsToInvokeActionCopy,\n} from './TopLevelControlsUtils'\nimport { copyStringToClipboard } from '@/utils/functions/StringUtils'\nimport { CustomControlButton } from '../CustomControls/CustomControlButton'\nimport { useSynapseContext } from '@/utils'\nimport { SignInRequiredModal } from '@/components/SignInRequiredModal/SignInRequiredModal'\nimport { SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE } from '../SynapseTableUtils'\n\nconst SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID =\n 'SendToAnalysisPlatformTopLevelControlButton'\n\nexport type TopLevelControlsProps = {\n name?: string\n hideDownload?: boolean\n /** If true, the \"Add ... files to Download List\" option in the Download menu will be hidden */\n hideAddToDownloadListMenuItem?: boolean\n /** If true, the \"Programmatic Options\" option in the Download menu will be hidden */\n hideProgrammaticOptionsMenuItem?: boolean\n hideVisualizationsControl?: boolean\n hideFacetFilterControl?: boolean\n hideQueryCount?: boolean\n hideSqlEditorControl?: boolean\n customControls?: CustomControl[]\n showColumnSelection?: boolean\n cavaticaConnectAccountURL?: string\n remount?: () => void\n}\n\nexport type Control = {\n key: string\n icon: string\n tooltipText: string\n}\n\nexport type CustomControlCallbackData = {\n tableId: string\n queryMetadata: Omit<QueryResultBundle, 'queryResult'> | undefined\n selectedRows: Row[] | undefined\n refresh: () => void\n request?: QueryBundleRequest\n}\n\n// note, all custom controls should check for selected rows in the event (to support row selection)\nexport type CustomControl = {\n buttonText: string\n onClick: (event: CustomControlCallbackData) => void\n classNames?: string\n icon?: ReactNode\n buttonID?: string // optionally set the ID property of the element\n title?: string // optionally set the title for the custom control\n description?: string // optionally set the description for the custom control\n}\n\nconst TopLevelControls = (props: TopLevelControlsProps): React.ReactNode => {\n const [showLoginModal, setShowLoginModal] = useState(false)\n const { isAuthenticated } = useSynapseContext()\n\n const {\n name,\n showColumnSelection = false,\n hideDownload = false,\n hideAddToDownloadListMenuItem,\n hideProgrammaticOptionsMenuItem,\n hideVisualizationsControl = false,\n hideFacetFilterControl = false,\n hideQueryCount = false,\n hideSqlEditorControl = true,\n customControls,\n cavaticaConnectAccountURL,\n remount,\n } = props\n\n const {\n entityId,\n versionNumber,\n getCurrentQueryRequest,\n hasResettableFilters,\n } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useGetQueryMetadata()\n const isRowSelectionVisible = useAtomValue(isRowSelectionVisibleAtom)\n const selectedRows = useSelectedRowsAtomValue()\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const {\n setShowSearchBar,\n columnsToShowInTable,\n setColumnsToShowInTable,\n enabledExternalAnalysisPlatforms,\n setIsShowingExportToAnalysisPlatformModal,\n unitDescription,\n setShowDownloadConfirmation,\n showCopyToClipboard,\n hideSearchBarControl,\n setShowPlots,\n setShowSqlEditor,\n showFacetFilter,\n setShowFacetFilter,\n } = useQueryVisualizationContext()\n\n const showExportToAnalysisPlatformButton =\n enabledExternalAnalysisPlatforms.length > 0\n\n const [hasRecentlyCopiedToClipboard, setHasRecentlyCopiedToClipboard] =\n useState(false)\n\n /**\n * Handles the toggle of a column select, this will cause the table to\n * either show the column or hide depending on the prior state of the column\n */\n const toggleColumnSelection = (columnName: string) => {\n let columnsToShowInTableCopy = cloneDeep(columnsToShowInTable)\n if (columnsToShowInTableCopy.includes(columnName)) {\n columnsToShowInTableCopy = columnsToShowInTableCopy.filter(\n el => el !== columnName,\n )\n } else {\n columnsToShowInTableCopy.push(columnName)\n }\n setColumnsToShowInTable(columnsToShowInTableCopy)\n }\n\n const numberOfResultsToInvokeAction = getNumberOfResultsToInvokeAction(\n hasSelectedRows,\n selectedRows,\n queryMetadata?.queryCount,\n )\n const numberOfResultsToInvokeActionAsText =\n getNumberOfResultsToInvokeActionCopy(\n hasResettableFilters,\n hasSelectedRows,\n selectedRows,\n queryMetadata?.queryCount,\n unitDescription,\n )\n\n const queryCountDisplay =\n !hideQueryCount && queryMetadata?.queryCount !== undefined\n ? `(${queryMetadata.queryCount.toLocaleString()})`\n : null\n\n return (\n <div className={`TopLevelControls`} data-testid=\"TopLevelControls\">\n <div>\n <div className=\"TopLevelControls__querycount\">\n {name && (\n <>\n <Typography variant=\"sectionTitle\" role=\"heading\">\n {name} {queryCountDisplay}\n </Typography>\n {!hideQueryCount && entity && (\n <MissingQueryResultsWarning entity={entity} />\n )}\n </>\n )}\n {!hideFacetFilterControl && (\n <Button\n variant={'text'}\n onClick={() => setShowFacetFilter(value => !value)}\n startIcon={\n <IconSvg\n icon={showFacetFilter ? 'close' : 'filter'}\n wrap={false}\n />\n }\n sx={{\n ml: 2,\n fontWeight: 400,\n fontSize: '14px',\n textDecoration: 'none !important',\n }}\n >\n {showFacetFilter ? 'Hide' : 'Show'} filters\n </Button>\n )}\n </div>\n <div className=\"TopLevelControls__actions\">\n {showExportToAnalysisPlatformButton && (\n <>\n <Tooltip\n title={\n <>\n This action will send a reference to{' '}\n {hasSelectedRows\n ? 'each selected file'\n : 'every file in the current table'}{' '}\n to a chosen external analysis platform.{' '}\n {!hasSelectedRows && showFacetFilter && (\n <>\n You can change what is sent by applying filters using\n the controls in the sidebar.\n </>\n )}\n {hasSelectedRows && (\n <>\n You can change what is sent by selecting a different set\n of files.\n </>\n )}\n </>\n }\n >\n <Button\n variant=\"text\"\n disabled={!numberOfResultsToInvokeAction}\n onClick={() => {\n return isAuthenticated\n ? setIsShowingExportToAnalysisPlatformModal(true)\n : setShowLoginModal(true)\n }}\n id={SEND_TO_ANALYSIS_PLATFORM_BUTTON_ID}\n >\n Send {numberOfResultsToInvokeActionAsText} to Analysis\n Platform\n </Button>\n </Tooltip>\n <Divider orientation=\"vertical\" variant=\"middle\" flexItem />\n </>\n )}\n {showLoginModal && (\n <SignInRequiredModal\n onHide={() => setShowLoginModal(false)}\n content={SEND_TO_ANALYSIS_PLATFORM_SIGN_IN_MESSAGE}\n />\n )}\n {!hideSearchBarControl && (\n <ElementWithTooltip\n tooltipText={'Show / Hide Search Bar'}\n callbackFn={() => setShowSearchBar(value => !value)}\n darkTheme={true}\n icon={'search'}\n />\n )}\n {showCopyToClipboard && (\n <ElementWithTooltip\n tooltipText={\n hasRecentlyCopiedToClipboard\n ? 'Copied to clipboard'\n : 'Copy this search to the clipboard'\n }\n callbackFn={() => {\n copyStringToClipboard(window.location.href).then(() => {\n setHasRecentlyCopiedToClipboard(true)\n setTimeout(() => {\n setHasRecentlyCopiedToClipboard(false)\n }, 3000)\n })\n }}\n darkTheme={true}\n icon={'clipboard'}\n />\n )}\n {!hideVisualizationsControl && (\n <ElementWithTooltip\n tooltipText={'Show / Hide Visualizations'}\n callbackFn={() => setShowPlots(value => !value)}\n darkTheme={true}\n icon={'chart'}\n />\n )}\n {!hideDownload && (\n <DownloadOptions\n darkTheme={true}\n onDownloadFiles={() => setShowDownloadConfirmation(true)}\n hideAddToDownloadListMenuItem={hideAddToDownloadListMenuItem}\n hideProgrammaticOptionsMenuItem={hideProgrammaticOptionsMenuItem}\n />\n )}\n\n {!hideSqlEditorControl && (\n <ElementWithTooltip\n tooltipText={'Show / Hide the Advanced Query Editor'}\n callbackFn={() => setShowSqlEditor(value => !value)}\n darkTheme={true}\n icon={SQL_EDITOR}\n />\n )}\n\n {isRowSelectionVisible && (\n <RowSelectionControls\n customControls={customControls}\n remount={remount}\n />\n )}\n {!isRowSelectionVisible &&\n customControls &&\n customControls.length > 0 && (\n <>\n {customControls.map(customControl => {\n return (\n <CustomControlButton\n key={customControl.buttonText}\n variant=\"text\"\n callbackData={{\n tableId: entityId!,\n queryMetadata: queryMetadata,\n selectedRows,\n refresh: () => {\n if (remount) {\n remount()\n }\n },\n request: getCurrentQueryRequest(),\n }}\n control={customControl}\n startIcon={customControl.icon}\n />\n )\n })}\n </>\n )}\n {showColumnSelection && (\n <ColumnSelection\n headers={queryMetadata?.selectColumns}\n isColumnSelected={columnsToShowInTable}\n toggleColumnSelection={toggleColumnSelection}\n darkTheme={true}\n />\n )}\n <ExportToAnalysisPlatformDialog\n platformInstructionProps={{\n cavaticaConnectAccountURL: cavaticaConnectAccountURL,\n }}\n />\n </div>\n </div>\n </div>\n )\n}\n\nexport default TopLevelControls\n"],"mappings":"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"}
|
package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalPlatformActionsRequiredPrecheck.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,eAAe,CAAA;AAgBvD,OAAO,EAEL,wBAAwB,EACzB,MAAM,sCAAsC,CAAA;AAc7C,MAAM,MAAM,4CAA4C,GAAG;IAEzD,gBAAgB,EAAE,wBAAwB,CAAA;IAE1C,0BAA0B,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAExD,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uCAAuC,CAC7D,KAAK,EAAE,4CAA4C,
|
|
1
|
+
{"version":3,"file":"ExternalPlatformActionsRequiredPrecheck.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,eAAe,CAAA;AAgBvD,OAAO,EAEL,wBAAwB,EACzB,MAAM,sCAAsC,CAAA;AAc7C,MAAM,MAAM,4CAA4C,GAAG;IAEzD,gBAAgB,EAAE,wBAAwB,CAAA;IAE1C,0BAA0B,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAExD,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,uCAAuC,CAC7D,KAAK,EAAE,4CAA4C,2CA8IpD"}
|
|
@@ -20,66 +20,66 @@ function x(e) {
|
|
|
20
20
|
return `SendTo${g(e.replace("\\s", ""))}ButtonFromConfirmationDialog`;
|
|
21
21
|
}
|
|
22
22
|
function S(g) {
|
|
23
|
-
let { selectedPlatform: S, onConfirmButtonPropsChange: C, onSuccessfulExport: w } = g, T = c[S], { getCurrentQueryRequest: E,
|
|
23
|
+
let { selectedPlatform: S, onConfirmButtonPropsChange: C, onSuccessfulExport: w } = g, T = c[S], { getCurrentQueryRequest: E, hasResettableFilters: D, fileIdColumnName: O, fileVersionColumnName: k, fileNameColumnName: A } = t(), { data: j, isLoading: M } = n(), N = o(), P = a(), F = i(), { unitDescription: I } = r(), [L, R] = h(void 0), z = m(() => {
|
|
24
24
|
let e = E();
|
|
25
|
-
return
|
|
25
|
+
return F && P && j?.selectColumns && (e.query.additionalFilters = [...e.query.additionalFilters || [], s(P, N, j.selectColumns)]), e;
|
|
26
26
|
}, [
|
|
27
27
|
E,
|
|
28
|
-
I,
|
|
29
28
|
F,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
P,
|
|
30
|
+
j?.selectColumns,
|
|
31
|
+
N
|
|
32
|
+
]), { exportToCavatica: B, exportToTerra: V, exportToPluto: H, exportToPlutoDev: U, exportToADWorkbench: W } = l({
|
|
33
|
+
queryBundleRequest: z,
|
|
34
|
+
selectColumns: j?.selectColumns,
|
|
35
|
+
fileIdColumnName: O,
|
|
36
|
+
fileVersionColumnName: k,
|
|
37
|
+
fileNameColumnName: A
|
|
38
|
+
}), G = `Send ${d(D, F, N, j?.queryCount, I)} to ${T.name}`, K = f(async () => {
|
|
39
39
|
switch (S) {
|
|
40
40
|
case "cavatica":
|
|
41
|
-
await
|
|
41
|
+
await B();
|
|
42
42
|
break;
|
|
43
43
|
case "terra":
|
|
44
|
-
await
|
|
44
|
+
await V();
|
|
45
45
|
break;
|
|
46
46
|
case "pluto":
|
|
47
|
-
await
|
|
47
|
+
await H();
|
|
48
48
|
break;
|
|
49
49
|
case "plutodev":
|
|
50
|
-
await
|
|
50
|
+
await U();
|
|
51
51
|
break;
|
|
52
52
|
case "adworkbench":
|
|
53
|
-
await
|
|
53
|
+
await W();
|
|
54
54
|
break;
|
|
55
55
|
}
|
|
56
56
|
w();
|
|
57
57
|
}, [
|
|
58
|
+
B,
|
|
58
59
|
V,
|
|
59
60
|
H,
|
|
60
61
|
U,
|
|
61
|
-
W,
|
|
62
62
|
w,
|
|
63
63
|
S,
|
|
64
|
-
|
|
64
|
+
W
|
|
65
65
|
]);
|
|
66
66
|
return p(() => {
|
|
67
67
|
C({
|
|
68
68
|
id: x(S),
|
|
69
|
-
children:
|
|
70
|
-
disabled:
|
|
69
|
+
children: G,
|
|
70
|
+
disabled: M || L !== 0,
|
|
71
71
|
onClick: () => {
|
|
72
|
-
|
|
72
|
+
K();
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
}, [
|
|
76
|
-
|
|
76
|
+
L,
|
|
77
|
+
G,
|
|
78
|
+
M,
|
|
77
79
|
K,
|
|
78
|
-
N,
|
|
79
|
-
q,
|
|
80
80
|
C,
|
|
81
81
|
S
|
|
82
|
-
]),
|
|
82
|
+
]), M ? /* @__PURE__ */ y(e, { numRows: 4 }) : /* @__PURE__ */ b(v, { children: [
|
|
83
83
|
/* @__PURE__ */ b(_, {
|
|
84
84
|
variant: "body1",
|
|
85
85
|
sx: {
|
|
@@ -103,10 +103,9 @@ function S(g) {
|
|
|
103
103
|
]
|
|
104
104
|
}),
|
|
105
105
|
/* @__PURE__ */ y(u, {
|
|
106
|
-
queryBundleRequest:
|
|
107
|
-
columnModels:
|
|
108
|
-
onNumberOfRequiredActionsChanged:
|
|
109
|
-
onViewSharingSettingsClicked: D
|
|
106
|
+
queryBundleRequest: z,
|
|
107
|
+
columnModels: j?.columnModels ?? [],
|
|
108
|
+
onNumberOfRequiredActionsChanged: R
|
|
110
109
|
}),
|
|
111
110
|
/* @__PURE__ */ b(_, {
|
|
112
111
|
variant: "body1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalPlatformActionsRequiredPrecheck.js","names":[],"sources":["../../../../src/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.tsx"],"sourcesContent":["import { ButtonProps, Typography } from '@mui/material'\nimport { upperFirst } from 'lodash-es'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useExportTableQueryToAnalysisPlatform } from '../../../synapse-queries/entity/useExportTableQueryToAnalysisPlatform'\nimport { getPrimaryKeyINFilter } from '../../../utils/functions/QueryFilterUtils'\nimport { TableQueryActionsRequired } from '../../DownloadCart/TableQueryActionsRequired'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper/index'\nimport {\n useHasSelectedRowsAtomValue,\n useRowSelectionPrimaryKeyAtomValue,\n useSelectedRowsAtomValue,\n} from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { SkeletonParagraph } from '../../Skeleton/index'\nimport { getNumberOfResultsToInvokeActionCopy } from '../TopLevelControls/TopLevelControlsUtils'\nimport {\n EXTERNAL_ANALYSIS_PLATFORMS,\n ExternalAnalysisPlatform,\n} from './ExternalAnalysisPlatformsConstants'\n\n/**\n * Get the ID of the confirm button for the selected platform, used in Google Tag Manager\n * @param selectedPlatform\n */\nfunction getConfirmButtonId(\n selectedPlatform: ExternalAnalysisPlatform,\n): string {\n return `SendTo${upperFirst(\n selectedPlatform.replace('\\\\s', ''),\n )}ButtonFromConfirmationDialog`\n}\n\nexport type ExternalPlatformActionsRequiredPrecheckProps = {\n /* The external analysis platform that the user selected */\n selectedPlatform: ExternalAnalysisPlatform\n /* Callback to propagate the current confirm button appearance and behavior */\n onConfirmButtonPropsChange: (props: ButtonProps) => void\n /* Callback invoked when export to the external platform succeeds */\n onSuccessfulExport: () => void\n}\n\nexport default function ExternalPlatformActionsRequiredPrecheck(\n props: ExternalPlatformActionsRequiredPrecheckProps,\n) {\n const { selectedPlatform, onConfirmButtonPropsChange, onSuccessfulExport } =\n props\n const platform = EXTERNAL_ANALYSIS_PLATFORMS[selectedPlatform]\n\n const {\n getCurrentQueryRequest,\n
|
|
1
|
+
{"version":3,"file":"ExternalPlatformActionsRequiredPrecheck.js","names":[],"sources":["../../../../src/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.tsx"],"sourcesContent":["import { ButtonProps, Typography } from '@mui/material'\nimport { upperFirst } from 'lodash-es'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useExportTableQueryToAnalysisPlatform } from '../../../synapse-queries/entity/useExportTableQueryToAnalysisPlatform'\nimport { getPrimaryKeyINFilter } from '../../../utils/functions/QueryFilterUtils'\nimport { TableQueryActionsRequired } from '../../DownloadCart/TableQueryActionsRequired'\nimport { useQueryContext } from '../../QueryContext'\nimport { useQueryVisualizationContext } from '../../QueryVisualizationWrapper/index'\nimport {\n useHasSelectedRowsAtomValue,\n useRowSelectionPrimaryKeyAtomValue,\n useSelectedRowsAtomValue,\n} from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { SkeletonParagraph } from '../../Skeleton/index'\nimport { getNumberOfResultsToInvokeActionCopy } from '../TopLevelControls/TopLevelControlsUtils'\nimport {\n EXTERNAL_ANALYSIS_PLATFORMS,\n ExternalAnalysisPlatform,\n} from './ExternalAnalysisPlatformsConstants'\n\n/**\n * Get the ID of the confirm button for the selected platform, used in Google Tag Manager\n * @param selectedPlatform\n */\nfunction getConfirmButtonId(\n selectedPlatform: ExternalAnalysisPlatform,\n): string {\n return `SendTo${upperFirst(\n selectedPlatform.replace('\\\\s', ''),\n )}ButtonFromConfirmationDialog`\n}\n\nexport type ExternalPlatformActionsRequiredPrecheckProps = {\n /* The external analysis platform that the user selected */\n selectedPlatform: ExternalAnalysisPlatform\n /* Callback to propagate the current confirm button appearance and behavior */\n onConfirmButtonPropsChange: (props: ButtonProps) => void\n /* Callback invoked when export to the external platform succeeds */\n onSuccessfulExport: () => void\n}\n\nexport default function ExternalPlatformActionsRequiredPrecheck(\n props: ExternalPlatformActionsRequiredPrecheckProps,\n) {\n const { selectedPlatform, onConfirmButtonPropsChange, onSuccessfulExport } =\n props\n const platform = EXTERNAL_ANALYSIS_PLATFORMS[selectedPlatform]\n\n const {\n getCurrentQueryRequest,\n hasResettableFilters,\n fileIdColumnName,\n fileVersionColumnName,\n fileNameColumnName,\n } = useQueryContext()\n\n const { data: queryMetadata, isLoading } = useGetQueryMetadata()\n const selectedRows = useSelectedRowsAtomValue()\n const rowSelectionPrimaryKey = useRowSelectionPrimaryKeyAtomValue()\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const { unitDescription } = useQueryVisualizationContext()\n\n const [numberOfRequiredActions, setNumberOfRequiredActions] = useState<\n number | undefined\n >(undefined)\n\n const queryFilteredBySelection = useMemo(() => {\n const request = getCurrentQueryRequest()\n if (\n hasSelectedRows &&\n rowSelectionPrimaryKey &&\n queryMetadata?.selectColumns\n ) {\n request.query.additionalFilters = [\n ...(request.query.additionalFilters || []),\n getPrimaryKeyINFilter(\n rowSelectionPrimaryKey,\n selectedRows,\n queryMetadata.selectColumns,\n ),\n ]\n }\n return request\n }, [\n getCurrentQueryRequest,\n hasSelectedRows,\n rowSelectionPrimaryKey,\n queryMetadata?.selectColumns,\n selectedRows,\n ])\n\n const {\n exportToCavatica,\n exportToTerra,\n exportToPluto,\n exportToPlutoDev,\n exportToADWorkbench,\n } = useExportTableQueryToAnalysisPlatform({\n queryBundleRequest: queryFilteredBySelection,\n selectColumns: queryMetadata?.selectColumns,\n fileIdColumnName,\n fileVersionColumnName,\n fileNameColumnName,\n })\n\n const confirmButtonText = `Send ${getNumberOfResultsToInvokeActionCopy(\n hasResettableFilters,\n hasSelectedRows,\n selectedRows,\n queryMetadata?.queryCount,\n unitDescription,\n )} to ${platform.name}`\n\n const onConfirmButtonClick = useCallback(async () => {\n switch (selectedPlatform) {\n case 'cavatica':\n await exportToCavatica()\n break\n case 'terra':\n await exportToTerra()\n break\n case 'pluto':\n await exportToPluto()\n break\n case 'plutodev':\n await exportToPlutoDev()\n break\n case 'adworkbench':\n await exportToADWorkbench()\n break\n }\n onSuccessfulExport()\n }, [\n exportToCavatica,\n exportToTerra,\n exportToPluto,\n exportToPlutoDev,\n onSuccessfulExport,\n selectedPlatform,\n exportToADWorkbench,\n ])\n\n useEffect(() => {\n onConfirmButtonPropsChange({\n id: getConfirmButtonId(selectedPlatform),\n children: confirmButtonText,\n disabled: isLoading || numberOfRequiredActions !== 0,\n onClick: () => {\n void onConfirmButtonClick()\n },\n })\n }, [\n numberOfRequiredActions,\n confirmButtonText,\n isLoading,\n onConfirmButtonClick,\n onConfirmButtonPropsChange,\n selectedPlatform,\n ])\n\n if (isLoading) return <SkeletonParagraph numRows={4} />\n\n return (\n <>\n <Typography variant=\"body1\" sx={{ fontWeight: 700, my: '10px' }}>\n Before sending the selected data to {platform.name}:\n </Typography>\n <Typography variant=\"body1\" sx={{ marginBottom: '10px' }}>\n You must meet all requirements to download the selected data. You must\n take the following actions before we can send this data to{' '}\n {platform.name}.\n </Typography>\n <TableQueryActionsRequired\n queryBundleRequest={queryFilteredBySelection}\n columnModels={queryMetadata?.columnModels ?? []}\n onNumberOfRequiredActionsChanged={setNumberOfRequiredActions}\n />\n <Typography variant=\"body1\" sx={{ fontWeight: 700, marginTop: '15px' }}>\n When completed, click “Send to {platform.name}“ to finish the process\n outside this application. You will be redirected to {platform.name}.\n </Typography>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAyBA,SAAS,EACP,GACQ;CACR,OAAO,SAAS,EACd,EAAiB,QAAQ,OAAO,EAAE,CACpC,EAAE;AACJ;AAWA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,qBAAkB,+BAA4B,0BACpD,GACI,IAAW,EAA4B,IAEvC,EACJ,2BACA,yBACA,qBACA,0BACA,0BACE,EAAgB,GAEd,EAAE,MAAM,GAAe,iBAAc,EAAoB,GACzD,IAAe,EAAyB,GACxC,IAAyB,EAAmC,GAC5D,IAAkB,EAA4B,GAE9C,EAAE,uBAAoB,EAA6B,GAEnD,CAAC,GAAyB,KAA8B,EAE5D,KAAA,CAAS,GAEL,IAA2B,QAAc;EAC7C,IAAM,IAAU,EAAuB;EAevC,OAbE,KACA,KACA,GAAe,kBAEf,EAAQ,MAAM,oBAAoB,CAChC,GAAI,EAAQ,MAAM,qBAAqB,CAAC,GACxC,EACE,GACA,GACA,EAAc,aAChB,CACF,IAEK;CACT,GAAG;EACD;EACA;EACA;EACA,GAAe;EACf;CACF,CAAC,GAEK,EACJ,qBACA,kBACA,kBACA,qBACA,2BACE,EAAsC;EACxC,oBAAoB;EACpB,eAAe,GAAe;EAC9B;EACA;EACA;CACF,CAAC,GAEK,IAAoB,QAAQ,EAChC,GACA,GACA,GACA,GAAe,YACf,CACF,EAAE,MAAM,EAAS,QAEX,IAAuB,EAAY,YAAY;EACnD,QAAQ,GAAR;GACE,KAAK;IACH,MAAM,EAAiB;IACvB;GACF,KAAK;IACH,MAAM,EAAc;IACpB;GACF,KAAK;IACH,MAAM,EAAc;IACpB;GACF,KAAK;IACH,MAAM,EAAiB;IACvB;GACF,KAAK;IACH,MAAM,EAAoB;IAC1B;EACJ;EACA,EAAmB;CACrB,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAsBD,OApBA,QAAgB;EACd,EAA2B;GACzB,IAAI,EAAmB,CAAgB;GACvC,UAAU;GACV,UAAU,KAAa,MAA4B;GACnD,eAAe;IACb,EAA0B;GAC5B;EACF,CAAC;CACH,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,GAEG,IAAkB,kBAAC,GAAD,EAAmB,SAAS,EAAI,CAAA,IAGpD,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI;IAAE,YAAY;IAAK,IAAI;GAAO;aAA9D;IAAiE;IAC1B,EAAS;IAAK;GACzC;;EACZ,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI,EAAE,cAAc,OAAO;aAAvD;IAA0D;IAEG;IAC1D,EAAS;IAAK;GACL;;EACZ,kBAAC,GAAD;GACE,oBAAoB;GACpB,cAAc,GAAe,gBAAgB,CAAC;GAC9C,kCAAkC;EACnC,CAAA;EACD,kBAAC,GAAD;GAAY,SAAQ;GAAQ,IAAI;IAAE,YAAY;IAAK,WAAW;GAAO;aAArE;IAAwE;IACtC,EAAS;IAAK;IACO,EAAS;IAAK;GACzD;;CACZ,EAAA,CAAA;AAEN"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export type DownloadOptionsProps = {
|
|
2
2
|
onDownloadFiles: () => void;
|
|
3
3
|
darkTheme?: boolean;
|
|
4
|
+
/** If true, the "Add ... files to Download List" menu item will be hidden */
|
|
5
|
+
hideAddToDownloadListMenuItem?: boolean;
|
|
6
|
+
/** If true, the "Programmatic Options" menu item will be hidden */
|
|
7
|
+
hideProgrammaticOptionsMenuItem?: boolean;
|
|
4
8
|
};
|
|
5
9
|
export declare function DownloadOptions(props: DownloadOptionsProps): import("react/jsx-runtime").JSX.Element;
|
|
6
10
|
//# sourceMappingURL=DownloadOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/table-top/DownloadOptions.tsx"],"names":[],"mappings":"AAoBA,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"DownloadOptions.d.ts","sourceRoot":"","sources":["../../../../src/components/SynapseTable/table-top/DownloadOptions.tsx"],"names":[],"mappings":"AAoBA,MAAM,MAAM,oBAAoB,GAAG;IACjC,eAAe,EAAE,MAAM,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,6EAA6E;IAC7E,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,mEAAmE;IACnE,+BAA+B,CAAC,EAAE,OAAO,CAAA;CAC1C,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAyJ1D"}
|
|
@@ -19,7 +19,7 @@ import { MenuItem as g, Tooltip as _ } from "@mui/material";
|
|
|
19
19
|
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
20
20
|
//#region src/components/SynapseTable/table-top/DownloadOptions.tsx
|
|
21
21
|
function x(x) {
|
|
22
|
-
let { isAuthenticated: S } = t(), { entityId: C, versionNumber: w, getCurrentQueryRequest: T, hasResettableFilters: E } = a(), { data: D } = n(C, w), { data: O } = o(), k = c(), A = s(), j = m(() => T(), [T]), [M, N] = h(!1), [P, F] = h(!1), [I, L] = h(!1), { onDownloadFiles: R, darkTheme: z = !0 } = x,
|
|
22
|
+
let { isAuthenticated: S } = t(), { entityId: C, versionNumber: w, getCurrentQueryRequest: T, hasResettableFilters: E } = a(), { data: D } = n(C, w), { data: O } = o(), k = c(), A = s(), j = m(() => T(), [T]), [M, N] = h(!1), [P, F] = h(!1), [I, L] = h(!1), { onDownloadFiles: R, darkTheme: z = !0, hideAddToDownloadListMenuItem: B, hideProgrammaticOptionsMenuItem: V } = x, H = i(O?.columnModels), U = !B && r(D, H), W = D && e(D) && D.isLatestVersion;
|
|
23
23
|
return /* @__PURE__ */ b(v, { children: [
|
|
24
24
|
/* @__PURE__ */ y(d, {
|
|
25
25
|
tooltipText: "Download Options",
|
|
@@ -28,15 +28,15 @@ function x(x) {
|
|
|
28
28
|
icon: "download",
|
|
29
29
|
menuItems: m(() => {
|
|
30
30
|
let e = [];
|
|
31
|
-
return
|
|
32
|
-
title:
|
|
31
|
+
return U && e.push(/* @__PURE__ */ y(_, {
|
|
32
|
+
title: W ? "A draft version of a dataset cannot be added to the Download List" : null,
|
|
33
33
|
placement: "left",
|
|
34
34
|
enterNextDelay: 300,
|
|
35
35
|
describeChild: !0,
|
|
36
36
|
children: /* @__PURE__ */ y(g, {
|
|
37
|
-
className:
|
|
38
|
-
disabled:
|
|
39
|
-
style:
|
|
37
|
+
className: W ? "ignoreLink" : void 0,
|
|
38
|
+
disabled: W,
|
|
39
|
+
style: W ? { pointerEvents: "auto" } : {},
|
|
40
40
|
onClick: () => S ? R() : N(!0),
|
|
41
41
|
children: f(E, A, k, O?.queryCount, "file")
|
|
42
42
|
})
|
|
@@ -45,28 +45,29 @@ function x(x) {
|
|
|
45
45
|
F(!0);
|
|
46
46
|
},
|
|
47
47
|
children: "Export Table"
|
|
48
|
-
}, "export-table")), e.push(/* @__PURE__ */ y(_, {
|
|
49
|
-
title:
|
|
48
|
+
}, "export-table")), V || e.push(/* @__PURE__ */ y(_, {
|
|
49
|
+
title: W ? "A draft version of a dataset cannot be downloaded programmatically" : null,
|
|
50
50
|
placement: "left",
|
|
51
51
|
enterNextDelay: 300,
|
|
52
52
|
describeChild: !0,
|
|
53
53
|
children: /* @__PURE__ */ y(g, {
|
|
54
|
-
className:
|
|
55
|
-
disabled:
|
|
56
|
-
style:
|
|
54
|
+
className: W ? "ignoreLink" : void 0,
|
|
55
|
+
disabled: W,
|
|
56
|
+
style: W ? { pointerEvents: "auto" } : {},
|
|
57
57
|
onClick: () => L(!0),
|
|
58
58
|
children: "Programmatic Options"
|
|
59
59
|
})
|
|
60
60
|
}, "programmatic-options")), e;
|
|
61
61
|
}, [
|
|
62
62
|
S,
|
|
63
|
-
|
|
63
|
+
W,
|
|
64
64
|
E,
|
|
65
65
|
A,
|
|
66
|
+
V,
|
|
66
67
|
R,
|
|
67
68
|
O?.queryCount,
|
|
68
69
|
k,
|
|
69
|
-
|
|
70
|
+
U
|
|
70
71
|
])
|
|
71
72
|
}),
|
|
72
73
|
M && /* @__PURE__ */ y(p, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadOptions.js","names":[],"sources":["../../../../src/components/SynapseTable/table-top/DownloadOptions.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport { isDataset } from '@/utils/functions/EntityTypeUtils'\nimport { canTableQueryBeAddedToDownloadList } from '@/utils/functions/queryUtils'\nimport { MenuItem, Tooltip } from '@mui/material'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { ReactNode, useMemo, useState } from 'react'\nimport ModalDownload from '../../ModalDownload/ModalDownload'\nimport ProgrammaticTableDownload from '../../ProgrammaticTableDownload/ProgrammaticTableDownload'\nimport { useQueryContext } from '../../QueryContext'\nimport {\n useHasSelectedRowsAtomValue,\n useSelectedRowsAtomValue,\n} from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { ElementWithTooltip } from '../../widgets/ElementWithTooltip'\nimport { getFileColumnModelId } from '../SynapseTableUtils'\nimport { getNumberOfResultsToAddToDownloadListCopy } from '../TopLevelControls/TopLevelControlsUtils'\nimport { DownloadLoginModal } from './DownloadLoginModal'\n\nexport type DownloadOptionsProps = {\n onDownloadFiles: () => void\n darkTheme?: boolean\n}\n\nexport function DownloadOptions(props: DownloadOptionsProps) {\n const { isAuthenticated } = useSynapseContext()\n const {\n entityId,\n versionNumber,\n getCurrentQueryRequest,\n hasResettableFilters,\n } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useGetQueryMetadata()\n\n const selectedRows = useSelectedRowsAtomValue()\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const queryBundleRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n\n const [showLoginModal, setShowLoginModal] = useState(false)\n const [showExportMetadata, setShowExportMetadata] = useState(false)\n const [showProgrammaticOptions, setShowProgrammaticOptions] = useState(false)\n const {
|
|
1
|
+
{"version":3,"file":"DownloadOptions.js","names":[],"sources":["../../../../src/components/SynapseTable/table-top/DownloadOptions.tsx"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport { isDataset } from '@/utils/functions/EntityTypeUtils'\nimport { canTableQueryBeAddedToDownloadList } from '@/utils/functions/queryUtils'\nimport { MenuItem, Tooltip } from '@mui/material'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { ReactNode, useMemo, useState } from 'react'\nimport ModalDownload from '../../ModalDownload/ModalDownload'\nimport ProgrammaticTableDownload from '../../ProgrammaticTableDownload/ProgrammaticTableDownload'\nimport { useQueryContext } from '../../QueryContext'\nimport {\n useHasSelectedRowsAtomValue,\n useSelectedRowsAtomValue,\n} from '../../QueryWrapper/TableRowSelectionState'\nimport { useGetQueryMetadata } from '../../QueryWrapper/useGetQueryMetadata'\nimport { ElementWithTooltip } from '../../widgets/ElementWithTooltip'\nimport { getFileColumnModelId } from '../SynapseTableUtils'\nimport { getNumberOfResultsToAddToDownloadListCopy } from '../TopLevelControls/TopLevelControlsUtils'\nimport { DownloadLoginModal } from './DownloadLoginModal'\n\nexport type DownloadOptionsProps = {\n onDownloadFiles: () => void\n darkTheme?: boolean\n /** If true, the \"Add ... files to Download List\" menu item will be hidden */\n hideAddToDownloadListMenuItem?: boolean\n /** If true, the \"Programmatic Options\" menu item will be hidden */\n hideProgrammaticOptionsMenuItem?: boolean\n}\n\nexport function DownloadOptions(props: DownloadOptionsProps) {\n const { isAuthenticated } = useSynapseContext()\n const {\n entityId,\n versionNumber,\n getCurrentQueryRequest,\n hasResettableFilters,\n } = useQueryContext()\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useGetQueryMetadata()\n\n const selectedRows = useSelectedRowsAtomValue()\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const queryBundleRequest = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n\n const [showLoginModal, setShowLoginModal] = useState(false)\n const [showExportMetadata, setShowExportMetadata] = useState(false)\n const [showProgrammaticOptions, setShowProgrammaticOptions] = useState(false)\n const {\n onDownloadFiles,\n darkTheme = true,\n hideAddToDownloadListMenuItem,\n hideProgrammaticOptionsMenuItem,\n } = props\n\n const fileColumnId = getFileColumnModelId(queryMetadata?.columnModels)\n\n const showAddQueryToDownloadList =\n !hideAddToDownloadListMenuItem &&\n canTableQueryBeAddedToDownloadList(entity, fileColumnId)\n\n // SWC-5878 - Disable downloading a \"Draft\" dataset\n const disableDownload = entity && isDataset(entity) && entity.isLatestVersion\n\n const downloadMenuItems: ReactNode[] = useMemo(() => {\n const downloadMenuItems = []\n if (showAddQueryToDownloadList) {\n downloadMenuItems.push(\n <Tooltip\n key={'add-to-download-list'}\n title={\n disableDownload\n ? 'A draft version of a dataset cannot be added to the Download List'\n : null\n }\n placement=\"left\"\n enterNextDelay={300}\n describeChild={true}\n >\n <MenuItem\n className={disableDownload ? 'ignoreLink' : undefined}\n disabled={disableDownload}\n // If disabled, add pointer-events-auto so the tooltip still works\n style={disableDownload ? { pointerEvents: 'auto' } : {}}\n onClick={() =>\n isAuthenticated ? onDownloadFiles() : setShowLoginModal(true)\n }\n >\n {getNumberOfResultsToAddToDownloadListCopy(\n hasResettableFilters,\n hasSelectedRows,\n selectedRows,\n queryMetadata?.queryCount,\n 'file',\n )}\n </MenuItem>\n </Tooltip>,\n )\n }\n downloadMenuItems.push(\n <MenuItem\n key={'export-table'}\n onClick={() => {\n setShowExportMetadata(true)\n }}\n >\n Export Table\n </MenuItem>,\n )\n if (!hideProgrammaticOptionsMenuItem) {\n downloadMenuItems.push(\n <Tooltip\n key={'programmatic-options'}\n title={\n disableDownload\n ? 'A draft version of a dataset cannot be downloaded programmatically'\n : null\n }\n placement=\"left\"\n enterNextDelay={300}\n describeChild={true}\n >\n <MenuItem\n className={disableDownload ? 'ignoreLink' : undefined}\n disabled={disableDownload}\n // If disabled, add pointer-events-auto so the tooltip still works\n style={disableDownload ? { pointerEvents: 'auto' } : {}}\n onClick={() => setShowProgrammaticOptions(true)}\n >\n Programmatic Options\n </MenuItem>\n </Tooltip>,\n )\n }\n return downloadMenuItems\n }, [\n isAuthenticated,\n disableDownload,\n hasResettableFilters,\n hasSelectedRows,\n hideProgrammaticOptionsMenuItem,\n onDownloadFiles,\n queryMetadata?.queryCount,\n selectedRows,\n showAddQueryToDownloadList,\n ])\n\n return (\n <>\n <ElementWithTooltip\n tooltipText={'Download Options'}\n size=\"lg\"\n darkTheme={darkTheme}\n icon={'download'}\n menuItems={downloadMenuItems}\n />\n {showLoginModal && (\n <DownloadLoginModal\n showModal={showLoginModal}\n onHide={() => setShowLoginModal(false)}\n ></DownloadLoginModal>\n )}\n {\n // modal can render anywhere, this is not a particular location\n showExportMetadata && (\n <ModalDownload\n onClose={() => setShowExportMetadata(false)}\n queryBundleRequest={queryBundleRequest}\n />\n )\n }\n {showProgrammaticOptions && queryMetadata && (\n <ProgrammaticTableDownload\n onHide={() => setShowProgrammaticOptions(false)}\n queryBundleRequest={queryBundleRequest}\n ></ProgrammaticTableDownload>\n )}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,EAAgB,GAA6B;CAC3D,IAAM,EAAE,uBAAoB,EAAkB,GACxC,EACJ,aACA,kBACA,2BACA,4BACE,EAAgB,GACd,EAAE,MAAM,MAAW,EAAoB,GAAU,CAAa,GAC9D,EAAE,MAAM,MAAkB,EAAoB,GAE9C,IAAe,EAAyB,GACxC,IAAkB,EAA4B,GAE9C,IAAqB,QACnB,EAAuB,GAC7B,CAAC,CAAsB,CACzB,GAEM,CAAC,GAAgB,KAAqB,EAAS,EAAK,GACpD,CAAC,GAAoB,KAAyB,EAAS,EAAK,GAC5D,CAAC,GAAyB,KAA8B,EAAS,EAAK,GACtE,EACJ,oBACA,eAAY,IACZ,kCACA,uCACE,GAEE,IAAe,EAAqB,GAAe,YAAY,GAE/D,IACJ,CAAC,KACD,EAAmC,GAAQ,CAAY,GAGnD,IAAkB,KAAU,EAAU,CAAM,KAAK,EAAO;CAqF9D,OACE,kBAAA,GAAA,EAAA,UAAA;EACE,kBAAC,GAAD;GACE,aAAa;GACb,MAAK;GACM;GACX,MAAM;GACN,WA1FiC,QAAc;IACnD,IAAM,IAAoB,CAAC;IAqE3B,OApEI,KACF,EAAkB,KAChB,kBAAC,GAAD;KAEE,OACE,IACI,sEACA;KAEN,WAAU;KACV,gBAAgB;KAChB,eAAe;eAEf,kBAAC,GAAD;MACE,WAAW,IAAkB,eAAe,KAAA;MAC5C,UAAU;MAEV,OAAO,IAAkB,EAAE,eAAe,OAAO,IAAI,CAAC;MACtD,eACE,IAAkB,EAAgB,IAAI,EAAkB,EAAI;gBAG7D,EACC,GACA,GACA,GACA,GAAe,YACf,MACF;KACQ,CAAA;IACH,GA3BF,sBA2BE,CACX,GAEF,EAAkB,KAChB,kBAAC,GAAD;KAEE,eAAe;MACb,EAAsB,EAAI;KAC5B;eACD;IAES,GANH,cAMG,CACZ,GACK,KACH,EAAkB,KAChB,kBAAC,GAAD;KAEE,OACE,IACI,uEACA;KAEN,WAAU;KACV,gBAAgB;KAChB,eAAe;eAEf,kBAAC,GAAD;MACE,WAAW,IAAkB,eAAe,KAAA;MAC5C,UAAU;MAEV,OAAO,IAAkB,EAAE,eAAe,OAAO,IAAI,CAAC;MACtD,eAAe,EAA2B,EAAI;gBAC/C;KAES,CAAA;IACH,GAnBF,sBAmBE,CACX,GAEK;GACT,GAAG;IACD;IACA;IACA;IACA;IACA;IACA;IACA,GAAe;IACf;IACA;GACF,CASiB;EACZ,CAAA;EACA,KACC,kBAAC,GAAD;GACE,WAAW;GACX,cAAc,EAAkB,EAAK;EAClB,CAAA;EAIrB,KACE,kBAAC,GAAD;GACE,eAAe,EAAsB,EAAK;GACtB;EACrB,CAAA;EAGJ,KAA2B,KAC1B,kBAAC,GAAD;GACE,cAAc,EAA2B,EAAK;GAC1B;EACM,CAAA;CAE9B,EAAA,CAAA;AAEN"}
|
|
@@ -20,7 +20,7 @@ import { useQueryClient as b } from "@tanstack/react-query";
|
|
|
20
20
|
//#region src/components/SynapseTable/usePrefetchTableData.ts
|
|
21
21
|
function x(e) {
|
|
22
22
|
let { entityId: t, versionNumber: r } = u(), { data: i } = n(t, r), { data: s } = d(), c = a(_.FILEHANDLEID, s?.selectColumns), f = [];
|
|
23
|
-
return i && e && s
|
|
23
|
+
return i && e && s?.selectColumns && (f = e.rows.reduce((e, t) => (c.forEach((n) => {
|
|
24
24
|
let r = t.values[n];
|
|
25
25
|
if (r) {
|
|
26
26
|
let a = s?.selectColumns[n];
|