synapse-react-client 4.0.26 → 4.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SWC.index.d.ts +3 -2
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +4 -3
- package/dist/SWC.index.js.map +1 -1
- package/dist/assets/icons/FileCopy.d.ts +5 -0
- package/dist/assets/icons/FileCopy.d.ts.map +1 -0
- package/dist/assets/icons/FileCopy.js +13 -0
- package/dist/assets/icons/FileCopy.js.map +1 -0
- package/dist/assets/icons/NIHIcon.d.ts +4 -0
- package/dist/assets/icons/NIHIcon.d.ts.map +1 -0
- package/dist/assets/icons/NIHIcon.js +14 -0
- package/dist/assets/icons/NIHIcon.js.map +1 -0
- package/dist/assets/icons/fileCopy.svg +8 -0
- package/dist/assets/icons/fileCopy2.js +33 -0
- package/dist/assets/icons/fileCopy2.js.map +1 -0
- package/dist/assets/icons/nih.js +35 -0
- package/dist/assets/icons/nih.js.map +1 -0
- package/dist/assets/icons/nih.svg +9 -0
- package/dist/assets/illustrations/compute_illustration.js +485 -0
- package/dist/assets/illustrations/compute_illustration.js.map +1 -0
- package/dist/assets/illustrations/compute_illustration.svg +204 -0
- package/dist/assets/illustrations/curate_data_illustration.js +479 -0
- package/dist/assets/illustrations/curate_data_illustration.js.map +1 -0
- package/dist/assets/illustrations/curate_data_illustration.svg +91 -0
- package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js +1 -1
- package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.d.ts +1 -0
- package/dist/components/Authentication/AuthenticationMethodSelection.d.ts.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js +17 -10
- package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.d.ts +2 -2
- package/dist/components/Authentication/LoginForm.d.ts +1 -0
- package/dist/components/Authentication/LoginForm.d.ts.map +1 -1
- package/dist/components/Authentication/LoginForm.js +3 -2
- package/dist/components/Authentication/LoginForm.js.map +1 -1
- package/dist/components/Authentication/LoginMethod.d.ts +2 -2
- package/dist/components/Authentication/LoginMethod.d.ts.map +1 -1
- package/dist/components/Authentication/LoginMethod.js +10 -8
- package/dist/components/Authentication/LoginMethod.js.map +1 -1
- package/dist/components/Authentication/StandaloneLoginForm.d.ts +1 -0
- package/dist/components/Authentication/StandaloneLoginForm.d.ts.map +1 -1
- package/dist/components/Authentication/StandaloneLoginForm.js +16 -15
- package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -2
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +24 -30
- package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +1 -1
- package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +1 -1
- package/dist/components/ChangePassword/ChangePassword.js +1 -1
- package/dist/components/CopyToClipboardString/CopyToClipboardString.d.ts +3 -2
- package/dist/components/CopyToClipboardString/CopyToClipboardString.d.ts.map +1 -1
- package/dist/components/CopyToClipboardString/CopyToClipboardString.js +27 -18
- package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +2 -5
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts +35 -0
- package/dist/components/DataGrid/SyncGridWithSourceButton.d.ts.map +1 -0
- package/dist/components/DataGrid/SyncGridWithSourceButton.js +115 -0
- package/dist/components/DataGrid/SyncGridWithSourceButton.js.map +1 -0
- package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts +2 -0
- package/dist/components/DataGrid/useMergeGridWithRecordSet.d.ts.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.d.ts +12 -7
- package/dist/components/DataGrid/useMergeGridWithSource.d.ts.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.js +31 -25
- package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js +1 -1
- package/dist/components/DynamicForm/DynamicForm.js +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditorModal.js +1 -1
- package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.d.ts +1 -0
- package/dist/components/EntityFinder/EntityIdTextField.d.ts.map +1 -1
- package/dist/components/EntityFinder/EntityIdTextField.js +7 -6
- package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
- package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +1 -1
- package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.css +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.d.ts.map +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.js +47 -39
- package/dist/components/EntitySidebar/EntitySidebar.js.map +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.module.js +11 -11
- package/dist/components/EntitySidebar/EntitySidebar.module.js.map +1 -1
- package/dist/components/EntitySidebar/EntitySidebar.module.scss +6 -6
- package/dist/components/FieldDescription/FieldDescription.css +1 -0
- package/dist/components/FieldDescription/FieldDescription.d.ts +15 -0
- package/dist/components/FieldDescription/FieldDescription.d.ts.map +1 -0
- package/dist/components/FieldDescription/FieldDescription.js +13 -0
- package/dist/components/FieldDescription/FieldDescription.js.map +1 -0
- package/dist/components/FieldDescription/FieldDescription.module.js +5 -0
- package/dist/components/FieldDescription/FieldDescription.module.js.map +1 -0
- package/dist/components/FieldDescription/FieldDescription.module.scss +8 -0
- package/dist/components/FieldDescription/index.d.ts +3 -0
- package/dist/components/FieldDescription/index.d.ts.map +1 -0
- package/dist/components/FieldDescription/index.js +2 -0
- package/dist/components/IconSvg/IconSvg.d.ts +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
- package/dist/components/IconSvg/IconSvg.js +216 -212
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditorModal.js +1 -1
- package/dist/components/PortalList/CreatePortalModal.js +1 -1
- package/dist/components/PortalList/PortalCard.js +1 -1
- package/dist/components/ProjectInfo/ProjectInfo.css +1 -0
- package/dist/components/ProjectInfo/ProjectInfo.d.ts +5 -0
- package/dist/components/ProjectInfo/ProjectInfo.d.ts.map +1 -0
- package/dist/components/ProjectInfo/ProjectInfo.js +50 -0
- package/dist/components/ProjectInfo/ProjectInfo.js.map +1 -0
- package/dist/components/ProjectInfo/ProjectInfo.module.js +11 -0
- package/dist/components/ProjectInfo/ProjectInfo.module.js.map +1 -0
- package/dist/components/ProjectInfo/ProjectInfo.module.scss +35 -0
- package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts +10 -0
- package/dist/components/ProjectInfo/ProjectInfoPopover.d.ts.map +1 -0
- package/dist/components/ProjectInfo/ProjectInfoPopover.js +94 -0
- package/dist/components/ProjectInfo/ProjectInfoPopover.js.map +1 -0
- package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts +2 -1
- package/dist/components/ProjectStorage/ProjectDataAvailability.d.ts.map +1 -1
- package/dist/components/ProjectStorage/ProjectDataAvailability.js +67 -75
- package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +12 -3
- package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js +1 -1
- package/dist/components/SynapseChat/SynapseChat.js +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js +1 -1
- package/dist/components/TextField/TextField.css +1 -1
- package/dist/components/TextField/TextField.d.ts.map +1 -1
- package/dist/components/TextField/TextField.js +27 -25
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TextField/TextField.module.js +3 -3
- package/dist/components/TextField/TextField.module.js.map +1 -1
- package/dist/components/TextField/TextField.module.scss +2 -5
- package/dist/components/Webhook/WebhookVerificationDialog.js +1 -1
- package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js +1 -1
- package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +66 -49
- package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js +1 -1
- package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
- package/dist/components/error/SendMessageToEntityOwnerDialog.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/menu/ComplexMenu.d.ts.map +1 -1
- package/dist/components/menu/ComplexMenu.js +1 -4
- package/dist/components/menu/ComplexMenu.js.map +1 -1
- package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js +1 -1
- package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.d.ts +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.d.ts.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.js +36 -35
- package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts +13 -0
- package/dist/features/curator/dashboard/CuratorDashboardRouter.d.ts.map +1 -0
- package/dist/features/curator/dashboard/CuratorDashboardRouter.js +37 -0
- package/dist/features/curator/dashboard/CuratorDashboardRouter.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts +3 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.js +26 -157
- package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +10 -6
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -1
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +31 -0
- package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts +25 -0
- package/dist/features/curator/dashboard/components/CurationTaskCardLayout.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js +134 -0
- package/dist/features/curator/dashboard/components/CurationTaskCardLayout.js.map +1 -0
- package/dist/features/curator/dashboard/components/ExecutableTaskCard.d.ts +10 -0
- package/dist/features/curator/dashboard/components/ExecutableTaskCard.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/ExecutableTaskCard.js +51 -0
- package/dist/features/curator/dashboard/components/ExecutableTaskCard.js.map +1 -0
- package/dist/features/curator/dashboard/components/GridTaskCard.d.ts +10 -0
- package/dist/features/curator/dashboard/components/GridTaskCard.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/GridTaskCard.js +35 -0
- package/dist/features/curator/dashboard/components/GridTaskCard.js.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.css +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts +3 -0
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.js +56 -26
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.module.js +6 -5
- package/dist/features/curator/dashboard/components/NextStepButton.module.js.map +1 -1
- package/dist/features/curator/dashboard/components/NextStepButton.module.scss +28 -0
- package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.d.ts +31 -0
- package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.js +32 -0
- package/dist/features/curator/dashboard/components/getExecutableTaskButtonState.js.map +1 -0
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +213 -204
- package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +0 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +19 -39
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts +9 -3
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +39 -49
- package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts +17 -0
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js +43 -0
- package/dist/features/entity/metadata-task/components/MetadataTasksPageRouter.js.map +1 -0
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +27 -26
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/create-task/CommonTaskFields.d.ts +16 -0
- package/dist/features/entity/metadata-task/create-task/CommonTaskFields.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CommonTaskFields.js +64 -0
- package/dist/features/entity/metadata-task/create-task/CommonTaskFields.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts +41 -0
- package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js +165 -0
- package/dist/features/entity/metadata-task/create-task/ComputeTaskForm.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts +18 -0
- package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js +78 -0
- package/dist/features/entity/metadata-task/create-task/CreateCurationTaskFlow.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.d.ts +10 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.js +40 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskCategoryPicker.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.d.ts +13 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.js +35 -0
- package/dist/features/entity/metadata-task/create-task/CreateTaskConfirmation.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts +41 -0
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js +198 -0
- package/dist/features/entity/metadata-task/create-task/CurateTaskForm.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.d.ts +8 -0
- package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.js +29 -0
- package/dist/features/entity/metadata-task/create-task/EditCurationTaskPage.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts +13 -0
- package/dist/features/entity/metadata-task/create-task/FileBasedFields.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/FileBasedFields.js +65 -0
- package/dist/features/entity/metadata-task/create-task/FileBasedFields.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.d.ts +11 -0
- package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.js +33 -0
- package/dist/features/entity/metadata-task/create-task/ProjectSelectorField.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts +13 -0
- package/dist/features/entity/metadata-task/create-task/RecordBasedFields.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js +38 -0
- package/dist/features/entity/metadata-task/create-task/RecordBasedFields.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts +13 -0
- package/dist/features/entity/metadata-task/create-task/RecordSetFields.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/RecordSetFields.js +72 -0
- package/dist/features/entity/metadata-task/create-task/RecordSetFields.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts +11 -0
- package/dist/features/entity/metadata-task/create-task/SampleSheetFields.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js +42 -0
- package/dist/features/entity/metadata-task/create-task/SampleSheetFields.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.d.ts +17 -0
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js +70 -0
- package/dist/features/entity/metadata-task/create-task/TaskCategoryCard.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormActions.d.ts +23 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormActions.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormActions.js +68 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormActions.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.d.ts +17 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js +33 -0
- package/dist/features/entity/metadata-task/create-task/TaskFormHeader.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts +50 -0
- package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js +76 -0
- package/dist/features/entity/metadata-task/create-task/useCurationTaskFormState.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts +36 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js +31 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildComputeTaskPayload.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts +32 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js +33 -0
- package/dist/features/entity/metadata-task/create-task/utils/buildCurateTaskPayload.js.map +1 -0
- package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.d.ts +10 -0
- package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.js +13 -0
- package/dist/features/entity/metadata-task/create-task/utils/taskIdValidation.js.map +1 -0
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +24 -24
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js +2 -2
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +33 -32
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +24 -21
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.d.ts +84 -15
- package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/utils/constants.js +47 -3
- package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/dueDate.d.ts +22 -0
- package/dist/features/entity/metadata-task/utils/dueDate.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/utils/dueDate.js +24 -0
- package/dist/features/entity/metadata-task/utils/dueDate.js.map +1 -0
- package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts +2 -2
- package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +5 -6
- package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.d.ts +4 -4
- package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js +5 -6
- package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
- package/dist/features/entity/metadata-task/utils/types.d.ts +12 -0
- package/dist/features/entity/metadata-task/utils/types.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/utils/types.js +18 -0
- package/dist/features/entity/metadata-task/utils/types.js.map +1 -0
- package/dist/mocks/curation/mockCurationTask.d.ts +6 -0
- package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -1
- package/dist/mocks/curation/mockCurationTask.js +20 -3
- package/dist/mocks/curation/mockCurationTask.js.map +1 -1
- package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.d.ts +16 -0
- package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.d.ts.map +1 -0
- package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.js +24 -0
- package/dist/mocks/msw/handlers/curationTaskExecutionHandlers.js.map +1 -0
- package/dist/synapse-client/SynapseClient.d.ts +7 -1
- package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
- package/dist/synapse-client/SynapseClient.js +493 -482
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-client/index.js +3 -3
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts +8 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +48 -34
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/theme/palette/Palettes.js +2 -2
- package/dist/theme/palette/Palettes.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/AppUtils/session/useSessionManager.d.ts.map +1 -1
- package/dist/utils/AppUtils/session/useSessionManager.js +50 -48
- package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
- package/dist/utils/SynapseConstants.d.ts +4 -1
- package/dist/utils/SynapseConstants.d.ts.map +1 -1
- package/dist/utils/SynapseConstants.js +86 -83
- package/dist/utils/SynapseConstants.js.map +1 -1
- package/dist/utils/featureflag/FeatureFlags.d.ts +2 -2
- 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/hooks/useDetectSSOCode.d.ts.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js +37 -27
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/package.json +5 -5
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.d.ts +0 -8
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.d.ts.map +0 -1
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +0 -64
- package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import e from "../../../../synapse-queries/entity/useEntityBundle.js";
|
|
2
|
+
import { TASK_STATUS_CONFIG as t } from "../../../entity/metadata-task/utils/constants.js";
|
|
3
|
+
import { parseDueDate as n } from "../../../entity/metadata-task/utils/dueDate.js";
|
|
4
|
+
import r from "./CurationTaskCard.module.js";
|
|
5
|
+
import i from "./shared.module.js";
|
|
6
|
+
import a from "./UserOrTeamChip.js";
|
|
7
|
+
import { useState as o } from "react";
|
|
8
|
+
import { Card as s, Chip as c, Collapse as l, Divider as u, IconButton as d, Skeleton as f, Typography as p } from "@mui/material";
|
|
9
|
+
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
10
|
+
import { useNavigate as _ } from "react-router";
|
|
11
|
+
import v from "dayjs";
|
|
12
|
+
import y from "dayjs/plugin/utc";
|
|
13
|
+
import b from "classnames";
|
|
14
|
+
import x from "@mui/icons-material/SettingsOutlined";
|
|
15
|
+
//#region src/features/curator/dashboard/components/CurationTaskCardLayout.tsx
|
|
16
|
+
v.extend(y);
|
|
17
|
+
function S(e) {
|
|
18
|
+
let { label: t } = e;
|
|
19
|
+
return /* @__PURE__ */ h(c, {
|
|
20
|
+
sx: {
|
|
21
|
+
fontWeight: 600,
|
|
22
|
+
backgroundColor: "#BFD3ED"
|
|
23
|
+
},
|
|
24
|
+
label: t
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function C(e) {
|
|
28
|
+
let { state: n } = e;
|
|
29
|
+
if (!n) return null;
|
|
30
|
+
let { label: r, backgroundColor: i } = t[n];
|
|
31
|
+
return /* @__PURE__ */ h(c, {
|
|
32
|
+
size: "small",
|
|
33
|
+
sx: {
|
|
34
|
+
fontWeight: 600,
|
|
35
|
+
backgroundColor: i
|
|
36
|
+
},
|
|
37
|
+
label: r
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function w(e) {
|
|
41
|
+
let { dueDate: t } = e, r = n(t);
|
|
42
|
+
if (!r) return null;
|
|
43
|
+
let i = r.diff(v.utc().startOf("day"), "day"), a = r.format("MM/DD/YY"), o = "#E0E0E0";
|
|
44
|
+
return i < 0 ? o = "#FFCDD2" : i < 30 && (o = "#FFF9C4"), /* @__PURE__ */ h(c, {
|
|
45
|
+
size: "small",
|
|
46
|
+
sx: {
|
|
47
|
+
fontWeight: 600,
|
|
48
|
+
backgroundColor: o
|
|
49
|
+
},
|
|
50
|
+
label: `Due ${a}`
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function T(e) {
|
|
54
|
+
return {
|
|
55
|
+
title: e?.dataType ?? "",
|
|
56
|
+
description: e?.instructions ?? "",
|
|
57
|
+
principalIds: e?.assigneePrincipalId ? [e.assigneePrincipalId] : []
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function E(t) {
|
|
61
|
+
let { taskBundle: n, title: c, description: v, taskType: y, principalIds: T, renderActionButton: E } = t, D = _(), [O, k] = o(!1), A = n.task?.taskId, j = n.task?.projectId, { data: M } = e(j, void 0, {
|
|
62
|
+
includeEntity: !0,
|
|
63
|
+
includePermissions: !0
|
|
64
|
+
}), N = M?.permissions?.canEdit ?? !1;
|
|
65
|
+
return /* @__PURE__ */ g(s, {
|
|
66
|
+
className: b(i.card, r.card),
|
|
67
|
+
children: [/* @__PURE__ */ g("div", {
|
|
68
|
+
className: r.cardContent,
|
|
69
|
+
children: [
|
|
70
|
+
/* @__PURE__ */ g("div", {
|
|
71
|
+
className: r.mainContent,
|
|
72
|
+
children: [
|
|
73
|
+
/* @__PURE__ */ g("div", {
|
|
74
|
+
className: r.titleChipContainer,
|
|
75
|
+
children: [
|
|
76
|
+
/* @__PURE__ */ h(p, {
|
|
77
|
+
variant: "headline3",
|
|
78
|
+
className: r.title,
|
|
79
|
+
onClick: () => k(!O),
|
|
80
|
+
children: c
|
|
81
|
+
}),
|
|
82
|
+
y && /* @__PURE__ */ h(S, { label: y }),
|
|
83
|
+
N && /* @__PURE__ */ h(d, {
|
|
84
|
+
onClick: () => void D(`edit/${A}`),
|
|
85
|
+
"aria-label": "Task settings",
|
|
86
|
+
children: /* @__PURE__ */ h(x, {})
|
|
87
|
+
})
|
|
88
|
+
]
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ g("div", {
|
|
91
|
+
className: r.entityInfo,
|
|
92
|
+
children: [M?.entity?.name ? /* @__PURE__ */ h(p, {
|
|
93
|
+
variant: "body1",
|
|
94
|
+
children: M.entity.name
|
|
95
|
+
}) : /* @__PURE__ */ h(f, { width: 100 }), A && /* @__PURE__ */ g(p, {
|
|
96
|
+
variant: "body1",
|
|
97
|
+
children: ["Task ID: ", A]
|
|
98
|
+
})]
|
|
99
|
+
}),
|
|
100
|
+
/* @__PURE__ */ h("div", {
|
|
101
|
+
className: r.userChipContainer,
|
|
102
|
+
children: T.map((e) => /* @__PURE__ */ h(a, { principalId: e }, e))
|
|
103
|
+
})
|
|
104
|
+
]
|
|
105
|
+
}),
|
|
106
|
+
/* @__PURE__ */ g("div", {
|
|
107
|
+
className: r.statusContainer,
|
|
108
|
+
children: [/* @__PURE__ */ h(C, { state: n.status?.state }), /* @__PURE__ */ h(w, { dueDate: n.status?.dueDate })]
|
|
109
|
+
}),
|
|
110
|
+
!O && /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(u, {
|
|
111
|
+
orientation: "vertical",
|
|
112
|
+
flexItem: !0,
|
|
113
|
+
sx: { display: {
|
|
114
|
+
xs: "none",
|
|
115
|
+
md: "block"
|
|
116
|
+
} }
|
|
117
|
+
}), E({ expanded: !1 })] })
|
|
118
|
+
]
|
|
119
|
+
}), /* @__PURE__ */ h(l, {
|
|
120
|
+
in: O,
|
|
121
|
+
children: /* @__PURE__ */ g("div", {
|
|
122
|
+
className: r.expandedContent,
|
|
123
|
+
children: [v && /* @__PURE__ */ h(p, {
|
|
124
|
+
variant: "body1",
|
|
125
|
+
children: v
|
|
126
|
+
}), E({ expanded: !0 })]
|
|
127
|
+
})
|
|
128
|
+
})]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//#endregion
|
|
132
|
+
export { E as default, T as deriveCardFields };
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=CurationTaskCardLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CurationTaskCardLayout.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/CurationTaskCardLayout.tsx"],"sourcesContent":["import {\n Card,\n Chip,\n Collapse,\n Divider,\n IconButton,\n Skeleton,\n Typography,\n} from '@mui/material'\nimport {\n TaskBundle,\n TaskStatusStateEnum,\n} from '@sage-bionetworks/synapse-client'\nimport classNames from 'classnames'\nimport { ReactNode, useState } from 'react'\nimport { useNavigate } from 'react-router'\nimport dayjs from 'dayjs'\nimport utc from 'dayjs/plugin/utc'\nimport SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined'\nimport useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { TASK_STATUS_CONFIG } from '@/features/entity/metadata-task/utils/constants'\nimport { parseDueDate } from '@/features/entity/metadata-task/utils/dueDate'\nimport styles from './CurationTaskCard.module.scss'\nimport sharedStyles from './shared.module.scss'\nimport UserOrTeamChip from './UserOrTeamChip'\n\ndayjs.extend(utc)\n\nfunction TaskTypeChip(props: { label: string }) {\n const { label } = props\n return (\n <Chip sx={{ fontWeight: 600, backgroundColor: '#BFD3ED' }} label={label} />\n )\n}\n\n/**\n * A chip to display CurationTask status.\n *\n * See {@link https://www.figma.com/design/0oPm5lLSUva8kyfVNMS6FA/Sage-Style---Component-Library--SDS-?node-id=4942-1129&m=dev}\n */\nfunction TaskStatusChip(props: { state: TaskStatusStateEnum | undefined }) {\n const { state } = props\n if (!state) return null\n const { label, backgroundColor } = TASK_STATUS_CONFIG[state]\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={label}\n />\n )\n}\n\nfunction DueDateChip(props: { dueDate: string | undefined }) {\n const { dueDate } = props\n const dueDateObj = parseDueDate(dueDate)\n if (!dueDateObj) return null\n\n const daysUntilDue = dueDateObj.diff(dayjs.utc().startOf('day'), 'day')\n const formattedDate = dueDateObj.format('MM/DD/YY')\n\n let backgroundColor = '#E0E0E0'\n if (daysUntilDue < 0) {\n backgroundColor = '#FFCDD2'\n } else if (daysUntilDue < 30) {\n backgroundColor = '#FFF9C4'\n }\n\n return (\n <Chip\n size=\"small\"\n sx={{ fontWeight: 600, backgroundColor }}\n label={`Due ${formattedDate}`}\n />\n )\n}\n\nexport type CurationTaskCardLayoutProps = {\n taskBundle: TaskBundle\n title: string\n description: string\n taskType: string\n principalIds: string[]\n /** Renders the action button. `expanded` reflects whether the card is in its expanded layout. */\n renderActionButton: (props: { expanded: boolean }) => ReactNode\n}\n\n/** Derives the fields shared by every card variant from a task's common properties. */\nexport function deriveCardFields(task: TaskBundle['task']) {\n return {\n title: task?.dataType ?? '',\n description: task?.instructions ?? '',\n principalIds: task?.assigneePrincipalId ? [task.assigneePrincipalId] : [],\n }\n}\n\n/**\n * Shared presentational chrome for a curation task card: title, chips, entity info, assignees,\n * status/due date, and an action button slot. Both the grid and executable task cards compose this.\n */\nexport default function CurationTaskCardLayout(\n props: CurationTaskCardLayoutProps,\n) {\n const {\n taskBundle,\n title,\n description,\n taskType,\n principalIds,\n renderActionButton,\n } = props\n\n const navigate = useNavigate()\n const [isExpanded, setIsExpanded] = useState(false)\n\n const taskId = taskBundle.task?.taskId\n const projectId = taskBundle.task?.projectId\n const { data: bundle } = useGetEntityBundle(projectId, undefined, {\n includeEntity: true,\n includePermissions: true,\n })\n const canEdit = bundle?.permissions?.canEdit ?? false\n\n return (\n <Card className={classNames(sharedStyles.card, styles.card)}>\n <div className={styles.cardContent}>\n <div className={styles.mainContent}>\n <div className={styles.titleChipContainer}>\n <Typography\n variant=\"headline3\"\n className={styles.title}\n onClick={() => setIsExpanded(!isExpanded)}\n >\n {title}\n </Typography>\n {taskType && <TaskTypeChip label={taskType} />}\n {canEdit && (\n <IconButton\n onClick={() => void navigate(`edit/${taskId}`)}\n aria-label=\"Task settings\"\n >\n <SettingsOutlinedIcon />\n </IconButton>\n )}\n </div>\n <div className={styles.entityInfo}>\n {bundle?.entity?.name ? (\n <Typography variant=\"body1\">{bundle.entity.name}</Typography>\n ) : (\n <Skeleton width={100} />\n )}\n {taskId && (\n <Typography variant=\"body1\">Task ID: {taskId}</Typography>\n )}\n </div>\n <div className={styles.userChipContainer}>\n {principalIds.map(principalId => (\n <UserOrTeamChip key={principalId} principalId={principalId} />\n ))}\n </div>\n </div>\n <div className={styles.statusContainer}>\n <TaskStatusChip state={taskBundle.status?.state} />\n <DueDateChip dueDate={taskBundle.status?.dueDate} />\n </div>\n {!isExpanded && (\n <>\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ display: { xs: 'none', md: 'block' } }}\n />\n {renderActionButton({ expanded: false })}\n </>\n )}\n </div>\n <Collapse in={isExpanded}>\n <div className={styles.expandedContent}>\n {description && (\n <Typography variant=\"body1\">{description}</Typography>\n )}\n {renderActionButton({ expanded: true })}\n </div>\n </Collapse>\n </Card>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;AA0BA,EAAM,OAAO,CAAG;AAEhB,SAAS,EAAa,GAA0B;CAC9C,IAAM,EAAE,aAAU;CAClB,OACE,kBAAC,GAAD;EAAM,IAAI;GAAE,YAAY;GAAK,iBAAiB;EAAU;EAAU;CAAQ,CAAA;AAE9E;AAOA,SAAS,EAAe,GAAmD;CACzE,IAAM,EAAE,aAAU;CAClB,IAAI,CAAC,GAAO,OAAO;CACnB,IAAM,EAAE,UAAO,uBAAoB,EAAmB;CACtD,OACE,kBAAC,GAAD;EACE,MAAK;EACL,IAAI;GAAE,YAAY;GAAK;EAAgB;EAChC;CACR,CAAA;AAEL;AAEA,SAAS,EAAY,GAAwC;CAC3D,IAAM,EAAE,eAAY,GACd,IAAa,EAAa,CAAO;CACvC,IAAI,CAAC,GAAY,OAAO;CAExB,IAAM,IAAe,EAAW,KAAK,EAAM,IAAI,EAAE,QAAQ,KAAK,GAAG,KAAK,GAChE,IAAgB,EAAW,OAAO,UAAU,GAE9C,IAAkB;CAOtB,OANI,IAAe,IACjB,IAAkB,YACT,IAAe,OACxB,IAAkB,YAIlB,kBAAC,GAAD;EACE,MAAK;EACL,IAAI;GAAE,YAAY;GAAK;EAAgB;EACvC,OAAO,OAAO;CACf,CAAA;AAEL;AAaA,SAAgB,EAAiB,GAA0B;CACzD,OAAO;EACL,OAAO,GAAM,YAAY;EACzB,aAAa,GAAM,gBAAgB;EACnC,cAAc,GAAM,sBAAsB,CAAC,EAAK,mBAAmB,IAAI,CAAC;CAC1E;AACF;AAMA,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,eACA,UACA,gBACA,aACA,iBACA,0BACE,GAEE,IAAW,EAAY,GACvB,CAAC,GAAY,KAAiB,EAAS,EAAK,GAE5C,IAAS,EAAW,MAAM,QAC1B,IAAY,EAAW,MAAM,WAC7B,EAAE,MAAM,MAAW,EAAmB,GAAW,KAAA,GAAW;EAChE,eAAe;EACf,oBAAoB;CACtB,CAAC,GACK,IAAU,GAAQ,aAAa,WAAW;CAEhD,OACE,kBAAC,GAAD;EAAM,WAAW,EAAW,EAAa,MAAM,EAAO,IAAI;YAA1D,CACE,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACE,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB;MACE,kBAAC,OAAD;OAAK,WAAW,EAAO;iBAAvB;QACE,kBAAC,GAAD;SACE,SAAQ;SACR,WAAW,EAAO;SAClB,eAAe,EAAc,CAAC,CAAU;mBAEvC;QACS,CAAA;QACX,KAAY,kBAAC,GAAD,EAAc,OAAO,EAAW,CAAA;QAC5C,KACC,kBAAC,GAAD;SACE,eAAe,KAAK,EAAS,QAAQ,GAAQ;SAC7C,cAAW;mBAEX,kBAAC,GAAD,CAAuB,CAAA;QACb,CAAA;OAEX;;MACL,kBAAC,OAAD;OAAK,WAAW,EAAO;iBAAvB,CACG,GAAQ,QAAQ,OACf,kBAAC,GAAD;QAAY,SAAQ;kBAAS,EAAO,OAAO;OAAiB,CAAA,IAE5D,kBAAC,GAAD,EAAU,OAAO,IAAM,CAAA,GAExB,KACC,kBAAC,GAAD;QAAY,SAAQ;kBAApB,CAA4B,aAAU,CAAmB;SAExD;;MACL,kBAAC,OAAD;OAAK,WAAW,EAAO;iBACpB,EAAa,KAAI,MAChB,kBAAC,GAAD,EAA+C,eAAc,GAAxC,CAAwC,CAC9D;MACE,CAAA;KACF;;IACL,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACE,kBAAC,GAAD,EAAgB,OAAO,EAAW,QAAQ,MAAQ,CAAA,GAClD,kBAAC,GAAD,EAAa,SAAS,EAAW,QAAQ,QAAU,CAAA,CAChD;;IACJ,CAAC,KACA,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,GAAD;KACE,aAAY;KACZ,UAAA;KACA,IAAI,EAAE,SAAS;MAAE,IAAI;MAAQ,IAAI;KAAQ,EAAE;IAC5C,CAAA,GACA,EAAmB,EAAE,UAAU,GAAM,CAAC,CACvC,EAAA,CAAA;GAED;MACL,kBAAC,GAAD;GAAU,IAAI;aACZ,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB,CACG,KACC,kBAAC,GAAD;KAAY,SAAQ;eAAS;IAAwB,CAAA,GAEtD,EAAmB,EAAE,UAAU,GAAK,CAAC,CACnC;;EACG,CAAA,CACN;;AAEV"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TaskBundle } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
export type ExecutableTaskCardProps = {
|
|
3
|
+
taskBundle: TaskBundle;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Card for an executable (Compute Data) curation task. Lets an authorized user run the task's agent
|
|
7
|
+
* and, once finished, navigate to the destination task where the generated output was written.
|
|
8
|
+
*/
|
|
9
|
+
export default function ExecutableTaskCard(props: ExecutableTaskCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=ExecutableTaskCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutableTaskCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/ExecutableTaskCard.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAS7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CAwExE"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
|
|
2
|
+
import { GRID_PAGE_TASK_ID_QUERY_PARAM as t } from "../../../../utils/SynapseConstants.js";
|
|
3
|
+
import n from "../../../../synapse-queries/entity/useEntityBundle.js";
|
|
4
|
+
import { useGetCurrentUserProfile as r } from "../../../../synapse-queries/user/useUserBundle.js";
|
|
5
|
+
import { useGetIsPrincipalIdUserOrMemberOfTeam as i } from "../../../../synapse-queries/team/useTeamMembers.js";
|
|
6
|
+
import "../../../../components/index.js";
|
|
7
|
+
import { useExecuteCurationTask as a } from "../../../../synapse-queries/curation/task/useCurationTask.js";
|
|
8
|
+
import o from "./CurationTaskCard.module.js";
|
|
9
|
+
import s, { deriveCardFields as c } from "./CurationTaskCardLayout.js";
|
|
10
|
+
import { getExecutableTaskButtonState as l } from "./getExecutableTaskButtonState.js";
|
|
11
|
+
import u from "./NextStepButton.js";
|
|
12
|
+
import { jsx as d } from "react/jsx-runtime";
|
|
13
|
+
import { useSearchParams as f } from "react-router";
|
|
14
|
+
//#region src/features/curator/dashboard/components/ExecutableTaskCard.tsx
|
|
15
|
+
function p(p) {
|
|
16
|
+
let { taskBundle: m } = p, h = m.task, g = h.taskProperties, _ = g && "destinationTaskId" in g ? g.destinationTaskId : void 0, [, v] = f(), { data: y } = n(h.projectId, void 0, {
|
|
17
|
+
includeEntity: !0,
|
|
18
|
+
includePermissions: !0
|
|
19
|
+
}), b = y?.permissions?.canEdit ?? !1, { data: x } = r(), { data: S } = i(x?.ownerId ?? "", h.assigneePrincipalId ?? "", { enabled: !!x?.ownerId && !!h.assigneePrincipalId }), C = b || !!S, { mutate: w, isPending: T } = a({ onError: (t) => e(t.message, "danger") }), E = l({
|
|
20
|
+
state: m.status?.state,
|
|
21
|
+
canExecute: C,
|
|
22
|
+
isExecutePending: T,
|
|
23
|
+
destinationTaskId: _
|
|
24
|
+
}), { title: D, description: O, principalIds: k } = c(h);
|
|
25
|
+
function A() {
|
|
26
|
+
E.action === "start" ? w(h.taskId) : E.action === "viewResult" && _ && v((e) => {
|
|
27
|
+
let n = new URLSearchParams(e);
|
|
28
|
+
return n.set(t, String(_)), n;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return /* @__PURE__ */ d(s, {
|
|
32
|
+
taskBundle: m,
|
|
33
|
+
title: D,
|
|
34
|
+
description: O,
|
|
35
|
+
taskType: "Compute",
|
|
36
|
+
principalIds: k,
|
|
37
|
+
renderActionButton: ({ expanded: e }) => /* @__PURE__ */ d(u, {
|
|
38
|
+
className: o.cardButton,
|
|
39
|
+
buttonText: E.buttonText,
|
|
40
|
+
onClick: A,
|
|
41
|
+
disabled: E.disabled,
|
|
42
|
+
loading: E.loading,
|
|
43
|
+
tooltip: E.tooltip,
|
|
44
|
+
expanded: e
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { p as default };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=ExecutableTaskCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecutableTaskCard.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/ExecutableTaskCard.tsx"],"sourcesContent":["import { displayToast } from '@/components'\nimport { useExecuteCurationTask } from '@/synapse-queries/curation/task/useCurationTask'\nimport useGetEntityBundle from '@/synapse-queries/entity/useEntityBundle'\nimport { useGetIsPrincipalIdUserOrMemberOfTeam } from '@/synapse-queries/team/useTeamMembers'\nimport { useGetCurrentUserProfile } from '@/synapse-queries/user/useUserBundle'\nimport { GRID_PAGE_TASK_ID_QUERY_PARAM } from '@/utils/SynapseConstants'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { useSearchParams } from 'react-router'\nimport CurationTaskCardLayout, {\n deriveCardFields,\n} from './CurationTaskCardLayout'\nimport { getExecutableTaskButtonState } from './getExecutableTaskButtonState'\nimport NextStepButton from './NextStepButton'\nimport styles from './CurationTaskCard.module.scss'\n\nexport type ExecutableTaskCardProps = {\n taskBundle: TaskBundle\n}\n\n/**\n * Card for an executable (Compute Data) curation task. Lets an authorized user run the task's agent\n * and, once finished, navigate to the destination task where the generated output was written.\n */\nexport default function ExecutableTaskCard(props: ExecutableTaskCardProps) {\n const { taskBundle } = props\n const task = taskBundle.task!\n const taskProperties = task.taskProperties\n const destinationTaskId =\n taskProperties && 'destinationTaskId' in taskProperties\n ? taskProperties.destinationTaskId\n : undefined\n\n const [, setSearchParams] = useSearchParams()\n\n const { data: bundle } = useGetEntityBundle(task.projectId, undefined, {\n includeEntity: true,\n includePermissions: true,\n })\n const canEdit = bundle?.permissions?.canEdit ?? false\n\n const { data: currentUserProfile } = useGetCurrentUserProfile()\n const { data: isAssigneeOrTeamMember } =\n useGetIsPrincipalIdUserOrMemberOfTeam(\n currentUserProfile?.ownerId ?? '',\n task.assigneePrincipalId ?? '',\n { enabled: !!currentUserProfile?.ownerId && !!task.assigneePrincipalId },\n )\n\n const canExecute = canEdit || Boolean(isAssigneeOrTeamMember)\n\n const { mutate: executeTask, isPending } = useExecuteCurationTask({\n onError: error => displayToast(error.message, 'danger'),\n })\n\n const buttonState = getExecutableTaskButtonState({\n state: taskBundle.status?.state,\n canExecute,\n isExecutePending: isPending,\n destinationTaskId,\n })\n\n const { title, description, principalIds } = deriveCardFields(task)\n\n function onClickAction() {\n if (buttonState.action === 'start') {\n executeTask(task.taskId!)\n } else if (buttonState.action === 'viewResult' && destinationTaskId) {\n setSearchParams(prev => {\n const next = new URLSearchParams(prev)\n next.set(GRID_PAGE_TASK_ID_QUERY_PARAM, String(destinationTaskId))\n return next\n })\n }\n }\n\n return (\n <CurationTaskCardLayout\n taskBundle={taskBundle}\n title={title}\n description={description}\n taskType=\"Compute\"\n principalIds={principalIds}\n renderActionButton={({ expanded }) => (\n <NextStepButton\n className={styles.cardButton}\n buttonText={buttonState.buttonText}\n onClick={onClickAction}\n disabled={buttonState.disabled}\n loading={buttonState.loading}\n tooltip={buttonState.tooltip}\n expanded={expanded}\n />\n )}\n />\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAuBA,SAAwB,EAAmB,GAAgC;CACzE,IAAM,EAAE,kBAAe,GACjB,IAAO,EAAW,MAClB,IAAiB,EAAK,gBACtB,IACJ,KAAkB,uBAAuB,IACrC,EAAe,oBACf,KAAA,GAEA,GAAG,KAAmB,EAAgB,GAEtC,EAAE,MAAM,MAAW,EAAmB,EAAK,WAAW,KAAA,GAAW;EACrE,eAAe;EACf,oBAAoB;CACtB,CAAC,GACK,IAAU,GAAQ,aAAa,WAAW,IAE1C,EAAE,MAAM,MAAuB,EAAyB,GACxD,EAAE,MAAM,MACZ,EACE,GAAoB,WAAW,IAC/B,EAAK,uBAAuB,IAC5B,EAAE,SAAS,CAAC,CAAC,GAAoB,WAAW,CAAC,CAAC,EAAK,oBAAoB,CACzE,GAEI,IAAa,KAAW,EAAQ,GAEhC,EAAE,QAAQ,GAAa,iBAAc,EAAuB,EAChE,UAAS,MAAS,EAAa,EAAM,SAAS,QAAQ,EACxD,CAAC,GAEK,IAAc,EAA6B;EAC/C,OAAO,EAAW,QAAQ;EAC1B;EACA,kBAAkB;EAClB;CACF,CAAC,GAEK,EAAE,UAAO,gBAAa,oBAAiB,EAAiB,CAAI;CAElE,SAAS,IAAgB;EACvB,AAAI,EAAY,WAAW,UACzB,EAAY,EAAK,MAAO,IACf,EAAY,WAAW,gBAAgB,KAChD,GAAgB,MAAQ;GACtB,IAAM,IAAO,IAAI,gBAAgB,CAAI;GAErC,OADA,EAAK,IAAI,GAA+B,OAAO,CAAiB,CAAC,GAC1D;EACT,CAAC;CAEL;CAEA,OACE,kBAAC,GAAD;EACc;EACL;EACM;EACb,UAAS;EACK;EACd,qBAAqB,EAAE,kBACrB,kBAAC,GAAD;GACE,WAAW,EAAO;GAClB,YAAY,EAAY;GACxB,SAAS;GACT,UAAU,EAAY;GACtB,SAAS,EAAY;GACrB,SAAS,EAAY;GACX;EACX,CAAA;CAEJ,CAAA;AAEL"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TaskBundle } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
export type GridTaskCardProps = {
|
|
3
|
+
taskBundle: TaskBundle;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Card for a grid-supported (Curate Data) curation task. The action button opens the task in
|
|
7
|
+
* Curator, gated on read access to the task's source entity.
|
|
8
|
+
*/
|
|
9
|
+
export default function GridTaskCard(props: GridTaskCardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=GridTaskCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridTaskCard.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/GridTaskCard.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAO7D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAmC5D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
|
|
2
|
+
import "../../../../components/index.js";
|
|
3
|
+
import { OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE as t } from "../../../entity/metadata-task/utils/constants.js";
|
|
4
|
+
import n from "../../../entity/metadata-task/hooks/useOpenCuratorButton.js";
|
|
5
|
+
import r from "./CurationTaskCard.module.js";
|
|
6
|
+
import i, { deriveCardFields as a } from "./CurationTaskCardLayout.js";
|
|
7
|
+
import o from "./NextStepButton.js";
|
|
8
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
9
|
+
//#region src/features/curator/dashboard/components/GridTaskCard.tsx
|
|
10
|
+
function c(c) {
|
|
11
|
+
let { taskBundle: l } = c, { onClick: u, isLoading: d, isPending: f, hasPermission: p } = n(l);
|
|
12
|
+
function m() {
|
|
13
|
+
p ? u() : e(t, "danger");
|
|
14
|
+
}
|
|
15
|
+
let { title: h, description: g, principalIds: _ } = a(l.task);
|
|
16
|
+
return /* @__PURE__ */ s(i, {
|
|
17
|
+
taskBundle: l,
|
|
18
|
+
title: h,
|
|
19
|
+
description: g,
|
|
20
|
+
taskType: "Curate Data",
|
|
21
|
+
principalIds: _,
|
|
22
|
+
renderActionButton: ({ expanded: e }) => /* @__PURE__ */ s(o, {
|
|
23
|
+
className: r.cardButton,
|
|
24
|
+
buttonText: "Open Curator",
|
|
25
|
+
onClick: m,
|
|
26
|
+
disabled: d,
|
|
27
|
+
loading: f,
|
|
28
|
+
expanded: e
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { c as default };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=GridTaskCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridTaskCard.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/GridTaskCard.tsx"],"sourcesContent":["import { displayToast } from '@/components'\nimport useOpenCuratorFromTaskButton from '@/features/entity/metadata-task/hooks/useOpenCuratorButton'\nimport { OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE } from '@/features/entity/metadata-task/utils/constants'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport CurationTaskCardLayout, {\n deriveCardFields,\n} from './CurationTaskCardLayout'\nimport NextStepButton from './NextStepButton'\nimport styles from './CurationTaskCard.module.scss'\n\nexport type GridTaskCardProps = {\n taskBundle: TaskBundle\n}\n\n/**\n * Card for a grid-supported (Curate Data) curation task. The action button opens the task in\n * Curator, gated on read access to the task's source entity.\n */\nexport default function GridTaskCard(props: GridTaskCardProps) {\n const { taskBundle } = props\n\n const { onClick, isLoading, isPending, hasPermission } =\n useOpenCuratorFromTaskButton(taskBundle)\n\n function onClickAction() {\n if (hasPermission) {\n onClick()\n } else {\n displayToast(OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE, 'danger')\n }\n }\n\n const { title, description, principalIds } = deriveCardFields(taskBundle.task)\n\n return (\n <CurationTaskCardLayout\n taskBundle={taskBundle}\n title={title}\n description={description}\n taskType=\"Curate Data\"\n principalIds={principalIds}\n renderActionButton={({ expanded }) => (\n <NextStepButton\n className={styles.cardButton}\n buttonText=\"Open Curator\"\n onClick={onClickAction}\n disabled={isLoading}\n loading={isPending}\n expanded={expanded}\n />\n )}\n />\n )\n}\n"],"mappings":";;;;;;;;;AAkBA,SAAwB,EAAa,GAA0B;CAC7D,IAAM,EAAE,kBAAe,GAEjB,EAAE,YAAS,cAAW,cAAW,qBACrC,EAA6B,CAAU;CAEzC,SAAS,IAAgB;EACvB,AAAI,IACF,EAAQ,IAER,EAAa,GAAoD,QAAQ;CAE7E;CAEA,IAAM,EAAE,UAAO,gBAAa,oBAAiB,EAAiB,EAAW,IAAI;CAE7E,OACE,kBAAC,GAAD;EACc;EACL;EACM;EACb,UAAS;EACK;EACd,qBAAqB,EAAE,kBACrB,kBAAC,GAAD;GACE,WAAW,EAAO;GAClB,YAAW;GACX,SAAS;GACT,UAAU;GACV,SAAS;GACC;EACX,CAAA;CAEJ,CAAA;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._button_1ncgu_1{flex-direction:row;justify-content:flex-end;align-items:center;gap:32px;display:flex}._button_1ncgu_1 ._icon_1ncgu_8{color:var(--synapse-gray-700);font-size:30px}._button_1ncgu_1 ._buttonText_1ncgu_12{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-start;gap:0;margin-left:16px;margin-right:16px;display:flex}._button_1ncgu_1 ._buttonTextSub_1ncgu_22{color:var(--synapse-gray-700)}._button_1ncgu_1:disabled{pointer-events:all;opacity:.5}._button_1ncgu_1:hover:not(:disabled) ._buttonTextMain_1ncgu_29{text-decoration:underline}._button_1ncgu_1:hover:not(:disabled) ._icon_1ncgu_8,._button_1ncgu_1:hover:not(:disabled) ._buttonTextSub_1ncgu_22{color:var(--synapse-gray-800)}._button_1ncgu_1:active:not(:disabled) ._buttonTextMain_1ncgu_29{text-decoration:underline;text-decoration-thickness:3px}._button_1ncgu_1:active:not(:disabled) ._icon_1ncgu_8,._button_1ncgu_1:active:not(:disabled) ._buttonTextSub_1ncgu_22{color:var(--synapse-gray-900)}._expandedButton_1ncgu_49{background-color:var(--synapse-primary-action-color);color:#fff;cursor:pointer;border:none;border-radius:4px;flex-direction:row;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 24px;display:flex}._expandedButton_1ncgu_49:disabled{pointer-events:all;opacity:.5}._expandedButton_1ncgu_49:hover:not(:disabled){opacity:.9}._expandedButton_1ncgu_49:active:not(:disabled){opacity:.8}
|
|
@@ -4,6 +4,9 @@ type NextStepButtonProps = {
|
|
|
4
4
|
onClick: () => void;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
loading?: boolean;
|
|
7
|
+
expanded?: boolean;
|
|
8
|
+
/** When provided, wraps the button in a tooltip. Useful to explain a disabled state. */
|
|
9
|
+
tooltip?: string;
|
|
7
10
|
};
|
|
8
11
|
/**
|
|
9
12
|
* Button component used to proceed to the next step in a workflow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextStepButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NextStepButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"names":[],"mappings":"AAOA,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAoBD;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA8DhE"}
|
|
@@ -1,35 +1,65 @@
|
|
|
1
1
|
import { SynapseSpinner as e } from "../../../../components/LoadingScreen/LoadingScreen.js";
|
|
2
2
|
import t from "./NextStepButton.module.js";
|
|
3
|
-
import {
|
|
4
|
-
import { jsx as
|
|
5
|
-
import { ArrowForwardIos as
|
|
6
|
-
import
|
|
3
|
+
import { Button as n, Tooltip as r, Typography as i } from "@mui/material";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
+
import { ArrowForwardIos as s, TableChartOutlined as c } from "@mui/icons-material";
|
|
6
|
+
import l from "classnames";
|
|
7
7
|
//#region src/features/curator/dashboard/components/NextStepButton.tsx
|
|
8
|
-
function
|
|
9
|
-
let {
|
|
10
|
-
return /* @__PURE__ */
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
function u(e) {
|
|
9
|
+
let { children: t, title: n } = e;
|
|
10
|
+
return n ? /* @__PURE__ */ a(r, {
|
|
11
|
+
title: n,
|
|
12
|
+
children: /* @__PURE__ */ a("span", {
|
|
13
|
+
style: { display: "inline-flex" },
|
|
14
|
+
children: t
|
|
15
|
+
})
|
|
16
|
+
}) : t;
|
|
17
|
+
}
|
|
18
|
+
function d(r) {
|
|
19
|
+
let { className: d, buttonText: f, onClick: p, disabled: m, loading: h, expanded: g, tooltip: _ } = r;
|
|
20
|
+
return g ? /* @__PURE__ */ a(u, {
|
|
21
|
+
title: _,
|
|
22
|
+
children: /* @__PURE__ */ a(n, {
|
|
23
|
+
className: l(t.expandedButton, d),
|
|
24
|
+
onClick: p,
|
|
25
|
+
disabled: m || h,
|
|
26
|
+
startIcon: /* @__PURE__ */ a(c, { sx: { fontSize: 20 } }),
|
|
27
|
+
sx: { width: "100%" },
|
|
28
|
+
children: /* @__PURE__ */ a(i, {
|
|
23
29
|
variant: "buttonLink",
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
sx: {
|
|
31
|
+
color: "inherit",
|
|
32
|
+
fontWeight: 700
|
|
33
|
+
},
|
|
34
|
+
children: f
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
}) : /* @__PURE__ */ a(u, {
|
|
38
|
+
title: _,
|
|
39
|
+
children: /* @__PURE__ */ o("button", {
|
|
40
|
+
type: "button",
|
|
41
|
+
className: l(t.button, d),
|
|
42
|
+
onClick: p,
|
|
43
|
+
disabled: m || h,
|
|
44
|
+
children: [/* @__PURE__ */ o("div", {
|
|
45
|
+
className: t.buttonText,
|
|
46
|
+
children: [/* @__PURE__ */ a(i, {
|
|
47
|
+
className: t.buttonTextSub,
|
|
48
|
+
variant: "body1",
|
|
49
|
+
children: "Next step"
|
|
50
|
+
}), /* @__PURE__ */ a(i, {
|
|
51
|
+
className: t.buttonTextMain,
|
|
52
|
+
variant: "buttonLink",
|
|
53
|
+
color: "primary",
|
|
54
|
+
fontWeight: 700,
|
|
55
|
+
align: "left",
|
|
56
|
+
children: f
|
|
57
|
+
})]
|
|
58
|
+
}), h ? /* @__PURE__ */ a(e, { size: 30 }) : /* @__PURE__ */ a(s, { className: t.icon })]
|
|
59
|
+
})
|
|
30
60
|
});
|
|
31
61
|
}
|
|
32
62
|
//#endregion
|
|
33
|
-
export {
|
|
63
|
+
export { d as default };
|
|
34
64
|
|
|
35
65
|
//# sourceMappingURL=NextStepButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextStepButton.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"sourcesContent":["import styles from './NextStepButton.module.scss'\nimport { Typography } from '@mui/material'\nimport { ArrowForwardIos } from '@mui/icons-material'\nimport { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport classNames from 'classnames'\n\ntype NextStepButtonProps = {\n className?: string\n buttonText: string\n onClick: () => void\n disabled?: boolean\n loading?: boolean\n}\n\n/**\n * Button component used to proceed to the next step in a workflow.\n * Displays an arrow icon or loading spinner when appropriate.\n */\nexport default function NextStepButton(props: NextStepButtonProps) {\n const { className,
|
|
1
|
+
{"version":3,"file":"NextStepButton.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.tsx"],"sourcesContent":["import styles from './NextStepButton.module.scss'\nimport { Button, Tooltip, Typography } from '@mui/material'\nimport { ArrowForwardIos, TableChartOutlined } from '@mui/icons-material'\nimport { SynapseSpinner } from '@/components/LoadingScreen/LoadingScreen'\nimport classNames from 'classnames'\nimport { PropsWithChildren } from 'react'\n\ntype NextStepButtonProps = {\n className?: string\n buttonText: string\n onClick: () => void\n disabled?: boolean\n loading?: boolean\n expanded?: boolean\n /** When provided, wraps the button in a tooltip. Useful to explain a disabled state. */\n tooltip?: string\n}\n\n/**\n * Wraps the button in a Tooltip when tooltip text is provided. A disabled MUI button does not fire\n * pointer events, so the button is wrapped in a focusable span so the tooltip remains discoverable.\n */\nfunction OptionalButtonTooltip(\n props: PropsWithChildren<{ title: string | undefined }>,\n) {\n const { children, title } = props\n if (!title) {\n return children\n }\n return (\n <Tooltip title={title}>\n <span style={{ display: 'inline-flex' }}>{children}</span>\n </Tooltip>\n )\n}\n\n/**\n * Button component used to proceed to the next step in a workflow.\n * Displays an arrow icon or loading spinner when appropriate.\n */\nexport default function NextStepButton(props: NextStepButtonProps) {\n const {\n className,\n buttonText,\n onClick,\n disabled,\n loading,\n expanded,\n tooltip,\n } = props\n\n if (expanded) {\n return (\n <OptionalButtonTooltip title={tooltip}>\n <Button\n className={classNames(styles.expandedButton, className)}\n onClick={onClick}\n disabled={disabled || loading}\n startIcon={<TableChartOutlined sx={{ fontSize: 20 }} />}\n sx={{ width: '100%' }}\n >\n <Typography\n variant=\"buttonLink\"\n sx={{ color: 'inherit', fontWeight: 700 }}\n >\n {buttonText}\n </Typography>\n </Button>\n </OptionalButtonTooltip>\n )\n }\n\n return (\n <OptionalButtonTooltip title={tooltip}>\n <button\n type=\"button\"\n className={classNames(styles.button, className)}\n onClick={onClick}\n disabled={disabled || loading}\n >\n <div className={styles.buttonText}>\n <Typography className={styles.buttonTextSub} variant=\"body1\">\n Next step\n </Typography>\n <Typography\n className={styles.buttonTextMain}\n variant=\"buttonLink\"\n color=\"primary\"\n fontWeight={700}\n align=\"left\"\n >\n {buttonText}\n </Typography>\n </div>\n {loading ? (\n <SynapseSpinner size={30} />\n ) : (\n <ArrowForwardIos className={styles.icon} />\n )}\n </button>\n </OptionalButtonTooltip>\n )\n}\n"],"mappings":";;;;;;;AAsBA,SAAS,EACP,GACA;CACA,IAAM,EAAE,aAAU,aAAU;CAI5B,OAHK,IAIH,kBAAC,GAAD;EAAgB;YACd,kBAAC,QAAD;GAAM,OAAO,EAAE,SAAS,cAAc;GAAI;EAAe,CAAA;CAClD,CAAA,IALF;AAOX;AAMA,SAAwB,EAAe,GAA4B;CACjE,IAAM,EACJ,cACA,eACA,YACA,aACA,YACA,aACA,eACE;CAuBJ,OArBI,IAEA,kBAAC,GAAD;EAAuB,OAAO;YAC5B,kBAAC,GAAD;GACE,WAAW,EAAW,EAAO,gBAAgB,CAAS;GAC7C;GACT,UAAU,KAAY;GACtB,WAAW,kBAAC,GAAD,EAAoB,IAAI,EAAE,UAAU,GAAG,EAAI,CAAA;GACtD,IAAI,EAAE,OAAO,OAAO;aAEpB,kBAAC,GAAD;IACE,SAAQ;IACR,IAAI;KAAE,OAAO;KAAW,YAAY;IAAI;cAEvC;GACS,CAAA;EACN,CAAA;CACa,CAAA,IAKzB,kBAAC,GAAD;EAAuB,OAAO;YAC5B,kBAAC,UAAD;GACE,MAAK;GACL,WAAW,EAAW,EAAO,QAAQ,CAAS;GACrC;GACT,UAAU,KAAY;aAJxB,CAME,kBAAC,OAAD;IAAK,WAAW,EAAO;cAAvB,CACE,kBAAC,GAAD;KAAY,WAAW,EAAO;KAAe,SAAQ;eAAQ;IAEjD,CAAA,GACZ,kBAAC,GAAD;KACE,WAAW,EAAO;KAClB,SAAQ;KACR,OAAM;KACN,YAAY;KACZ,OAAM;eAEL;IACS,CAAA,CACT;OACJ,IACC,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAE3B,kBAAC,GAAD,EAAiB,WAAW,EAAO,KAAO,CAAA,CAEtC;;CACa,CAAA;AAE3B"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import './NextStepButton.css';var e = {
|
|
2
|
-
button: "
|
|
3
|
-
icon: "
|
|
4
|
-
buttonText: "
|
|
5
|
-
buttonTextSub: "
|
|
6
|
-
buttonTextMain: "
|
|
2
|
+
button: "_button_1ncgu_1",
|
|
3
|
+
icon: "_icon_1ncgu_8",
|
|
4
|
+
buttonText: "_buttonText_1ncgu_12",
|
|
5
|
+
buttonTextSub: "_buttonTextSub_1ncgu_22",
|
|
6
|
+
buttonTextMain: "_buttonTextMain_1ncgu_29",
|
|
7
|
+
expandedButton: "_expandedButton_1ncgu_49"
|
|
7
8
|
};
|
|
8
9
|
//#endregion
|
|
9
10
|
export { e as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextStepButton.module.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.module.scss"],"sourcesContent":[".button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 32px;\n\n .icon {\n color: var(--synapse-gray-700);\n font-size: 30px;\n }\n\n .buttonText {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n gap: 0;\n flex-shrink: 0;\n margin-left: 16px;\n margin-right: 16px;\n }\n\n .buttonTextSub {\n color: var(--synapse-gray-700);\n }\n\n &:disabled {\n pointer-events: all;\n opacity: 0.5;\n }\n\n &:hover:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n }\n .icon {\n color: var(--synapse-gray-800);\n }\n .buttonTextSub {\n color: var(--synapse-gray-800);\n }\n }\n\n &:active:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n text-decoration-thickness: 3px;\n }\n .icon {\n color: var(--synapse-gray-900);\n }\n .buttonTextSub {\n color: var(--synapse-gray-900);\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"NextStepButton.module.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/NextStepButton.module.scss"],"sourcesContent":[".button {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n gap: 32px;\n\n .icon {\n color: var(--synapse-gray-700);\n font-size: 30px;\n }\n\n .buttonText {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n gap: 0;\n flex-shrink: 0;\n margin-left: 16px;\n margin-right: 16px;\n }\n\n .buttonTextSub {\n color: var(--synapse-gray-700);\n }\n\n &:disabled {\n pointer-events: all;\n opacity: 0.5;\n }\n\n &:hover:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n }\n .icon {\n color: var(--synapse-gray-800);\n }\n .buttonTextSub {\n color: var(--synapse-gray-800);\n }\n }\n\n &:active:not(:disabled) {\n .buttonTextMain {\n text-decoration: underline;\n text-decoration-thickness: 3px;\n }\n .icon {\n color: var(--synapse-gray-900);\n }\n .buttonTextSub {\n color: var(--synapse-gray-900);\n }\n }\n}\n\n.expandedButton {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 8px;\n width: 100%;\n padding: 12px 24px;\n background-color: var(--synapse-primary-action-color);\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n\n &:disabled {\n pointer-events: all;\n opacity: 0.5;\n }\n\n &:hover:not(:disabled) {\n opacity: 0.9;\n }\n\n &:active:not(:disabled) {\n opacity: 0.8;\n }\n}\n"],"mappings":""}
|
|
@@ -55,3 +55,31 @@
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
|
|
59
|
+
.expandedButton {
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-direction: row;
|
|
62
|
+
align-items: center;
|
|
63
|
+
justify-content: center;
|
|
64
|
+
gap: 8px;
|
|
65
|
+
width: 100%;
|
|
66
|
+
padding: 12px 24px;
|
|
67
|
+
background-color: var(--synapse-primary-action-color);
|
|
68
|
+
color: white;
|
|
69
|
+
border: none;
|
|
70
|
+
border-radius: 4px;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
|
|
73
|
+
&:disabled {
|
|
74
|
+
pointer-events: all;
|
|
75
|
+
opacity: 0.5;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&:hover:not(:disabled) {
|
|
79
|
+
opacity: 0.9;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
&:active:not(:disabled) {
|
|
83
|
+
opacity: 0.8;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TaskStatusStateEnum } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
export declare const RUN_AGENT_BUTTON_TEXT = "Start (Run Agent)";
|
|
3
|
+
export declare const RUNNING_BUTTON_TEXT = "Running";
|
|
4
|
+
export declare const VIEW_RESULT_BUTTON_TEXT = "View Result";
|
|
5
|
+
export declare const EXECUTABLE_TASK_NO_PERMISSION_MESSAGE = "You do not have permission to run this task. Only the assignee or a data manager can run it.";
|
|
6
|
+
export declare const DESTINATION_TASK_MISSING_MESSAGE = "Destination task is missing";
|
|
7
|
+
/** The action that clicking the button should perform. */
|
|
8
|
+
export type ExecutableTaskButtonAction = 'start' | 'viewResult' | 'none';
|
|
9
|
+
export type ExecutableTaskButtonState = {
|
|
10
|
+
buttonText: string;
|
|
11
|
+
action: ExecutableTaskButtonAction;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
tooltip: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
export type GetExecutableTaskButtonStateArgs = {
|
|
17
|
+
state: TaskStatusStateEnum | undefined;
|
|
18
|
+
canExecute: boolean;
|
|
19
|
+
isExecutePending: boolean;
|
|
20
|
+
destinationTaskId: number | undefined;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Pure state machine mapping a task's status, the user's execute permission, and the local
|
|
24
|
+
* mutation state to the props the action button should render with.
|
|
25
|
+
*
|
|
26
|
+
* "Running" is derived from the server state (`EXECUTING`) OR the in-flight local mutation, so it
|
|
27
|
+
* survives reloads and reflects a run started by another user. Any state past `NOT_STARTED`/
|
|
28
|
+
* `EXECUTING` is treated leniently as "finished" and offers to view the result.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getExecutableTaskButtonState(args: GetExecutableTaskButtonStateArgs): ExecutableTaskButtonState;
|
|
31
|
+
//# sourceMappingURL=getExecutableTaskButtonState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExecutableTaskButtonState.d.ts","sourceRoot":"","sources":["../../../../../src/features/curator/dashboard/components/getExecutableTaskButtonState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAEtE,eAAO,MAAM,qBAAqB,sBAAsB,CAAA;AACxD,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAC5C,eAAO,MAAM,uBAAuB,gBAAgB,CAAA;AAEpD,eAAO,MAAM,qCAAqC,iGAC8C,CAAA;AAChG,eAAO,MAAM,gCAAgC,gCAAgC,CAAA;AAE7E,0DAA0D;AAC1D,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,YAAY,GAAG,MAAM,CAAA;AAExE,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,0BAA0B,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACtC,UAAU,EAAE,OAAO,CAAA;IACnB,gBAAgB,EAAE,OAAO,CAAA;IACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gCAAgC,GACrC,yBAAyB,CAgC3B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TaskStatusStateEnum as e } from "@sage-bionetworks/synapse-client";
|
|
2
|
+
//#region src/features/curator/dashboard/components/getExecutableTaskButtonState.ts
|
|
3
|
+
var t = "Start (Run Agent)", n = "Running", r = "View Result", i = "You do not have permission to run this task. Only the assignee or a data manager can run it.", a = "Destination task is missing";
|
|
4
|
+
function o(o) {
|
|
5
|
+
let { state: s, canExecute: c, isExecutePending: l, destinationTaskId: u } = o;
|
|
6
|
+
if (s === e.EXECUTING || l) return {
|
|
7
|
+
buttonText: n,
|
|
8
|
+
action: "none",
|
|
9
|
+
disabled: !0,
|
|
10
|
+
loading: !0,
|
|
11
|
+
tooltip: void 0
|
|
12
|
+
};
|
|
13
|
+
if (s === void 0 || s === e.NOT_STARTED) return {
|
|
14
|
+
buttonText: t,
|
|
15
|
+
action: c ? "start" : "none",
|
|
16
|
+
disabled: !c,
|
|
17
|
+
loading: !1,
|
|
18
|
+
tooltip: c ? void 0 : i
|
|
19
|
+
};
|
|
20
|
+
let d = u !== void 0;
|
|
21
|
+
return {
|
|
22
|
+
buttonText: r,
|
|
23
|
+
action: d ? "viewResult" : "none",
|
|
24
|
+
disabled: !d,
|
|
25
|
+
loading: !1,
|
|
26
|
+
tooltip: d ? void 0 : a
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { a as DESTINATION_TASK_MISSING_MESSAGE, i as EXECUTABLE_TASK_NO_PERMISSION_MESSAGE, n as RUNNING_BUTTON_TEXT, t as RUN_AGENT_BUTTON_TEXT, r as VIEW_RESULT_BUTTON_TEXT, o as getExecutableTaskButtonState };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=getExecutableTaskButtonState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getExecutableTaskButtonState.js","names":[],"sources":["../../../../../src/features/curator/dashboard/components/getExecutableTaskButtonState.ts"],"sourcesContent":["import { TaskStatusStateEnum } from '@sage-bionetworks/synapse-client'\n\nexport const RUN_AGENT_BUTTON_TEXT = 'Start (Run Agent)'\nexport const RUNNING_BUTTON_TEXT = 'Running'\nexport const VIEW_RESULT_BUTTON_TEXT = 'View Result'\n\nexport const EXECUTABLE_TASK_NO_PERMISSION_MESSAGE =\n 'You do not have permission to run this task. Only the assignee or a data manager can run it.'\nexport const DESTINATION_TASK_MISSING_MESSAGE = 'Destination task is missing'\n\n/** The action that clicking the button should perform. */\nexport type ExecutableTaskButtonAction = 'start' | 'viewResult' | 'none'\n\nexport type ExecutableTaskButtonState = {\n buttonText: string\n action: ExecutableTaskButtonAction\n disabled: boolean\n loading: boolean\n tooltip: string | undefined\n}\n\nexport type GetExecutableTaskButtonStateArgs = {\n state: TaskStatusStateEnum | undefined\n canExecute: boolean\n isExecutePending: boolean\n destinationTaskId: number | undefined\n}\n\n/**\n * Pure state machine mapping a task's status, the user's execute permission, and the local\n * mutation state to the props the action button should render with.\n *\n * \"Running\" is derived from the server state (`EXECUTING`) OR the in-flight local mutation, so it\n * survives reloads and reflects a run started by another user. Any state past `NOT_STARTED`/\n * `EXECUTING` is treated leniently as \"finished\" and offers to view the result.\n */\nexport function getExecutableTaskButtonState(\n args: GetExecutableTaskButtonStateArgs,\n): ExecutableTaskButtonState {\n const { state, canExecute, isExecutePending, destinationTaskId } = args\n\n const isRunning = state === TaskStatusStateEnum.EXECUTING || isExecutePending\n if (isRunning) {\n return {\n buttonText: RUNNING_BUTTON_TEXT,\n action: 'none',\n disabled: true,\n loading: true,\n tooltip: undefined,\n }\n }\n\n if (state === undefined || state === TaskStatusStateEnum.NOT_STARTED) {\n return {\n buttonText: RUN_AGENT_BUTTON_TEXT,\n action: canExecute ? 'start' : 'none',\n disabled: !canExecute,\n loading: false,\n tooltip: canExecute ? undefined : EXECUTABLE_TASK_NO_PERMISSION_MESSAGE,\n }\n }\n\n const hasDestination = destinationTaskId !== undefined\n return {\n buttonText: VIEW_RESULT_BUTTON_TEXT,\n action: hasDestination ? 'viewResult' : 'none',\n disabled: !hasDestination,\n loading: false,\n tooltip: hasDestination ? undefined : DESTINATION_TASK_MISSING_MESSAGE,\n }\n}\n"],"mappings":";;AAEA,IAAa,IAAwB,qBACxB,IAAsB,WACtB,IAA0B,eAE1B,IACX,gGACW,IAAmC;AA4BhD,SAAgB,EACd,GAC2B;CAC3B,IAAM,EAAE,UAAO,eAAY,qBAAkB,yBAAsB;CAGnE,IADkB,MAAU,EAAoB,aAAa,GAE3D,OAAO;EACL,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,SAAS;EACT,SAAS,KAAA;CACX;CAGF,IAAI,MAAU,KAAA,KAAa,MAAU,EAAoB,aACvD,OAAO;EACL,YAAY;EACZ,QAAQ,IAAa,UAAU;EAC/B,UAAU,CAAC;EACX,SAAS;EACT,SAAS,IAAa,KAAA,IAAY;CACpC;CAGF,IAAM,IAAiB,MAAsB,KAAA;CAC7C,OAAO;EACL,YAAY;EACZ,QAAQ,IAAiB,eAAe;EACxC,UAAU,CAAC;EACX,SAAS;EACT,SAAS,IAAiB,KAAA,IAAY;CACxC;AACF"}
|
package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAuCA,OAAO,EACL,YAAY,EAMb,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"CreateOrUpdateCurationTaskDialog.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.tsx"],"names":[],"mappings":"AAuCA,OAAO,EACL,YAAY,EAMb,MAAM,kCAAkC,CAAA;AA8CzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,CAAA;AAsBD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gCAAgC,CACtD,KAAK,EAAE,qCAAqC,2CA0qB7C"}
|