@ynput/ayon-frontend-shared 0.2.16 → 0.2.18
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/DetailsPanel.cjs.js +15 -13
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +15 -13
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +38 -34
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +20 -16
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/api.cjs.js +7 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +7 -0
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +9 -4
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +10 -5
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +12 -10
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +12 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js +1 -2
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.cjs.js.map +1 -1
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js +1 -2
- package/dist/node_modules/graphql-request/build/legacy/helpers/analyzeDocument.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +26 -23
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +26 -23
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +13 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +13 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +54 -0
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/products/createProduct.es.js +54 -0
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +80 -0
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/versions/updateVersions.es.js +80 -0
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.cjs.js +13 -0
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.cjs.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.es.js +14 -0
- package/dist/shared/src/components/EntityPanelUploader/Dropzone.es.js.map +1 -0
- package/dist/shared/src/components/{EntityThumbnailUploader/EntityThumbnailUploader.cjs.js → EntityPanelUploader/EntityPanelUploader.cjs.js} +378 -120
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -0
- package/dist/shared/src/components/{EntityThumbnailUploader/EntityThumbnailUploader.es.js → EntityPanelUploader/EntityPanelUploader.es.js} +378 -120
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js +95 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.es.js +95 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.styled.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +76 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +77 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +23 -86
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +23 -86
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +2 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +12 -10
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +12 -10
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +35 -109
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +35 -109
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +12 -10
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +12 -10
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +212 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +212 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +2 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +2 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +28 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +28 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +12 -10
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +12 -10
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.cjs.js +85 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.es.js +85 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionDialog.es.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +401 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +401 -0
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +308 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +308 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +12 -10
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +12 -10
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +2 -0
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +2 -0
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.es.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +12 -10
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +12 -10
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +18 -14
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +18 -14
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +12 -10
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +15 -11
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +15 -11
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +2 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +20 -11
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +20 -11
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +11 -10
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +11 -10
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +1 -174
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +2 -175
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +212 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +212 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -185
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +2 -186
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +197 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +197 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js +1 -79
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js +2 -80
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +84 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -277
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +2 -278
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +282 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +282 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +8 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +8 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.cjs.js → hooks/useProjectTableModules.cjs.js} +28 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/{context/ProjectTableModulesContext.es.js → hooks/useProjectTableModules.es.js} +28 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +8 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +13 -11
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +13 -11
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +2 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +2 -0
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +2 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +2 -0
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +2 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +3 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +15 -4
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +15 -4
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.cjs.js +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.cjs.js.map +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.es.js +1 -1
- package/dist/shared/src/context/pip/PiPWrapper.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +2 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +3 -3
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +3 -3
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/productTypes.cjs.js +1 -0
- package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
- package/dist/shared/src/util/productTypes.es.js +1 -0
- package/dist/shared/src/util/productTypes.es.js.map +1 -1
- package/dist/shared/src/utils/extractVersionFromFilename.cjs.js +32 -0
- package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +1 -0
- package/dist/shared/src/utils/extractVersionFromFilename.es.js +32 -0
- package/dist/shared/src/utils/extractVersionFromFilename.es.js.map +1 -0
- package/dist/shared/src/utils/versionUploadHelpers.cjs.js +121 -0
- package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +1 -0
- package/dist/shared/src/utils/versionUploadHelpers.es.js +121 -0
- package/dist/shared/src/utils/versionUploadHelpers.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +47 -36
- package/dist/types/api/queries/activities/getActivities.d.ts +4 -4
- package/dist/types/api/queries/activities/updateActivities.d.ts +8 -8
- package/dist/types/api/queries/entities/getEntity.d.ts +4 -4
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -4
- package/dist/types/api/queries/entities/updateEntity.d.ts +4 -4
- package/dist/types/api/queries/entityLists/getLists.d.ts +4 -4
- package/dist/types/api/queries/index.d.ts +2 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +4 -4
- package/dist/types/api/queries/products/createProduct.d.ts +161 -0
- package/dist/types/api/queries/products/index.d.ts +1 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -4
- package/dist/types/api/queries/users/getUsers.d.ts +4 -4
- package/dist/types/api/queries/versions/index.d.ts +1 -0
- package/dist/types/api/queries/versions/updateVersions.d.ts +685 -0
- package/dist/types/components/EntityPanelUploader/Dropzone.d.ts +11 -0
- package/dist/types/components/{EntityThumbnailUploader/EntityThumbnailUploader.d.ts → EntityPanelUploader/EntityPanelUploader.d.ts} +3 -3
- package/dist/types/components/EntityPanelUploader/EntityPanelUploader.styled.d.ts +8 -0
- package/dist/types/components/EntityPanelUploader/EntityPanelUploaderDialog.d.ts +10 -0
- package/dist/types/components/EntityPanelUploader/index.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/ColumnItem.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/SortableColumnItem.d.ts +1 -0
- package/dist/types/components/ReviewablesList/index.d.ts +1 -0
- package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +19 -0
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/VersionUploader/components/UploadVersionDialog.d.ts +5 -0
- package/dist/types/components/VersionUploader/components/UploadVersionForm.d.ts +18 -0
- package/dist/types/components/VersionUploader/context/VersionUploadContext.d.ts +54 -0
- package/dist/types/components/VersionUploader/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
- package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +9 -2
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +16 -16
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsProvider.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +6 -61
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +60 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +3 -8
- package/dist/types/containers/ProjectTreeTable/context/SelectedRowsProvider.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +2 -4
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsProvider.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +1 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/{context/ProjectTableModulesContext.d.ts → hooks/useProjectTableModules.d.ts} +5 -12
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -10
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -3
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
- package/dist/types/context/ThumbnailUploaderContext.d.ts +3 -2
- package/dist/types/utils/versionUploadHelpers.d.ts +63 -0
- package/package.json +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +0 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +0 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.cjs.js +0 -12
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js +0 -12
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.es.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.cjs.js +0 -112
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.es.js +0 -112
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.es.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js +0 -104
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.es.js +0 -104
- package/dist/shared/src/components/ThumbnailUploader/ThumbnailUploader.styled.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js +0 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js +0 -33
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js.map +0 -1
- package/dist/types/components/EntityThumbnailUploader/EntityThumbnailUploader.styled.d.ts +0 -1
- package/dist/types/components/EntityThumbnailUploader/index.d.ts +0 -1
- package/dist/types/components/ThumbnailUploader/ThumbnailUploader.d.ts +0 -17
- package/dist/types/components/ThumbnailUploader/ThumbnailUploader.styled.d.ts +0 -4
- package/dist/types/components/ThumbnailUploader/index.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectTableProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableProvider.tsx"],"sourcesContent":["/**\n * Project Table Context\n *\n * This context serves as the central data management layer for the project table component.\n * It performs three main functions:\n *\n * 1. **Props Forwarding**: Acts as a bridge to forward essential props (project info, users,\n * attributes, filters, etc.) down to child components throughout the table hierarchy.\n *\n * 2. **Table Data Structure Building**: Transforms raw project data into structured table rows\n * that can be consumed by the table component. This includes processing folders, tasks,\n * and entities into a unified table format.\n *\n * 3. **Multi-Modal Data Presentation**: Supports three different data presentation modes:\n * - **Hierarchy Mode**: Builds nested folder/task relationships with expandable rows\n * - **Tasks List Mode**: Flattened view of tasks without hierarchical structure\n * - **Groups Mode**: Groups entities by specified criteria (entity type, custom groups)\n *\n * The context also provides utility functions for entity relationships, expansion state\n * management, filtering, sorting, and folder inheritance operations.\n */\nimport { ReactNode, useCallback, useMemo } from 'react'\nimport { ExpandedState, OnChangeFn, SortingState } from '@tanstack/react-table'\nimport useBuildProjectDataTable from '../hooks/useBuildProjectDataTable'\nimport { Filter } from '@ynput/ayon-react-components'\nimport {\n EntitiesMap,\n EntityMap,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport useFolderRelationships, {\n FindInheritedValueFromAncestors,\n GetAncestorsOf,\n GetInheritedDependents,\n FindNonInheritedValues,\n} from '../hooks/useFolderRelationships'\nimport { RowId } from '../utils/cellUtils'\nimport { ProjectModel } from '../types/project'\nimport { ProjectTableAttribute, LoadingTasks } from '../types'\nimport { QueryFilter } from '../types/folders'\nimport { ContextMenuItemConstructors } from '../hooks/useCellContextMenu'\nimport { AttributeModel, EntityGroup } from '@shared/api'\nimport useBuildGroupByTableData, {\n GroupByEntityType,\n ROW_ID_SEPARATOR,\n} from '../hooks/useBuildGroupByTableData'\nimport { PowerpackContextType } from '@shared/context'\nimport { useColumnSettingsContext } from './ColumnSettingsContext'\nimport { ProjectTableModulesType } from '../hooks'\nimport { ProjectTableContext, ProjectTableContextType } from './ProjectTableContext'\n\nexport const parseRowId = (rowId: string) => rowId?.split(ROW_ID_SEPARATOR)[0] || rowId\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n error?: string\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: TableUser[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n scopes: string[]\n\n // data\n tasksMap: TaskNodeMap\n foldersMap: FolderNodeMap\n entitiesMap: EntitiesMap\n tasksByFolderMap: TasksByFolderMap\n tableRows?: TableRow[] // any extra rows that we want to add to the table\n\n // grouping\n taskGroups: EntityGroup[]\n\n // data functions\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n\n // Filters\n filters: Filter[]\n setFilters: (filters: Filter[]) => void\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: string | undefined\n }\n\n // Hierarchy\n showHierarchy: boolean\n updateShowHierarchy: (showHierarchy: boolean) => void\n\n // Expanded state\n expanded: ExpandedState\n toggleExpanded: (id: string) => void\n updateExpanded: OnChangeFn<ExpandedState>\n setExpanded: (expanded: ExpandedState) => void\n\n // Sorting\n sorting: SortingState\n updateSorting: OnChangeFn<SortingState>\n\n // context menu\n contextMenuItems: ContextMenuItemConstructors\n\n // powerpack context\n powerpack?: PowerpackContextType\n\n // remote modules\n modules: ProjectTableModulesType\n\n groupByConfig?: {\n entityType?: GroupByEntityType\n }\n}\n\nexport const ProjectTableProvider = ({\n children,\n foldersMap,\n tableRows,\n tasksMap,\n entitiesMap,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n isLoading,\n error,\n isInitialized,\n projectName,\n users,\n attribFields,\n scopes,\n taskGroups,\n filters,\n setFilters,\n queryFilters,\n updateShowHierarchy,\n toggleExpanded,\n updateExpanded,\n sorting,\n updateSorting,\n fetchNextPage,\n reloadTableData,\n setExpanded,\n contextMenuItems,\n powerpack,\n modules,\n groupByConfig,\n}: ProjectTableProviderProps) => {\n // DATA TO TABLE\n const defaultTableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n const { groupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } =\n useColumnSettingsContext()\n\n const buildGroupByTableData = useBuildGroupByTableData({\n entities: entitiesMap,\n entityType: groupByConfig?.entityType,\n groups: taskGroups,\n project: projectInfo,\n attribFields,\n showEmpty: showEmptyGroups,\n })\n\n // if we are grouping by something, we ignore current tableData and format the data based on the groupBy\n const groupedTableData = useMemo(\n () => !!groupBy && buildGroupByTableData(groupBy),\n [groupBy, entitiesMap, taskGroups],\n )\n\n const tableData = groupBy && groupedTableData ? groupedTableData : defaultTableData\n\n const getEntityById = useCallback(\n (id: string): EntityMap | undefined => {\n // defensive check to ensure id is a string\n if (typeof id !== 'string') {\n console.warn('getEntityById called with non-string id:', id)\n return undefined\n }\n // always parse the id to remove any suffixes\n // this can happen if the id is a group by id (we need to make the row id unique)\n const parsedId = parseRowId(id)\n if (foldersMap.has(parsedId)) {\n return foldersMap.get(parsedId)\n } else if (tasksMap.has(parsedId)) {\n return tasksMap.get(parsedId)\n } else if (entitiesMap.has(parsedId)) {\n return entitiesMap.get(parsedId)\n }\n\n // Return undefined if not found\n return undefined\n },\n [foldersMap, tasksMap, entitiesMap],\n )\n\n // get folder relationship functions\n const {\n getInheritedDependents,\n getChildrenEntities,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n } = useFolderRelationships({\n entitiesMap,\n tasksMap,\n tasksByFolderMap,\n getEntityById,\n projectAttrib: projectInfo?.attrib,\n attribFields: attribFields,\n })\n\n const toggleExpandAll: ProjectTableContextType['toggleExpandAll'] = useCallback(\n (rowIds, expandAll) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n // get all children of the rowId using tableData\n const childIds = getChildrenEntities(rowId).map((child) => child.id)\n // check if the rowId is expanded\n const isExpanded = expandedState[rowId] || false\n\n if (expandAll !== undefined ? !expandAll : isExpanded) {\n // collapse all children\n newExpandedState[rowId] = false\n childIds.forEach((id) => {\n newExpandedState[id] = false\n })\n } else {\n // expand all children\n newExpandedState[rowId] = true\n childIds.forEach((id) => {\n newExpandedState[id] = true\n })\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, getChildrenEntities, setExpanded],\n )\n\n const toggleExpands: ProjectTableContextType['toggleExpands'] = useCallback(\n (rowIds, expand) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n if (expand !== undefined) {\n // Use the provided expand parameter\n newExpandedState[rowId] = expand\n } else {\n // Toggle based on current state\n newExpandedState[rowId] = !expandedState[rowId]\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, setExpanded],\n )\n\n return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n error,\n projectInfo,\n attribFields,\n scopes,\n users,\n projectName,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\n taskGroups,\n // filters\n filters,\n setFilters,\n queryFilters,\n // hierarchy\n showHierarchy,\n updateShowHierarchy,\n // expanded state\n expanded,\n toggleExpanded,\n updateExpanded,\n toggleExpandAll,\n toggleExpands,\n // sorting\n sorting,\n updateSorting,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n // powerpack context\n powerpack,\n modules,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n"],"names":["ROW_ID_SEPARATOR","useColumnSettingsContext","useBuildGroupByTableData","useMemo","useCallback","jsx","ProjectTableContext"],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { useMemo, useCallback } from "react";
|
|
3
|
+
import useBuildProjectDataTable from "../hooks/useBuildProjectDataTable.es.js";
|
|
4
|
+
import useFolderRelationships from "../hooks/useFolderRelationships.es.js";
|
|
5
|
+
import useBuildGroupByTableData, { ROW_ID_SEPARATOR } from "../hooks/useBuildGroupByTableData.es.js";
|
|
6
|
+
import { useColumnSettingsContext } from "./ColumnSettingsContext.es.js";
|
|
7
|
+
import { ProjectTableContext } from "./ProjectTableContext.es.js";
|
|
8
|
+
const parseRowId = (rowId) => (rowId == null ? void 0 : rowId.split(ROW_ID_SEPARATOR)[0]) || rowId;
|
|
9
|
+
const ProjectTableProvider = ({
|
|
10
|
+
children,
|
|
11
|
+
foldersMap,
|
|
12
|
+
tableRows,
|
|
13
|
+
tasksMap,
|
|
14
|
+
entitiesMap,
|
|
15
|
+
tasksByFolderMap,
|
|
16
|
+
expanded,
|
|
17
|
+
projectInfo,
|
|
18
|
+
showHierarchy,
|
|
19
|
+
loadingTasks,
|
|
20
|
+
isLoadingMore,
|
|
21
|
+
isLoading,
|
|
22
|
+
error,
|
|
23
|
+
isInitialized,
|
|
24
|
+
projectName,
|
|
25
|
+
users,
|
|
26
|
+
attribFields,
|
|
27
|
+
scopes,
|
|
28
|
+
taskGroups,
|
|
29
|
+
filters,
|
|
30
|
+
setFilters,
|
|
31
|
+
queryFilters,
|
|
32
|
+
updateShowHierarchy,
|
|
33
|
+
toggleExpanded,
|
|
34
|
+
updateExpanded,
|
|
35
|
+
sorting,
|
|
36
|
+
updateSorting,
|
|
37
|
+
fetchNextPage,
|
|
38
|
+
reloadTableData,
|
|
39
|
+
setExpanded,
|
|
40
|
+
contextMenuItems,
|
|
41
|
+
powerpack,
|
|
42
|
+
modules,
|
|
43
|
+
groupByConfig
|
|
44
|
+
}) => {
|
|
45
|
+
const defaultTableData = useBuildProjectDataTable({
|
|
46
|
+
foldersMap,
|
|
47
|
+
tasksMap,
|
|
48
|
+
rows: tableRows,
|
|
49
|
+
tasksByFolderMap,
|
|
50
|
+
expanded,
|
|
51
|
+
projectInfo,
|
|
52
|
+
showHierarchy,
|
|
53
|
+
loadingTasks,
|
|
54
|
+
isLoadingMore
|
|
55
|
+
});
|
|
56
|
+
const { groupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } = useColumnSettingsContext();
|
|
57
|
+
const buildGroupByTableData = useBuildGroupByTableData({
|
|
58
|
+
entities: entitiesMap,
|
|
59
|
+
entityType: groupByConfig == null ? void 0 : groupByConfig.entityType,
|
|
60
|
+
groups: taskGroups,
|
|
61
|
+
project: projectInfo,
|
|
62
|
+
attribFields,
|
|
63
|
+
showEmpty: showEmptyGroups
|
|
64
|
+
});
|
|
65
|
+
const groupedTableData = useMemo(
|
|
66
|
+
() => !!groupBy && buildGroupByTableData(groupBy),
|
|
67
|
+
[groupBy, entitiesMap, taskGroups]
|
|
68
|
+
);
|
|
69
|
+
const tableData = groupBy && groupedTableData ? groupedTableData : defaultTableData;
|
|
70
|
+
const getEntityById = useCallback(
|
|
71
|
+
(id) => {
|
|
72
|
+
if (typeof id !== "string") {
|
|
73
|
+
console.warn("getEntityById called with non-string id:", id);
|
|
74
|
+
return void 0;
|
|
75
|
+
}
|
|
76
|
+
const parsedId = parseRowId(id);
|
|
77
|
+
if (foldersMap.has(parsedId)) {
|
|
78
|
+
return foldersMap.get(parsedId);
|
|
79
|
+
} else if (tasksMap.has(parsedId)) {
|
|
80
|
+
return tasksMap.get(parsedId);
|
|
81
|
+
} else if (entitiesMap.has(parsedId)) {
|
|
82
|
+
return entitiesMap.get(parsedId);
|
|
83
|
+
}
|
|
84
|
+
return void 0;
|
|
85
|
+
},
|
|
86
|
+
[foldersMap, tasksMap, entitiesMap]
|
|
87
|
+
);
|
|
88
|
+
const {
|
|
89
|
+
getInheritedDependents,
|
|
90
|
+
getChildrenEntities,
|
|
91
|
+
findInheritedValueFromAncestors,
|
|
92
|
+
findNonInheritedValues,
|
|
93
|
+
getAncestorsOf
|
|
94
|
+
} = useFolderRelationships({
|
|
95
|
+
entitiesMap,
|
|
96
|
+
tasksMap,
|
|
97
|
+
tasksByFolderMap,
|
|
98
|
+
getEntityById,
|
|
99
|
+
projectAttrib: projectInfo == null ? void 0 : projectInfo.attrib,
|
|
100
|
+
attribFields
|
|
101
|
+
});
|
|
102
|
+
const toggleExpandAll = useCallback(
|
|
103
|
+
(rowIds, expandAll) => {
|
|
104
|
+
const expandedState = typeof expanded === "object" ? expanded : {};
|
|
105
|
+
const newExpandedState = { ...expandedState };
|
|
106
|
+
rowIds.forEach((rowId) => {
|
|
107
|
+
const childIds = getChildrenEntities(rowId).map((child) => child.id);
|
|
108
|
+
const isExpanded = expandedState[rowId] || false;
|
|
109
|
+
if (expandAll !== void 0 ? !expandAll : isExpanded) {
|
|
110
|
+
newExpandedState[rowId] = false;
|
|
111
|
+
childIds.forEach((id) => {
|
|
112
|
+
newExpandedState[id] = false;
|
|
113
|
+
});
|
|
114
|
+
} else {
|
|
115
|
+
newExpandedState[rowId] = true;
|
|
116
|
+
childIds.forEach((id) => {
|
|
117
|
+
newExpandedState[id] = true;
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
setExpanded(newExpandedState);
|
|
122
|
+
},
|
|
123
|
+
[expanded, getChildrenEntities, setExpanded]
|
|
124
|
+
);
|
|
125
|
+
const toggleExpands = useCallback(
|
|
126
|
+
(rowIds, expand) => {
|
|
127
|
+
const expandedState = typeof expanded === "object" ? expanded : {};
|
|
128
|
+
const newExpandedState = { ...expandedState };
|
|
129
|
+
rowIds.forEach((rowId) => {
|
|
130
|
+
if (expand !== void 0) {
|
|
131
|
+
newExpandedState[rowId] = expand;
|
|
132
|
+
} else {
|
|
133
|
+
newExpandedState[rowId] = !expandedState[rowId];
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
setExpanded(newExpandedState);
|
|
137
|
+
},
|
|
138
|
+
[expanded, setExpanded]
|
|
139
|
+
);
|
|
140
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
141
|
+
ProjectTableContext.Provider,
|
|
142
|
+
{
|
|
143
|
+
value: {
|
|
144
|
+
// from this context
|
|
145
|
+
tableData,
|
|
146
|
+
// forwarded on
|
|
147
|
+
isInitialized,
|
|
148
|
+
isLoading,
|
|
149
|
+
error,
|
|
150
|
+
projectInfo,
|
|
151
|
+
attribFields,
|
|
152
|
+
scopes,
|
|
153
|
+
users,
|
|
154
|
+
projectName,
|
|
155
|
+
tasksMap,
|
|
156
|
+
foldersMap,
|
|
157
|
+
entitiesMap,
|
|
158
|
+
fetchNextPage,
|
|
159
|
+
reloadTableData,
|
|
160
|
+
taskGroups,
|
|
161
|
+
// filters
|
|
162
|
+
filters,
|
|
163
|
+
setFilters,
|
|
164
|
+
queryFilters,
|
|
165
|
+
// hierarchy
|
|
166
|
+
showHierarchy,
|
|
167
|
+
updateShowHierarchy,
|
|
168
|
+
// expanded state
|
|
169
|
+
expanded,
|
|
170
|
+
toggleExpanded,
|
|
171
|
+
updateExpanded,
|
|
172
|
+
toggleExpandAll,
|
|
173
|
+
toggleExpands,
|
|
174
|
+
// sorting
|
|
175
|
+
sorting,
|
|
176
|
+
updateSorting,
|
|
177
|
+
getEntityById,
|
|
178
|
+
// folder relationships
|
|
179
|
+
getInheritedDependents,
|
|
180
|
+
findInheritedValueFromAncestors,
|
|
181
|
+
findNonInheritedValues,
|
|
182
|
+
getAncestorsOf,
|
|
183
|
+
// context menu
|
|
184
|
+
contextMenuItems,
|
|
185
|
+
// powerpack context
|
|
186
|
+
powerpack,
|
|
187
|
+
modules
|
|
188
|
+
},
|
|
189
|
+
children
|
|
190
|
+
}
|
|
191
|
+
);
|
|
192
|
+
};
|
|
193
|
+
export {
|
|
194
|
+
ProjectTableProvider,
|
|
195
|
+
parseRowId
|
|
196
|
+
};
|
|
197
|
+
//# sourceMappingURL=ProjectTableProvider.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectTableProvider.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableProvider.tsx"],"sourcesContent":["/**\n * Project Table Context\n *\n * This context serves as the central data management layer for the project table component.\n * It performs three main functions:\n *\n * 1. **Props Forwarding**: Acts as a bridge to forward essential props (project info, users,\n * attributes, filters, etc.) down to child components throughout the table hierarchy.\n *\n * 2. **Table Data Structure Building**: Transforms raw project data into structured table rows\n * that can be consumed by the table component. This includes processing folders, tasks,\n * and entities into a unified table format.\n *\n * 3. **Multi-Modal Data Presentation**: Supports three different data presentation modes:\n * - **Hierarchy Mode**: Builds nested folder/task relationships with expandable rows\n * - **Tasks List Mode**: Flattened view of tasks without hierarchical structure\n * - **Groups Mode**: Groups entities by specified criteria (entity type, custom groups)\n *\n * The context also provides utility functions for entity relationships, expansion state\n * management, filtering, sorting, and folder inheritance operations.\n */\nimport { ReactNode, useCallback, useMemo } from 'react'\nimport { ExpandedState, OnChangeFn, SortingState } from '@tanstack/react-table'\nimport useBuildProjectDataTable from '../hooks/useBuildProjectDataTable'\nimport { Filter } from '@ynput/ayon-react-components'\nimport {\n EntitiesMap,\n EntityMap,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport useFolderRelationships, {\n FindInheritedValueFromAncestors,\n GetAncestorsOf,\n GetInheritedDependents,\n FindNonInheritedValues,\n} from '../hooks/useFolderRelationships'\nimport { RowId } from '../utils/cellUtils'\nimport { ProjectModel } from '../types/project'\nimport { ProjectTableAttribute, LoadingTasks } from '../types'\nimport { QueryFilter } from '../types/folders'\nimport { ContextMenuItemConstructors } from '../hooks/useCellContextMenu'\nimport { AttributeModel, EntityGroup } from '@shared/api'\nimport useBuildGroupByTableData, {\n GroupByEntityType,\n ROW_ID_SEPARATOR,\n} from '../hooks/useBuildGroupByTableData'\nimport { PowerpackContextType } from '@shared/context'\nimport { useColumnSettingsContext } from './ColumnSettingsContext'\nimport { ProjectTableModulesType } from '../hooks'\nimport { ProjectTableContext, ProjectTableContextType } from './ProjectTableContext'\n\nexport const parseRowId = (rowId: string) => rowId?.split(ROW_ID_SEPARATOR)[0] || rowId\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n error?: string\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: TableUser[]\n // Attributes\n attribFields: ProjectTableAttribute[]\n scopes: string[]\n\n // data\n tasksMap: TaskNodeMap\n foldersMap: FolderNodeMap\n entitiesMap: EntitiesMap\n tasksByFolderMap: TasksByFolderMap\n tableRows?: TableRow[] // any extra rows that we want to add to the table\n\n // grouping\n taskGroups: EntityGroup[]\n\n // data functions\n fetchNextPage: (value?: string) => void\n reloadTableData: () => void\n\n // Filters\n filters: Filter[]\n setFilters: (filters: Filter[]) => void\n queryFilters: {\n filter: QueryFilter | undefined\n filterString?: string\n search: string | undefined\n }\n\n // Hierarchy\n showHierarchy: boolean\n updateShowHierarchy: (showHierarchy: boolean) => void\n\n // Expanded state\n expanded: ExpandedState\n toggleExpanded: (id: string) => void\n updateExpanded: OnChangeFn<ExpandedState>\n setExpanded: (expanded: ExpandedState) => void\n\n // Sorting\n sorting: SortingState\n updateSorting: OnChangeFn<SortingState>\n\n // context menu\n contextMenuItems: ContextMenuItemConstructors\n\n // powerpack context\n powerpack?: PowerpackContextType\n\n // remote modules\n modules: ProjectTableModulesType\n\n groupByConfig?: {\n entityType?: GroupByEntityType\n }\n}\n\nexport const ProjectTableProvider = ({\n children,\n foldersMap,\n tableRows,\n tasksMap,\n entitiesMap,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n isLoading,\n error,\n isInitialized,\n projectName,\n users,\n attribFields,\n scopes,\n taskGroups,\n filters,\n setFilters,\n queryFilters,\n updateShowHierarchy,\n toggleExpanded,\n updateExpanded,\n sorting,\n updateSorting,\n fetchNextPage,\n reloadTableData,\n setExpanded,\n contextMenuItems,\n powerpack,\n modules,\n groupByConfig,\n}: ProjectTableProviderProps) => {\n // DATA TO TABLE\n const defaultTableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n const { groupBy, groupByConfig: { showEmpty: showEmptyGroups = false } = {} } =\n useColumnSettingsContext()\n\n const buildGroupByTableData = useBuildGroupByTableData({\n entities: entitiesMap,\n entityType: groupByConfig?.entityType,\n groups: taskGroups,\n project: projectInfo,\n attribFields,\n showEmpty: showEmptyGroups,\n })\n\n // if we are grouping by something, we ignore current tableData and format the data based on the groupBy\n const groupedTableData = useMemo(\n () => !!groupBy && buildGroupByTableData(groupBy),\n [groupBy, entitiesMap, taskGroups],\n )\n\n const tableData = groupBy && groupedTableData ? groupedTableData : defaultTableData\n\n const getEntityById = useCallback(\n (id: string): EntityMap | undefined => {\n // defensive check to ensure id is a string\n if (typeof id !== 'string') {\n console.warn('getEntityById called with non-string id:', id)\n return undefined\n }\n // always parse the id to remove any suffixes\n // this can happen if the id is a group by id (we need to make the row id unique)\n const parsedId = parseRowId(id)\n if (foldersMap.has(parsedId)) {\n return foldersMap.get(parsedId)\n } else if (tasksMap.has(parsedId)) {\n return tasksMap.get(parsedId)\n } else if (entitiesMap.has(parsedId)) {\n return entitiesMap.get(parsedId)\n }\n\n // Return undefined if not found\n return undefined\n },\n [foldersMap, tasksMap, entitiesMap],\n )\n\n // get folder relationship functions\n const {\n getInheritedDependents,\n getChildrenEntities,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n } = useFolderRelationships({\n entitiesMap,\n tasksMap,\n tasksByFolderMap,\n getEntityById,\n projectAttrib: projectInfo?.attrib,\n attribFields: attribFields,\n })\n\n const toggleExpandAll: ProjectTableContextType['toggleExpandAll'] = useCallback(\n (rowIds, expandAll) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n // get all children of the rowId using tableData\n const childIds = getChildrenEntities(rowId).map((child) => child.id)\n // check if the rowId is expanded\n const isExpanded = expandedState[rowId] || false\n\n if (expandAll !== undefined ? !expandAll : isExpanded) {\n // collapse all children\n newExpandedState[rowId] = false\n childIds.forEach((id) => {\n newExpandedState[id] = false\n })\n } else {\n // expand all children\n newExpandedState[rowId] = true\n childIds.forEach((id) => {\n newExpandedState[id] = true\n })\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, getChildrenEntities, setExpanded],\n )\n\n const toggleExpands: ProjectTableContextType['toggleExpands'] = useCallback(\n (rowIds, expand) => {\n const expandedState = typeof expanded === 'object' ? expanded : {}\n const newExpandedState = { ...expandedState }\n\n rowIds.forEach((rowId) => {\n if (expand !== undefined) {\n // Use the provided expand parameter\n newExpandedState[rowId] = expand\n } else {\n // Toggle based on current state\n newExpandedState[rowId] = !expandedState[rowId]\n }\n })\n\n setExpanded(newExpandedState)\n },\n [expanded, setExpanded],\n )\n\n return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n error,\n projectInfo,\n attribFields,\n scopes,\n users,\n projectName,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\n taskGroups,\n // filters\n filters,\n setFilters,\n queryFilters,\n // hierarchy\n showHierarchy,\n updateShowHierarchy,\n // expanded state\n expanded,\n toggleExpanded,\n updateExpanded,\n toggleExpandAll,\n toggleExpands,\n // sorting\n sorting,\n updateSorting,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n // powerpack context\n powerpack,\n modules,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n"],"names":["jsx"],"mappings":"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"}
|
|
@@ -1,85 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
3
|
const React = require("react");
|
|
5
|
-
const SelectionCellsContext = require("./SelectionCellsContext.cjs.js");
|
|
6
|
-
const cellUtils = require("../utils/cellUtils.cjs.js");
|
|
7
4
|
const SelectedRowsContext = React.createContext(void 0);
|
|
8
|
-
const SelectedRowsProvider = ({ children }) => {
|
|
9
|
-
const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } = SelectionCellsContext.useSelectionCellsContext();
|
|
10
|
-
const prevSelectedRowsRef = React.useRef([]);
|
|
11
|
-
const currentSelectedRows = React.useMemo(
|
|
12
|
-
() => Array.from(selectedCells).filter(
|
|
13
|
-
(cellId) => {
|
|
14
|
-
var _a, _b;
|
|
15
|
-
return ((_a = cellUtils.parseCellId(cellId)) == null ? void 0 : _a.colId) === SelectionCellsContext.ROW_SELECTION_COLUMN_ID && ((_b = cellUtils.parseCellId(cellId)) == null ? void 0 : _b.rowId);
|
|
16
|
-
}
|
|
17
|
-
).map((cellId) => {
|
|
18
|
-
var _a;
|
|
19
|
-
return (_a = cellUtils.parseCellId(cellId)) == null ? void 0 : _a.rowId;
|
|
20
|
-
}),
|
|
21
|
-
[selectedCells]
|
|
22
|
-
);
|
|
23
|
-
const selectedRows = React.useMemo(() => {
|
|
24
|
-
const sortedCurrent = [...currentSelectedRows].sort();
|
|
25
|
-
const sortedPrev = [...prevSelectedRowsRef.current].sort();
|
|
26
|
-
const hasChanged = sortedCurrent.length !== sortedPrev.length || sortedCurrent.some((id, index) => id !== sortedPrev[index]);
|
|
27
|
-
if (hasChanged) {
|
|
28
|
-
prevSelectedRowsRef.current = currentSelectedRows;
|
|
29
|
-
return currentSelectedRows;
|
|
30
|
-
}
|
|
31
|
-
return prevSelectedRowsRef.current;
|
|
32
|
-
}, [currentSelectedRows]);
|
|
33
|
-
const selectAllRows = React.useCallback(() => {
|
|
34
|
-
const allRowIds = Array.from(gridMap.rowIdToIndex.keys());
|
|
35
|
-
const newSelection = /* @__PURE__ */ new Set();
|
|
36
|
-
allRowIds.forEach((rowId) => {
|
|
37
|
-
newSelection.add(cellUtils.getCellId(rowId, SelectionCellsContext.ROW_SELECTION_COLUMN_ID));
|
|
38
|
-
});
|
|
39
|
-
setSelectedCells(newSelection);
|
|
40
|
-
if (allRowIds.length > 0) {
|
|
41
|
-
const firstCellId = cellUtils.getCellId(allRowIds[0], SelectionCellsContext.ROW_SELECTION_COLUMN_ID);
|
|
42
|
-
setFocusedCellId(firstCellId);
|
|
43
|
-
setAnchorCell(cellUtils.parseCellId(firstCellId));
|
|
44
|
-
}
|
|
45
|
-
}, [gridMap]);
|
|
46
|
-
const clearRowsSelection = React.useCallback(() => {
|
|
47
|
-
setSelectedCells((prev) => {
|
|
48
|
-
const newSelection = new Set(prev);
|
|
49
|
-
Array.from(newSelection).forEach((cellId) => {
|
|
50
|
-
var _a;
|
|
51
|
-
if (((_a = cellUtils.parseCellId(cellId)) == null ? void 0 : _a.colId) === SelectionCellsContext.ROW_SELECTION_COLUMN_ID) {
|
|
52
|
-
newSelection.delete(cellId);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
return newSelection;
|
|
56
|
-
});
|
|
57
|
-
}, [setSelectedCells]);
|
|
58
|
-
const isRowSelected = React.useCallback(
|
|
59
|
-
(rowId) => {
|
|
60
|
-
return selectedRows.includes(rowId);
|
|
61
|
-
},
|
|
62
|
-
[selectedRows]
|
|
63
|
-
);
|
|
64
|
-
const areAllRowsSelected = React.useCallback(() => {
|
|
65
|
-
const totalRows = gridMap.rowIdToIndex.size;
|
|
66
|
-
return totalRows > 0 && selectedRows.length === totalRows;
|
|
67
|
-
}, [gridMap, selectedRows]);
|
|
68
|
-
const areSomeRowsSelected = React.useCallback(() => {
|
|
69
|
-
return selectedRows.length > 0 && !areAllRowsSelected();
|
|
70
|
-
}, [selectedRows, areAllRowsSelected]);
|
|
71
|
-
const value = React.useMemo(() => {
|
|
72
|
-
return {
|
|
73
|
-
selectedRows,
|
|
74
|
-
selectAllRows,
|
|
75
|
-
clearRowsSelection,
|
|
76
|
-
isRowSelected,
|
|
77
|
-
areAllRowsSelected,
|
|
78
|
-
areSomeRowsSelected
|
|
79
|
-
};
|
|
80
|
-
}, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection]);
|
|
81
|
-
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(SelectedRowsContext.Provider, { value, children });
|
|
82
|
-
};
|
|
83
5
|
const useSelectedRowsContext = () => {
|
|
84
6
|
const context = React.useContext(SelectedRowsContext);
|
|
85
7
|
if (!context) {
|
|
@@ -87,6 +9,6 @@ const useSelectedRowsContext = () => {
|
|
|
87
9
|
}
|
|
88
10
|
return context;
|
|
89
11
|
};
|
|
90
|
-
exports.
|
|
12
|
+
exports.SelectedRowsContext = SelectedRowsContext;
|
|
91
13
|
exports.useSelectedRowsContext = useSelectedRowsContext;
|
|
92
14
|
//# sourceMappingURL=SelectedRowsContext.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedRowsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsContext.
|
|
1
|
+
{"version":3,"file":"SelectedRowsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport interface SelectedRowsContextType {\n selectedRows: string[]\n isRowSelected: (rowId: string) => boolean\n clearRowsSelection: () => void\n selectAllRows: () => void\n areAllRowsSelected: () => boolean\n areSomeRowsSelected: () => boolean\n}\n\nexport const SelectedRowsContext = createContext<SelectedRowsContextType | undefined>(undefined)\n\nexport const useSelectedRowsContext = () => {\n const context = useContext(SelectedRowsContext)\n if (!context) {\n throw new Error('useSelectedRowsContext must be used within a SelectedRowsProvider')\n }\n return context\n}\n"],"names":["createContext","useContext"],"mappings":";;;AAWa,MAAA,sBAAsBA,oBAAmD,MAAS;AAExF,MAAM,yBAAyB,MAAM;AACpC,QAAA,UAAUC,iBAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,mEAAmE;AAAA,EAAA;AAE9E,SAAA;AACT;;;"}
|
|
@@ -1,83 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { createContext, useContext, useRef, useMemo, useCallback } from "react";
|
|
3
|
-
import { useSelectionCellsContext, ROW_SELECTION_COLUMN_ID } from "./SelectionCellsContext.es.js";
|
|
4
|
-
import { parseCellId, getCellId } from "../utils/cellUtils.es.js";
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
5
2
|
const SelectedRowsContext = createContext(void 0);
|
|
6
|
-
const SelectedRowsProvider = ({ children }) => {
|
|
7
|
-
const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } = useSelectionCellsContext();
|
|
8
|
-
const prevSelectedRowsRef = useRef([]);
|
|
9
|
-
const currentSelectedRows = useMemo(
|
|
10
|
-
() => Array.from(selectedCells).filter(
|
|
11
|
-
(cellId) => {
|
|
12
|
-
var _a, _b;
|
|
13
|
-
return ((_a = parseCellId(cellId)) == null ? void 0 : _a.colId) === ROW_SELECTION_COLUMN_ID && ((_b = parseCellId(cellId)) == null ? void 0 : _b.rowId);
|
|
14
|
-
}
|
|
15
|
-
).map((cellId) => {
|
|
16
|
-
var _a;
|
|
17
|
-
return (_a = parseCellId(cellId)) == null ? void 0 : _a.rowId;
|
|
18
|
-
}),
|
|
19
|
-
[selectedCells]
|
|
20
|
-
);
|
|
21
|
-
const selectedRows = useMemo(() => {
|
|
22
|
-
const sortedCurrent = [...currentSelectedRows].sort();
|
|
23
|
-
const sortedPrev = [...prevSelectedRowsRef.current].sort();
|
|
24
|
-
const hasChanged = sortedCurrent.length !== sortedPrev.length || sortedCurrent.some((id, index) => id !== sortedPrev[index]);
|
|
25
|
-
if (hasChanged) {
|
|
26
|
-
prevSelectedRowsRef.current = currentSelectedRows;
|
|
27
|
-
return currentSelectedRows;
|
|
28
|
-
}
|
|
29
|
-
return prevSelectedRowsRef.current;
|
|
30
|
-
}, [currentSelectedRows]);
|
|
31
|
-
const selectAllRows = useCallback(() => {
|
|
32
|
-
const allRowIds = Array.from(gridMap.rowIdToIndex.keys());
|
|
33
|
-
const newSelection = /* @__PURE__ */ new Set();
|
|
34
|
-
allRowIds.forEach((rowId) => {
|
|
35
|
-
newSelection.add(getCellId(rowId, ROW_SELECTION_COLUMN_ID));
|
|
36
|
-
});
|
|
37
|
-
setSelectedCells(newSelection);
|
|
38
|
-
if (allRowIds.length > 0) {
|
|
39
|
-
const firstCellId = getCellId(allRowIds[0], ROW_SELECTION_COLUMN_ID);
|
|
40
|
-
setFocusedCellId(firstCellId);
|
|
41
|
-
setAnchorCell(parseCellId(firstCellId));
|
|
42
|
-
}
|
|
43
|
-
}, [gridMap]);
|
|
44
|
-
const clearRowsSelection = useCallback(() => {
|
|
45
|
-
setSelectedCells((prev) => {
|
|
46
|
-
const newSelection = new Set(prev);
|
|
47
|
-
Array.from(newSelection).forEach((cellId) => {
|
|
48
|
-
var _a;
|
|
49
|
-
if (((_a = parseCellId(cellId)) == null ? void 0 : _a.colId) === ROW_SELECTION_COLUMN_ID) {
|
|
50
|
-
newSelection.delete(cellId);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return newSelection;
|
|
54
|
-
});
|
|
55
|
-
}, [setSelectedCells]);
|
|
56
|
-
const isRowSelected = useCallback(
|
|
57
|
-
(rowId) => {
|
|
58
|
-
return selectedRows.includes(rowId);
|
|
59
|
-
},
|
|
60
|
-
[selectedRows]
|
|
61
|
-
);
|
|
62
|
-
const areAllRowsSelected = useCallback(() => {
|
|
63
|
-
const totalRows = gridMap.rowIdToIndex.size;
|
|
64
|
-
return totalRows > 0 && selectedRows.length === totalRows;
|
|
65
|
-
}, [gridMap, selectedRows]);
|
|
66
|
-
const areSomeRowsSelected = useCallback(() => {
|
|
67
|
-
return selectedRows.length > 0 && !areAllRowsSelected();
|
|
68
|
-
}, [selectedRows, areAllRowsSelected]);
|
|
69
|
-
const value = useMemo(() => {
|
|
70
|
-
return {
|
|
71
|
-
selectedRows,
|
|
72
|
-
selectAllRows,
|
|
73
|
-
clearRowsSelection,
|
|
74
|
-
isRowSelected,
|
|
75
|
-
areAllRowsSelected,
|
|
76
|
-
areSomeRowsSelected
|
|
77
|
-
};
|
|
78
|
-
}, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection]);
|
|
79
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(SelectedRowsContext.Provider, { value, children });
|
|
80
|
-
};
|
|
81
3
|
const useSelectedRowsContext = () => {
|
|
82
4
|
const context = useContext(SelectedRowsContext);
|
|
83
5
|
if (!context) {
|
|
@@ -86,7 +8,7 @@ const useSelectedRowsContext = () => {
|
|
|
86
8
|
return context;
|
|
87
9
|
};
|
|
88
10
|
export {
|
|
89
|
-
|
|
11
|
+
SelectedRowsContext,
|
|
90
12
|
useSelectedRowsContext
|
|
91
13
|
};
|
|
92
14
|
//# sourceMappingURL=SelectedRowsContext.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectedRowsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsContext.
|
|
1
|
+
{"version":3,"file":"SelectedRowsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport interface SelectedRowsContextType {\n selectedRows: string[]\n isRowSelected: (rowId: string) => boolean\n clearRowsSelection: () => void\n selectAllRows: () => void\n areAllRowsSelected: () => boolean\n areSomeRowsSelected: () => boolean\n}\n\nexport const SelectedRowsContext = createContext<SelectedRowsContextType | undefined>(undefined)\n\nexport const useSelectedRowsContext = () => {\n const context = useContext(SelectedRowsContext)\n if (!context) {\n throw new Error('useSelectedRowsContext must be used within a SelectedRowsProvider')\n }\n return context\n}\n"],"names":[],"mappings":";AAWa,MAAA,sBAAsB,cAAmD,MAAS;AAExF,MAAM,yBAAyB,MAAM;AACpC,QAAA,UAAU,WAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AACN,UAAA,IAAI,MAAM,mEAAmE;AAAA,EAAA;AAE9E,SAAA;AACT;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const SelectionCellsContext = require("./SelectionCellsContext.cjs.js");
|
|
6
|
+
const cellUtils = require("../utils/cellUtils.cjs.js");
|
|
7
|
+
const SelectedRowsContext = require("./SelectedRowsContext.cjs.js");
|
|
8
|
+
const SelectedRowsProvider = ({ children }) => {
|
|
9
|
+
const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } = SelectionCellsContext.useSelectionCellsContext();
|
|
10
|
+
const prevSelectedRowsRef = React.useRef([]);
|
|
11
|
+
const currentSelectedRows = React.useMemo(
|
|
12
|
+
() => Array.from(selectedCells).filter(
|
|
13
|
+
(cellId) => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
return ((_a = cellUtils.parseCellId(cellId)) == null ? void 0 : _a.colId) === SelectionCellsContext.ROW_SELECTION_COLUMN_ID && ((_b = cellUtils.parseCellId(cellId)) == null ? void 0 : _b.rowId);
|
|
16
|
+
}
|
|
17
|
+
).map((cellId) => {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = cellUtils.parseCellId(cellId)) == null ? void 0 : _a.rowId;
|
|
20
|
+
}),
|
|
21
|
+
[selectedCells]
|
|
22
|
+
);
|
|
23
|
+
const selectedRows = React.useMemo(() => {
|
|
24
|
+
const sortedCurrent = [...currentSelectedRows].sort();
|
|
25
|
+
const sortedPrev = [...prevSelectedRowsRef.current].sort();
|
|
26
|
+
const hasChanged = sortedCurrent.length !== sortedPrev.length || sortedCurrent.some((id, index) => id !== sortedPrev[index]);
|
|
27
|
+
if (hasChanged) {
|
|
28
|
+
prevSelectedRowsRef.current = currentSelectedRows;
|
|
29
|
+
return currentSelectedRows;
|
|
30
|
+
}
|
|
31
|
+
return prevSelectedRowsRef.current;
|
|
32
|
+
}, [currentSelectedRows]);
|
|
33
|
+
const selectAllRows = React.useCallback(() => {
|
|
34
|
+
const allRowIds = Array.from(gridMap.rowIdToIndex.keys());
|
|
35
|
+
const newSelection = /* @__PURE__ */ new Set();
|
|
36
|
+
allRowIds.forEach((rowId) => {
|
|
37
|
+
newSelection.add(cellUtils.getCellId(rowId, SelectionCellsContext.ROW_SELECTION_COLUMN_ID));
|
|
38
|
+
});
|
|
39
|
+
setSelectedCells(newSelection);
|
|
40
|
+
if (allRowIds.length > 0) {
|
|
41
|
+
const firstCellId = cellUtils.getCellId(allRowIds[0], SelectionCellsContext.ROW_SELECTION_COLUMN_ID);
|
|
42
|
+
setFocusedCellId(firstCellId);
|
|
43
|
+
setAnchorCell(cellUtils.parseCellId(firstCellId));
|
|
44
|
+
}
|
|
45
|
+
}, [gridMap]);
|
|
46
|
+
const clearRowsSelection = React.useCallback(() => {
|
|
47
|
+
setSelectedCells((prev) => {
|
|
48
|
+
const newSelection = new Set(prev);
|
|
49
|
+
Array.from(newSelection).forEach((cellId) => {
|
|
50
|
+
var _a;
|
|
51
|
+
if (((_a = cellUtils.parseCellId(cellId)) == null ? void 0 : _a.colId) === SelectionCellsContext.ROW_SELECTION_COLUMN_ID) {
|
|
52
|
+
newSelection.delete(cellId);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return newSelection;
|
|
56
|
+
});
|
|
57
|
+
}, [setSelectedCells]);
|
|
58
|
+
const isRowSelected = React.useCallback(
|
|
59
|
+
(rowId) => {
|
|
60
|
+
return selectedRows.includes(rowId);
|
|
61
|
+
},
|
|
62
|
+
[selectedRows]
|
|
63
|
+
);
|
|
64
|
+
const areAllRowsSelected = React.useCallback(() => {
|
|
65
|
+
const totalRows = gridMap.rowIdToIndex.size;
|
|
66
|
+
return totalRows > 0 && selectedRows.length === totalRows;
|
|
67
|
+
}, [gridMap, selectedRows]);
|
|
68
|
+
const areSomeRowsSelected = React.useCallback(() => {
|
|
69
|
+
return selectedRows.length > 0 && !areAllRowsSelected();
|
|
70
|
+
}, [selectedRows, areAllRowsSelected]);
|
|
71
|
+
const value = React.useMemo(() => {
|
|
72
|
+
return {
|
|
73
|
+
selectedRows,
|
|
74
|
+
selectAllRows,
|
|
75
|
+
clearRowsSelection,
|
|
76
|
+
isRowSelected,
|
|
77
|
+
areAllRowsSelected,
|
|
78
|
+
areSomeRowsSelected
|
|
79
|
+
};
|
|
80
|
+
}, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection]);
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(SelectedRowsContext.SelectedRowsContext.Provider, { value, children });
|
|
82
|
+
};
|
|
83
|
+
exports.SelectedRowsProvider = SelectedRowsProvider;
|
|
84
|
+
//# sourceMappingURL=SelectedRowsProvider.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectedRowsProvider.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/SelectedRowsProvider.tsx"],"sourcesContent":["import { ReactNode, useCallback, useMemo, useRef } from 'react'\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { CellId, getCellId, parseCellId, RowId } from '../utils/cellUtils'\nimport { SelectedRowsContext } from './SelectedRowsContext'\n\ninterface SelectedRowsProviderProps {\n children: ReactNode\n}\n\nexport const SelectedRowsProvider = ({ children }: SelectedRowsProviderProps) => {\n const { selectedCells, gridMap, setSelectedCells, setFocusedCellId, setAnchorCell } =\n useSelectionCellsContext()\n const prevSelectedRowsRef = useRef<string[]>([])\n\n // Calculate the current selected rows\n const currentSelectedRows = useMemo(\n () =>\n Array.from(selectedCells)\n .filter(\n (cellId) =>\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID && parseCellId(cellId)?.rowId,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[],\n [selectedCells],\n )\n\n // Memoize the selected rows with a stable reference\n const selectedRows = useMemo(() => {\n // Sort for consistent comparison\n const sortedCurrent = [...currentSelectedRows].sort()\n const sortedPrev = [...prevSelectedRowsRef.current].sort()\n\n // Check if the arrays are different\n const hasChanged =\n sortedCurrent.length !== sortedPrev.length ||\n sortedCurrent.some((id, index) => id !== sortedPrev[index])\n\n // Update ref and return new array only if changed\n if (hasChanged) {\n prevSelectedRowsRef.current = currentSelectedRows\n return currentSelectedRows\n }\n\n // Return the previous reference if no change\n return prevSelectedRowsRef.current\n }, [currentSelectedRows])\n\n // Select all rows in the grid\n const selectAllRows = useCallback(() => {\n const allRowIds = Array.from(gridMap.rowIdToIndex.keys())\n const newSelection = new Set<CellId>()\n\n // Create cells for each row with the row selection column ID\n allRowIds.forEach((rowId) => {\n newSelection.add(getCellId(rowId, ROW_SELECTION_COLUMN_ID))\n })\n\n setSelectedCells(newSelection)\n // If there are rows, set focus to the first one\n if (allRowIds.length > 0) {\n const firstCellId = getCellId(allRowIds[0], ROW_SELECTION_COLUMN_ID)\n setFocusedCellId(firstCellId)\n setAnchorCell(parseCellId(firstCellId))\n }\n }, [gridMap])\n\n // clear rows selection\n const clearRowsSelection = useCallback(() => {\n setSelectedCells((prev) => {\n const newSelection = new Set(prev)\n Array.from(newSelection).forEach((cellId) => {\n if (parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID) {\n newSelection.delete(cellId)\n }\n })\n return newSelection\n })\n }, [setSelectedCells])\n\n // check if a row is selected (using selectedRows array)\n const isRowSelected = useCallback(\n (rowId: RowId) => {\n return selectedRows.includes(rowId)\n },\n [selectedRows],\n )\n\n // Check if all rows are selected\n const areAllRowsSelected = useCallback(() => {\n const totalRows = gridMap.rowIdToIndex.size\n return totalRows > 0 && selectedRows.length === totalRows\n }, [gridMap, selectedRows])\n\n // Check if some but not all rows are selected\n const areSomeRowsSelected = useCallback(() => {\n return selectedRows.length > 0 && !areAllRowsSelected()\n }, [selectedRows, areAllRowsSelected])\n\n const value = useMemo(() => {\n return {\n selectedRows,\n selectAllRows,\n clearRowsSelection,\n isRowSelected,\n areAllRowsSelected,\n areSomeRowsSelected,\n }\n }, [selectedRows, selectAllRows, areAllRowsSelected, areSomeRowsSelected, clearRowsSelection])\n\n return <SelectedRowsContext.Provider value={value}>{children}</SelectedRowsContext.Provider>\n}\n"],"names":["useSelectionCellsContext","useRef","useMemo","parseCellId","ROW_SELECTION_COLUMN_ID","useCallback","getCellId","jsx","SelectedRowsContext"],"mappings":";;;;;;;AASO,MAAM,uBAAuB,CAAC,EAAE,eAA0C;AAC/E,QAAM,EAAE,eAAe,SAAS,kBAAkB,kBAAkB,kBAClEA,+CAAyB;AACrB,QAAA,sBAAsBC,MAAiB,OAAA,EAAE;AAG/C,QAAM,sBAAsBC,MAAA;AAAA,IAC1B,MACE,MAAM,KAAK,aAAa,EACrB;AAAA,MACC,CAAC;;AACCC,gCAAY,YAAA,MAAM,MAAlBA,mBAAqB,WAAUC,mDAA2BD,eAAAA,YAAY,MAAM,MAAlBA,mBAAqB;AAAA;AAAA,IAAA,EAElF,IAAI,CAAC;;AAAWA,6BAAY,YAAA,MAAM,MAAlBA,mBAAqB;AAAA,KAAK;AAAA,IAC/C,CAAC,aAAa;AAAA,EAChB;AAGM,QAAA,eAAeD,MAAAA,QAAQ,MAAM;AAEjC,UAAM,gBAAgB,CAAC,GAAG,mBAAmB,EAAE,KAAK;AACpD,UAAM,aAAa,CAAC,GAAG,oBAAoB,OAAO,EAAE,KAAK;AAGzD,UAAM,aACJ,cAAc,WAAW,WAAW,UACpC,cAAc,KAAK,CAAC,IAAI,UAAU,OAAO,WAAW,KAAK,CAAC;AAG5D,QAAI,YAAY;AACd,0BAAoB,UAAU;AACvB,aAAA;AAAA,IAAA;AAIT,WAAO,oBAAoB;AAAA,EAAA,GAC1B,CAAC,mBAAmB,CAAC;AAGlB,QAAA,gBAAgBG,MAAAA,YAAY,MAAM;AACtC,UAAM,YAAY,MAAM,KAAK,QAAQ,aAAa,MAAM;AAClD,UAAA,mCAAmB,IAAY;AAG3B,cAAA,QAAQ,CAAC,UAAU;AAC3B,mBAAa,IAAIC,UAAAA,UAAU,OAAOF,sBAAuB,uBAAA,CAAC;AAAA,IAAA,CAC3D;AAED,qBAAiB,YAAY;AAEzB,QAAA,UAAU,SAAS,GAAG;AACxB,YAAM,cAAcE,UAAA,UAAU,UAAU,CAAC,GAAGF,sBAAAA,uBAAuB;AACnE,uBAAiB,WAAW;AACd,oBAAAD,UAAAA,YAAY,WAAW,CAAC;AAAA,IAAA;AAAA,EACxC,GACC,CAAC,OAAO,CAAC;AAGN,QAAA,qBAAqBE,MAAAA,YAAY,MAAM;AAC3C,qBAAiB,CAAC,SAAS;AACnB,YAAA,eAAe,IAAI,IAAI,IAAI;AACjC,YAAM,KAAK,YAAY,EAAE,QAAQ,CAAC,WAAW;;AAC3C,cAAIF,2BAAY,MAAM,MAAlBA,mBAAqB,WAAUC,sBAAAA,yBAAyB;AAC1D,uBAAa,OAAO,MAAM;AAAA,QAAA;AAAA,MAC5B,CACD;AACM,aAAA;AAAA,IAAA,CACR;AAAA,EAAA,GACA,CAAC,gBAAgB,CAAC;AAGrB,QAAM,gBAAgBC,MAAA;AAAA,IACpB,CAAC,UAAiB;AACT,aAAA,aAAa,SAAS,KAAK;AAAA,IACpC;AAAA,IACA,CAAC,YAAY;AAAA,EACf;AAGM,QAAA,qBAAqBA,MAAAA,YAAY,MAAM;AACrC,UAAA,YAAY,QAAQ,aAAa;AAChC,WAAA,YAAY,KAAK,aAAa,WAAW;AAAA,EAAA,GAC/C,CAAC,SAAS,YAAY,CAAC;AAGpB,QAAA,sBAAsBA,MAAAA,YAAY,MAAM;AAC5C,WAAO,aAAa,SAAS,KAAK,CAAC,mBAAmB;AAAA,EAAA,GACrD,CAAC,cAAc,kBAAkB,CAAC;AAE/B,QAAA,QAAQH,MAAAA,QAAQ,MAAM;AACnB,WAAA;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EAAA,GACC,CAAC,cAAc,eAAe,oBAAoB,qBAAqB,kBAAkB,CAAC;AAE7F,SAAQK,2BAAAA,kBAAAA,IAAAC,oBAAAA,oBAAoB,UAApB,EAA6B,OAAe,SAAS,CAAA;AAC/D;;"}
|