@ynput/ayon-frontend-shared 0.2.13 → 0.2.15
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 +8 -0
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +8 -0
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +5 -0
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +5 -0
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +2 -0
- package/dist/Slicer.cjs.js.map +1 -1
- package/dist/Slicer.es.js +3 -1
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +3 -5
- package/dist/_virtual/index.cjs10.js.map +1 -1
- package/dist/_virtual/index.cjs7.js +5 -3
- package/dist/_virtual/index.cjs7.js.map +1 -1
- package/dist/_virtual/index.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +2 -5
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es7.js +5 -2
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- package/dist/api.cjs.js +2 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +3 -1
- package/dist/components.cjs.js +15 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +16 -1
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +4 -0
- package/dist/context.cjs.js.map +1 -1
- package/dist/context.es.js +4 -0
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +8 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +8 -0
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/addons.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/addons.es.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/events.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/events.es.js.map +1 -1
- package/dist/shared/src/api/generated/files.cjs.js +5 -0
- package/dist/shared/src/api/generated/files.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/files.es.js +5 -0
- package/dist/shared/src/api/generated/files.es.js.map +1 -1
- package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/operations.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js +16 -0
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js +16 -0
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/reviewables.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/reviewables.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/generated/tasks.cjs.js +8 -0
- package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/tasks.es.js +8 -0
- package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +66 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +66 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +8 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +8 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +69 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +69 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +48 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +102 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +102 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PricingLink.cjs.js +13 -0
- package/dist/shared/src/components/Powerpack/PricingLink.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PricingLink.es.js +13 -0
- package/dist/shared/src/components/Powerpack/PricingLink.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +4 -10
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +1 -7
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js +13 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js +13 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +50 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +50 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +8 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +8 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +8 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +8 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +8 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +8 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterDates.cjs.js +167 -0
- package/dist/shared/src/components/SearchFilter/filterDates.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/filterDates.es.js +167 -0
- package/dist/shared/src/components/SearchFilter/filterDates.es.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +547 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +547 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +6 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +19 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +20 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +8 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -0
- 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/InteractiveActionDialog.cjs.js +8 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +8 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +8 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +8 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +8 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +8 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +8 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +9 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +9 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +2 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +2 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +5 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +5 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +22 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +22 -11
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js +6 -0
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js +6 -0
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js +3 -3
- package/dist/shared/src/containers/Feed/components/FilesGrid/FilesGrid.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +1 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.cjs.js +2 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.es.js +2 -1
- package/dist/shared/src/containers/Feed/helpers/mergeAnnotationAttachments.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +45 -16
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +45 -16
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +45 -7
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +45 -7
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +202 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +202 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +14 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +14 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +22 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +22 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js +116 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js +116 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +137 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +137 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.cjs.js → useBuildProjectDataTable.cjs.js} +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.es.js → useBuildProjectDataTable.es.js} +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +39 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +39 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +108 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +108 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +29 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +8 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js +37 -0
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js +37 -0
- package/dist/shared/src/containers/Slicer/useFiltersWithHierarchy.es.js.map +1 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +1 -0
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +65 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.es.js +65 -0
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +7 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +7 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getEntityTypeIcon.cjs.js +9 -0
- package/dist/shared/src/util/getEntityTypeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getEntityTypeIcon.es.js +9 -0
- package/dist/shared/src/util/getEntityTypeIcon.es.js.map +1 -1
- package/dist/types/api/generated/actions.d.ts +3 -2
- package/dist/types/api/generated/addons.d.ts +8 -1
- package/dist/types/api/generated/anatomy.d.ts +1 -14
- package/dist/types/api/generated/attributes.d.ts +4 -2
- package/dist/types/api/generated/configuration.d.ts +6 -0
- package/dist/types/api/generated/entityLists.d.ts +2 -0
- package/dist/types/api/generated/events.d.ts +1 -1
- package/dist/types/api/generated/files.d.ts +11 -0
- package/dist/types/api/generated/operations.d.ts +1 -1
- package/dist/types/api/generated/projects.d.ts +59 -0
- package/dist/types/api/generated/reviewables.d.ts +1 -0
- package/dist/types/api/generated/system.d.ts +5 -2
- package/dist/types/api/generated/tasks.d.ts +48 -9
- package/dist/types/api/generated/users.d.ts +1 -4
- package/dist/types/api/queries/overview/getOverview.d.ts +350 -482
- package/dist/types/api/queries/project/getProject.d.ts +6 -0
- package/dist/types/components/Powerpack/PowerpackButton.d.ts +7 -0
- package/dist/types/components/Powerpack/PowerpackDialog.d.ts +4 -0
- package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +8 -0
- package/dist/types/components/Powerpack/PricingLink.d.ts +4 -0
- package/dist/types/components/Powerpack/index.d.ts +3 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -1
- package/dist/types/components/ProjectTableSettings/TableSettings.styled.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +10 -0
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/filterDates.d.ts +56 -0
- package/dist/types/components/SearchFilter/index.d.ts +2 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +30 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.d.ts +1 -1
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +5 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +11 -5
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableModulesContext.d.ts +12 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +25 -0
- package/dist/types/containers/ProjectTreeTable/hooks/{useOverviewTable.d.ts → useBuildProjectDataTable.d.ts} +3 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +13 -5
- package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +13 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +8 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/containers/Slicer/index.d.ts +1 -0
- package/dist/types/containers/Slicer/useFiltersWithHierarchy.d.ts +10 -0
- package/dist/types/context/PowerpackContext.d.ts +20 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/util/getAttributeIcon.d.ts +1 -1
- package/dist/types/util/getEntityTypeIcon.d.ts +1 -0
- package/dist/util.cjs.js +1 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +2 -1
- package/package.json +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +0 -1
|
@@ -14,7 +14,8 @@ const ColumnSettingsProvider = ({
|
|
|
14
14
|
columnOrder: columnOrderInit = [],
|
|
15
15
|
columnPinning: columnPinningInit = {},
|
|
16
16
|
columnVisibility = {},
|
|
17
|
-
columnSizing: columnsSizingExternal = {}
|
|
17
|
+
columnSizing: columnsSizingExternal = {},
|
|
18
|
+
groupBy
|
|
18
19
|
} = columnsConfig;
|
|
19
20
|
const columnOrder = [...columnOrderInit];
|
|
20
21
|
const columnPinning = { ...columnPinningInit };
|
|
@@ -119,6 +120,12 @@ const ColumnSettingsProvider = ({
|
|
|
119
120
|
columnPinning: pinning
|
|
120
121
|
});
|
|
121
122
|
};
|
|
123
|
+
const updateGroupBy = (groupBy2) => {
|
|
124
|
+
onChange({
|
|
125
|
+
...columnsConfig,
|
|
126
|
+
groupBy: groupBy2
|
|
127
|
+
});
|
|
128
|
+
};
|
|
122
129
|
const columnVisibilityUpdater = (columnVisibilityUpdater2) => {
|
|
123
130
|
const newVisibility = reactTable.functionalUpdate(columnVisibilityUpdater2, columnVisibility);
|
|
124
131
|
updateColumnVisibility(newVisibility);
|
|
@@ -158,6 +165,9 @@ const ColumnSettingsProvider = ({
|
|
|
158
165
|
columnSizing,
|
|
159
166
|
setColumnSizing,
|
|
160
167
|
columnSizingUpdater,
|
|
168
|
+
// group by
|
|
169
|
+
groupBy,
|
|
170
|
+
updateGroupBy,
|
|
161
171
|
// global change
|
|
162
172
|
setColumnsConfig: onChange
|
|
163
173
|
},
|
package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSettingsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState // Add this\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config?: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder: columnOrderInit = [],\n columnPinning: columnPinningInit = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n } = columnsConfig\n\n const columnOrder = [...columnOrderInit]\n const columnPinning = { ...columnPinningInit }\n const defaultOrder = ['thumbnail', 'name', 'subType', 'status', 'tags']\n // for each default column, if it is not in the columnOrder, find the index of the column before it, if none, add to beginning\n defaultOrder.forEach((col, i) => {\n if (!columnOrder.includes(col)) {\n const defaultBefore = defaultOrder[i - 1]\n const columnAfter = defaultOrder[i + 1]\n if (!defaultBefore || !columnOrder.includes(defaultBefore)) {\n // add to beginning\n columnOrder.unshift(col)\n } else {\n // find the index of that column in the columnOrder\n const index = columnOrder.indexOf(defaultBefore)\n // add the item after that column\n columnOrder.splice(index + 1, 0, col)\n }\n if (columnAfter && columnPinning?.left && columnPinning?.left.includes(columnAfter)) {\n // pin the column\n columnPinning.left = [col, ...(columnPinning?.left || [])]\n }\n }\n })\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["createContext","useState","columnVisibilityUpdater","functionalUpdate","columnOrderUpdater","columnPinningUpdater","jsx","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnSettingsContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface TableGroupBy {\n desc: boolean\n id: string\n}\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // groupBy\n updateGroupBy: (groupBy: TableGroupBy | undefined) => void\n groupBy?: TableGroupBy\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config?: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder: columnOrderInit = [],\n columnPinning: columnPinningInit = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n groupBy,\n } = columnsConfig\n\n const columnOrder = [...columnOrderInit]\n const columnPinning = { ...columnPinningInit }\n const defaultOrder = ['thumbnail', 'name', 'subType', 'status', 'tags']\n // for each default column, if it is not in the columnOrder, find the index of the column before it, if none, add to beginning\n defaultOrder.forEach((col, i) => {\n if (!columnOrder.includes(col)) {\n const defaultBefore = defaultOrder[i - 1]\n const columnAfter = defaultOrder[i + 1]\n if (!defaultBefore || !columnOrder.includes(defaultBefore)) {\n // add to beginning\n columnOrder.unshift(col)\n } else {\n // find the index of that column in the columnOrder\n const index = columnOrder.indexOf(defaultBefore)\n // add the item after that column\n columnOrder.splice(index + 1, 0, col)\n }\n if (columnAfter && columnPinning?.left && columnPinning?.left.includes(columnAfter)) {\n // pin the column\n columnPinning.left = [col, ...(columnPinning?.left || [])]\n }\n }\n })\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n const updateGroupBy = (groupBy: TableGroupBy | undefined) => {\n onChange({\n ...columnsConfig,\n groupBy: groupBy,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // group by\n groupBy,\n updateGroupBy,\n\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["createContext","useState","groupBy","columnVisibilityUpdater","functionalUpdate","columnOrderUpdater","columnPinningUpdater","jsx","useContext"],"mappings":"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"}
|
|
@@ -12,7 +12,8 @@ const ColumnSettingsProvider = ({
|
|
|
12
12
|
columnOrder: columnOrderInit = [],
|
|
13
13
|
columnPinning: columnPinningInit = {},
|
|
14
14
|
columnVisibility = {},
|
|
15
|
-
columnSizing: columnsSizingExternal = {}
|
|
15
|
+
columnSizing: columnsSizingExternal = {},
|
|
16
|
+
groupBy
|
|
16
17
|
} = columnsConfig;
|
|
17
18
|
const columnOrder = [...columnOrderInit];
|
|
18
19
|
const columnPinning = { ...columnPinningInit };
|
|
@@ -117,6 +118,12 @@ const ColumnSettingsProvider = ({
|
|
|
117
118
|
columnPinning: pinning
|
|
118
119
|
});
|
|
119
120
|
};
|
|
121
|
+
const updateGroupBy = (groupBy2) => {
|
|
122
|
+
onChange({
|
|
123
|
+
...columnsConfig,
|
|
124
|
+
groupBy: groupBy2
|
|
125
|
+
});
|
|
126
|
+
};
|
|
120
127
|
const columnVisibilityUpdater = (columnVisibilityUpdater2) => {
|
|
121
128
|
const newVisibility = functionalUpdate(columnVisibilityUpdater2, columnVisibility);
|
|
122
129
|
updateColumnVisibility(newVisibility);
|
|
@@ -156,6 +163,9 @@ const ColumnSettingsProvider = ({
|
|
|
156
163
|
columnSizing,
|
|
157
164
|
setColumnSizing,
|
|
158
165
|
columnSizingUpdater,
|
|
166
|
+
// group by
|
|
167
|
+
groupBy,
|
|
168
|
+
updateGroupBy,
|
|
159
169
|
// global change
|
|
160
170
|
setColumnsConfig: onChange
|
|
161
171
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSettingsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState // Add this\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config?: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder: columnOrderInit = [],\n columnPinning: columnPinningInit = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n } = columnsConfig\n\n const columnOrder = [...columnOrderInit]\n const columnPinning = { ...columnPinningInit }\n const defaultOrder = ['thumbnail', 'name', 'subType', 'status', 'tags']\n // for each default column, if it is not in the columnOrder, find the index of the column before it, if none, add to beginning\n defaultOrder.forEach((col, i) => {\n if (!columnOrder.includes(col)) {\n const defaultBefore = defaultOrder[i - 1]\n const columnAfter = defaultOrder[i + 1]\n if (!defaultBefore || !columnOrder.includes(defaultBefore)) {\n // add to beginning\n columnOrder.unshift(col)\n } else {\n // find the index of that column in the columnOrder\n const index = columnOrder.indexOf(defaultBefore)\n // add the item after that column\n columnOrder.splice(index + 1, 0, col)\n }\n if (columnAfter && columnPinning?.left && columnPinning?.left.includes(columnAfter)) {\n // pin the column\n columnPinning.left = [col, ...(columnPinning?.left || [])]\n }\n }\n })\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["React","columnVisibilityUpdater","columnOrderUpdater","columnPinningUpdater","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnSettingsContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ColumnSettingsContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, useState } from 'react'\nimport {\n ColumnOrderState,\n ColumnPinningState,\n functionalUpdate,\n OnChangeFn,\n VisibilityState,\n ColumnSizingState,\n} from '@tanstack/react-table'\n\nexport interface TableGroupBy {\n desc: boolean\n id: string\n}\n\nexport interface ColumnSettingsContextType {\n // Column Visibility\n columnVisibility: VisibilityState\n setColumnVisibility: (columnVisibility: VisibilityState) => void\n updateColumnVisibility: (columnVisibility: VisibilityState) => void\n columnVisibilityUpdater: OnChangeFn<VisibilityState>\n\n // Column Pinning\n columnPinning: ColumnPinningState\n setColumnPinning: (columnPinning: ColumnPinningState) => void\n updateColumnPinning: (columnPinning: ColumnPinningState) => void\n columnPinningUpdater: OnChangeFn<ColumnPinningState>\n\n // Column Order\n columnOrder: ColumnOrderState\n setColumnOrder: (columnOrder: ColumnOrderState) => void\n updateColumnOrder: (columnOrder: ColumnOrderState) => void\n columnOrderUpdater: OnChangeFn<ColumnOrderState>\n\n // Column Sizing\n columnSizing: ColumnSizingState\n setColumnSizing: (columnSizing: ColumnSizingState) => void\n columnSizingUpdater: OnChangeFn<ColumnSizingState>\n\n // groupBy\n updateGroupBy: (groupBy: TableGroupBy | undefined) => void\n groupBy?: TableGroupBy\n\n // Global change\n setColumnsConfig: (config: ColumnsConfig) => void\n}\n\nconst ColumnSettingsContext = createContext<ColumnSettingsContextType | undefined>(undefined)\n\nexport type ColumnsConfig = {\n columnVisibility: VisibilityState\n columnOrder: ColumnOrderState\n columnPinning: ColumnPinningState\n columnSizing: ColumnSizingState\n groupBy?: TableGroupBy\n}\n\ninterface ColumnSettingsProviderProps {\n children: ReactNode\n config?: Record<string, any>\n onChange: (config: ColumnsConfig) => void\n}\n\nexport const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps> = ({\n children,\n config,\n onChange,\n}) => {\n const columnsConfig = config as ColumnsConfig\n const {\n columnOrder: columnOrderInit = [],\n columnPinning: columnPinningInit = {},\n columnVisibility = {},\n columnSizing: columnsSizingExternal = {},\n groupBy,\n } = columnsConfig\n\n const columnOrder = [...columnOrderInit]\n const columnPinning = { ...columnPinningInit }\n const defaultOrder = ['thumbnail', 'name', 'subType', 'status', 'tags']\n // for each default column, if it is not in the columnOrder, find the index of the column before it, if none, add to beginning\n defaultOrder.forEach((col, i) => {\n if (!columnOrder.includes(col)) {\n const defaultBefore = defaultOrder[i - 1]\n const columnAfter = defaultOrder[i + 1]\n if (!defaultBefore || !columnOrder.includes(defaultBefore)) {\n // add to beginning\n columnOrder.unshift(col)\n } else {\n // find the index of that column in the columnOrder\n const index = columnOrder.indexOf(defaultBefore)\n // add the item after that column\n columnOrder.splice(index + 1, 0, col)\n }\n if (columnAfter && columnPinning?.left && columnPinning?.left.includes(columnAfter)) {\n // pin the column\n columnPinning.left = [col, ...(columnPinning?.left || [])]\n }\n }\n })\n\n // DIRECT STATE UPDATES - no side effects\n const setColumnVisibility = (visibility: VisibilityState) => {\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n })\n }\n\n const setColumnOrder = (order: ColumnOrderState) => {\n onChange({\n ...columnsConfig,\n columnOrder: order,\n })\n }\n\n const setColumnPinning = (pinning: ColumnPinningState) => {\n onChange({\n ...columnsConfig,\n columnPinning: pinning,\n })\n }\n\n const [internalColumnSizing, setInternalColumnSizing] = useState<ColumnSizingState | null>(null)\n\n // use internalColumnSizing if it exists, otherwise use the external column sizing\n const columnSizing = internalColumnSizing || columnsSizingExternal\n\n const resizingTimeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const setColumnSizing = (sizing: ColumnSizingState) => {\n setInternalColumnSizing(sizing)\n\n // if there is a timeout already set, clear it\n if (resizingTimeoutRef.current) {\n clearTimeout(resizingTimeoutRef.current)\n }\n // set a timeout that tracks if the column sizing has finished\n resizingTimeoutRef.current = setTimeout(() => {\n // we have finished resizing now!\n // update the external column sizing\n onChange({\n ...columnsConfig,\n columnSizing: sizing,\n })\n // reset the internal column sizing to not be used anymore\n setInternalColumnSizing(null)\n }, 500)\n }\n\n // SIDE EFFECT UTILITIES\n const togglePinningOnVisibilityChange = (visibility: VisibilityState) => {\n // ensure that any columns that are now hidden are removed from the pinning\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const hiddenColumns = Object.keys(visibility).filter((col) => visibility[col] === false)\n const newPinnedColumns = pinnedColumns.filter((col) => !hiddenColumns.includes(col))\n\n return {\n ...newPinning,\n left: newPinnedColumns,\n }\n }\n\n const updatePinningOrderOnOrderChange = (order: ColumnOrderState) => {\n // ensure that the column pinning is in the order of the column order\n const newPinning = { ...columnPinning }\n const pinnedColumns = newPinning.left || []\n const pinnedColumnsOrder = order.filter((col) => pinnedColumns.includes(col))\n\n return {\n ...newPinning,\n left: pinnedColumnsOrder,\n }\n }\n\n const updateOrderOnPinningChange = (pinning: ColumnPinningState) => {\n // we resort the column order based on the pinning\n return [...columnOrder].sort((a, b) => {\n const aPinned = pinning.left?.includes(a) ? 1 : 0\n const bPinned = pinning.left?.includes(b) ? 1 : 0\n return bPinned - aPinned\n })\n }\n\n // UPDATE METHODS WITH SIDE EFFECTS\n const updateColumnVisibility = (visibility: VisibilityState) => {\n const newPinning = togglePinningOnVisibilityChange(visibility)\n onChange({\n ...columnsConfig,\n columnVisibility: visibility,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnOrder = (order: ColumnOrderState) => {\n const newPinning = updatePinningOrderOnOrderChange(order)\n onChange({\n ...columnsConfig,\n columnOrder: order,\n columnPinning: newPinning,\n })\n }\n\n const updateColumnPinning = (pinning: ColumnPinningState) => {\n const newOrder = updateOrderOnPinningChange(pinning)\n onChange({\n ...columnsConfig,\n columnOrder: newOrder,\n columnPinning: pinning,\n })\n }\n\n const updateGroupBy = (groupBy: TableGroupBy | undefined) => {\n onChange({\n ...columnsConfig,\n groupBy: groupBy,\n })\n }\n\n // UPDATER FUNCTIONS\n const columnVisibilityUpdater: OnChangeFn<VisibilityState> = (columnVisibilityUpdater) => {\n const newVisibility = functionalUpdate(columnVisibilityUpdater, columnVisibility)\n updateColumnVisibility(newVisibility)\n }\n\n const columnOrderUpdater: OnChangeFn<ColumnOrderState> = (columnOrderUpdater) => {\n const newOrder = functionalUpdate(columnOrderUpdater, columnOrder)\n updateColumnOrder(newOrder)\n }\n\n const columnPinningUpdater: OnChangeFn<ColumnPinningState> = (columnPinningUpdater) => {\n const newPinning = functionalUpdate(columnPinningUpdater, columnPinning)\n updateColumnPinning(newPinning)\n }\n\n const columnSizingUpdater: OnChangeFn<ColumnSizingState> = (sizingUpdater) => {\n const newSizing = functionalUpdate(sizingUpdater, columnSizing)\n setColumnSizing(newSizing)\n }\n\n return (\n <ColumnSettingsContext.Provider\n value={{\n // column visibility\n columnVisibility,\n setColumnVisibility,\n updateColumnVisibility,\n columnVisibilityUpdater,\n // column pinning\n columnPinning,\n setColumnPinning,\n updateColumnPinning,\n columnPinningUpdater,\n // column order\n columnOrder,\n setColumnOrder,\n updateColumnOrder,\n columnOrderUpdater,\n // column sizing\n columnSizing,\n setColumnSizing,\n columnSizingUpdater,\n // group by\n groupBy,\n updateGroupBy,\n\n // global change\n setColumnsConfig: onChange,\n }}\n >\n {children}\n </ColumnSettingsContext.Provider>\n )\n}\n\nexport const useColumnSettingsContext = (): ColumnSettingsContextType => {\n const context = useContext(ColumnSettingsContext)\n if (!context) {\n throw new Error('useColumnSettingsContext must be used within a ColumnSettingsProvider')\n }\n return context\n}\n"],"names":["React","groupBy","columnVisibilityUpdater","columnOrderUpdater","columnPinningUpdater","jsx"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const
|
|
5
|
+
const useBuildProjectDataTable = require("../hooks/useBuildProjectDataTable.cjs.js");
|
|
6
6
|
const useFolderRelationships = require("../hooks/useFolderRelationships.cjs.js");
|
|
7
7
|
const ProjectTableContext = React.createContext(void 0);
|
|
8
8
|
const ProjectTableProvider = ({
|
|
@@ -18,10 +18,12 @@ const ProjectTableProvider = ({
|
|
|
18
18
|
loadingTasks,
|
|
19
19
|
isLoadingMore,
|
|
20
20
|
isLoading,
|
|
21
|
+
error,
|
|
21
22
|
isInitialized,
|
|
22
23
|
projectName,
|
|
23
24
|
users,
|
|
24
25
|
attribFields,
|
|
26
|
+
taskGroups,
|
|
25
27
|
filters,
|
|
26
28
|
setFilters,
|
|
27
29
|
queryFilters,
|
|
@@ -35,7 +37,7 @@ const ProjectTableProvider = ({
|
|
|
35
37
|
setExpanded,
|
|
36
38
|
contextMenuItems
|
|
37
39
|
}) => {
|
|
38
|
-
const tableData =
|
|
40
|
+
const tableData = useBuildProjectDataTable({
|
|
39
41
|
foldersMap,
|
|
40
42
|
tasksMap,
|
|
41
43
|
rows: tableRows,
|
|
@@ -96,6 +98,21 @@ const ProjectTableProvider = ({
|
|
|
96
98
|
},
|
|
97
99
|
[expanded, getChildrenEntities, setExpanded]
|
|
98
100
|
);
|
|
101
|
+
const toggleExpands = React.useCallback(
|
|
102
|
+
(rowIds, expand) => {
|
|
103
|
+
const expandedState = typeof expanded === "object" ? expanded : {};
|
|
104
|
+
const newExpandedState = { ...expandedState };
|
|
105
|
+
rowIds.forEach((rowId) => {
|
|
106
|
+
if (expand !== void 0) {
|
|
107
|
+
newExpandedState[rowId] = expand;
|
|
108
|
+
} else {
|
|
109
|
+
newExpandedState[rowId] = !expandedState[rowId];
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
setExpanded(newExpandedState);
|
|
113
|
+
},
|
|
114
|
+
[expanded, setExpanded]
|
|
115
|
+
);
|
|
99
116
|
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
100
117
|
ProjectTableContext.Provider,
|
|
101
118
|
{
|
|
@@ -105,6 +122,7 @@ const ProjectTableProvider = ({
|
|
|
105
122
|
// forwarded on
|
|
106
123
|
isInitialized,
|
|
107
124
|
isLoading,
|
|
125
|
+
error,
|
|
108
126
|
projectInfo,
|
|
109
127
|
attribFields,
|
|
110
128
|
users,
|
|
@@ -114,6 +132,7 @@ const ProjectTableProvider = ({
|
|
|
114
132
|
entitiesMap,
|
|
115
133
|
fetchNextPage,
|
|
116
134
|
reloadTableData,
|
|
135
|
+
taskGroups,
|
|
117
136
|
// filters
|
|
118
137
|
filters,
|
|
119
138
|
setFilters,
|
|
@@ -126,6 +145,7 @@ const ProjectTableProvider = ({
|
|
|
126
145
|
toggleExpanded,
|
|
127
146
|
updateExpanded,
|
|
128
147
|
toggleExpandAll,
|
|
148
|
+
toggleExpands,
|
|
129
149
|
// sorting
|
|
130
150
|
sorting,
|
|
131
151
|
updateSorting,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTableContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useCallback, useContext } from 'react'\nimport { ExpandedState, OnChangeFn, SortingState } from '@tanstack/react-table'\nimport useOverviewTable from '../hooks/useOverviewTable'\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'\n\ntype User = {\n name: string\n fullName?: string\n}\n\nexport type ToggleExpandAll = (rowIds: RowId[], expand?: boolean) => void\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: User[]\n // Attributes\n attribFields: ProjectTableAttribute[]\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 // data functions\n fetchNextPage: () => 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\nexport interface ProjectTableContextProps {\n isInitialized: ProjectTableProviderProps['isInitialized']\n isLoading: ProjectTableProviderProps['isLoading']\n // Project Info\n projectInfo: ProjectTableProviderProps['projectInfo']\n projectName: ProjectTableProviderProps['projectName']\n users: ProjectTableProviderProps['users']\n // Attributes\n attribFields: ProjectTableProviderProps['attribFields']\n\n // Data\n tableData: TableRow[]\n tasksMap: ProjectTableProviderProps['tasksMap']\n foldersMap: ProjectTableProviderProps['foldersMap']\n entitiesMap: ProjectTableProviderProps['entitiesMap']\n fetchNextPage: ProjectTableProviderProps['fetchNextPage']\n reloadTableData: ProjectTableProviderProps['reloadTableData']\n getEntityById: (id: string) => EntityMap | undefined\n\n // Filters\n filters: ProjectTableProviderProps['filters']\n setFilters: ProjectTableProviderProps['setFilters']\n queryFilters: ProjectTableProviderProps['queryFilters']\n\n // Hierarchy\n showHierarchy: ProjectTableProviderProps['showHierarchy']\n updateShowHierarchy: ProjectTableProviderProps['updateShowHierarchy']\n\n // Expanded state\n expanded: ProjectTableProviderProps['expanded']\n toggleExpanded: ProjectTableProviderProps['toggleExpanded']\n updateExpanded: ProjectTableProviderProps['updateExpanded']\n toggleExpandAll: ToggleExpandAll\n\n // Sorting\n sorting: ProjectTableProviderProps['sorting']\n updateSorting: ProjectTableProviderProps['updateSorting']\n\n // Folder Relationships\n getInheritedDependents: GetInheritedDependents\n findInheritedValueFromAncestors: FindInheritedValueFromAncestors\n findNonInheritedValues: FindNonInheritedValues\n getAncestorsOf: GetAncestorsOf\n\n // Context menu\n contextMenuItems: ProjectTableProviderProps['contextMenuItems']\n}\n\nconst ProjectTableContext = createContext<ProjectTableContextProps | undefined>(undefined)\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 isInitialized,\n projectName,\n users,\n attribFields,\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}: ProjectTableProviderProps) => {\n // DATA TO TABLE\n const tableData = useOverviewTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n\n const getEntityById = useCallback(\n (id: string): EntityMap | undefined => {\n if (foldersMap.has(id)) {\n return foldersMap.get(id)\n } else if (tasksMap.has(id)) {\n return tasksMap.get(id)\n } else if (entitiesMap.has(id)) {\n return entitiesMap.get(id)\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: ProjectTableContextProps['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 return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n projectInfo,\n attribFields,\n users,\n projectName,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\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 // sorting\n sorting,\n updateSorting,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n\nexport const useProjectTableContext = () => {\n const context = useContext(ProjectTableContext)\n if (!context) {\n throw new Error('useProjectTableContext must be used within a ProjectTableProvider')\n }\n return context\n}\n"],"names":["createContext","useCallback","jsx","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTableContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useCallback, useContext } 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 { TaskGroup } from '@shared/api'\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport type ToggleExpandAll = (rowIds: RowId[], expand?: boolean) => void\nexport type ToggleExpands = (rowIds: RowId[], expand?: boolean) => void\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\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: TaskGroup[]\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\nexport interface ProjectTableContextProps {\n isInitialized: ProjectTableProviderProps['isInitialized']\n isLoading: ProjectTableProviderProps['isLoading']\n // Project Info\n projectInfo: ProjectTableProviderProps['projectInfo']\n projectName: ProjectTableProviderProps['projectName']\n users: ProjectTableProviderProps['users']\n // Attributes\n attribFields: ProjectTableProviderProps['attribFields']\n error?: string\n\n // Data\n tableData: TableRow[]\n tasksMap: ProjectTableProviderProps['tasksMap']\n foldersMap: ProjectTableProviderProps['foldersMap']\n entitiesMap: ProjectTableProviderProps['entitiesMap']\n fetchNextPage: ProjectTableProviderProps['fetchNextPage']\n reloadTableData: ProjectTableProviderProps['reloadTableData']\n getEntityById: (id: string) => EntityMap | undefined\n\n // grouping\n taskGroups: ProjectTableProviderProps['taskGroups']\n\n // Filters\n filters: ProjectTableProviderProps['filters']\n setFilters: ProjectTableProviderProps['setFilters']\n queryFilters: ProjectTableProviderProps['queryFilters']\n\n // Hierarchy\n showHierarchy: ProjectTableProviderProps['showHierarchy']\n updateShowHierarchy: ProjectTableProviderProps['updateShowHierarchy']\n\n // Expanded state\n expanded: ProjectTableProviderProps['expanded']\n toggleExpanded: ProjectTableProviderProps['toggleExpanded']\n updateExpanded: ProjectTableProviderProps['updateExpanded']\n toggleExpandAll: ToggleExpandAll\n toggleExpands: ToggleExpands // expand/collapse multiple rows at once\n\n // Sorting\n sorting: ProjectTableProviderProps['sorting']\n updateSorting: ProjectTableProviderProps['updateSorting']\n\n // Folder Relationships\n getInheritedDependents: GetInheritedDependents\n findInheritedValueFromAncestors: FindInheritedValueFromAncestors\n findNonInheritedValues: FindNonInheritedValues\n getAncestorsOf: GetAncestorsOf\n\n // Context menu\n contextMenuItems: ProjectTableProviderProps['contextMenuItems']\n}\n\nconst ProjectTableContext = createContext<ProjectTableContextProps | undefined>(undefined)\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 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}: ProjectTableProviderProps) => {\n // DATA TO TABLE\n const tableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n\n const getEntityById = useCallback(\n (id: string): EntityMap | undefined => {\n if (foldersMap.has(id)) {\n return foldersMap.get(id)\n } else if (tasksMap.has(id)) {\n return tasksMap.get(id)\n } else if (entitiesMap.has(id)) {\n return entitiesMap.get(id)\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: ProjectTableContextProps['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: ProjectTableContextProps['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 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 }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n\nexport const useProjectTableContext = () => {\n const context = useContext(ProjectTableContext)\n if (!context) {\n throw new Error('useProjectTableContext must be used within a ProjectTableProvider')\n }\n return context\n}\n"],"names":["createContext","useCallback","jsx","useContext"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { createContext, useCallback, useContext } from "react";
|
|
3
|
-
import
|
|
3
|
+
import useBuildProjectDataTable from "../hooks/useBuildProjectDataTable.es.js";
|
|
4
4
|
import useFolderRelationships from "../hooks/useFolderRelationships.es.js";
|
|
5
5
|
const ProjectTableContext = createContext(void 0);
|
|
6
6
|
const ProjectTableProvider = ({
|
|
@@ -16,10 +16,12 @@ const ProjectTableProvider = ({
|
|
|
16
16
|
loadingTasks,
|
|
17
17
|
isLoadingMore,
|
|
18
18
|
isLoading,
|
|
19
|
+
error,
|
|
19
20
|
isInitialized,
|
|
20
21
|
projectName,
|
|
21
22
|
users,
|
|
22
23
|
attribFields,
|
|
24
|
+
taskGroups,
|
|
23
25
|
filters,
|
|
24
26
|
setFilters,
|
|
25
27
|
queryFilters,
|
|
@@ -33,7 +35,7 @@ const ProjectTableProvider = ({
|
|
|
33
35
|
setExpanded,
|
|
34
36
|
contextMenuItems
|
|
35
37
|
}) => {
|
|
36
|
-
const tableData =
|
|
38
|
+
const tableData = useBuildProjectDataTable({
|
|
37
39
|
foldersMap,
|
|
38
40
|
tasksMap,
|
|
39
41
|
rows: tableRows,
|
|
@@ -94,6 +96,21 @@ const ProjectTableProvider = ({
|
|
|
94
96
|
},
|
|
95
97
|
[expanded, getChildrenEntities, setExpanded]
|
|
96
98
|
);
|
|
99
|
+
const toggleExpands = useCallback(
|
|
100
|
+
(rowIds, expand) => {
|
|
101
|
+
const expandedState = typeof expanded === "object" ? expanded : {};
|
|
102
|
+
const newExpandedState = { ...expandedState };
|
|
103
|
+
rowIds.forEach((rowId) => {
|
|
104
|
+
if (expand !== void 0) {
|
|
105
|
+
newExpandedState[rowId] = expand;
|
|
106
|
+
} else {
|
|
107
|
+
newExpandedState[rowId] = !expandedState[rowId];
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
setExpanded(newExpandedState);
|
|
111
|
+
},
|
|
112
|
+
[expanded, setExpanded]
|
|
113
|
+
);
|
|
97
114
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
98
115
|
ProjectTableContext.Provider,
|
|
99
116
|
{
|
|
@@ -103,6 +120,7 @@ const ProjectTableProvider = ({
|
|
|
103
120
|
// forwarded on
|
|
104
121
|
isInitialized,
|
|
105
122
|
isLoading,
|
|
123
|
+
error,
|
|
106
124
|
projectInfo,
|
|
107
125
|
attribFields,
|
|
108
126
|
users,
|
|
@@ -112,6 +130,7 @@ const ProjectTableProvider = ({
|
|
|
112
130
|
entitiesMap,
|
|
113
131
|
fetchNextPage,
|
|
114
132
|
reloadTableData,
|
|
133
|
+
taskGroups,
|
|
115
134
|
// filters
|
|
116
135
|
filters,
|
|
117
136
|
setFilters,
|
|
@@ -124,6 +143,7 @@ const ProjectTableProvider = ({
|
|
|
124
143
|
toggleExpanded,
|
|
125
144
|
updateExpanded,
|
|
126
145
|
toggleExpandAll,
|
|
146
|
+
toggleExpands,
|
|
127
147
|
// sorting
|
|
128
148
|
sorting,
|
|
129
149
|
updateSorting,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTableContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useCallback, useContext } from 'react'\nimport { ExpandedState, OnChangeFn, SortingState } from '@tanstack/react-table'\nimport useOverviewTable from '../hooks/useOverviewTable'\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'\n\ntype User = {\n name: string\n fullName?: string\n}\n\nexport type ToggleExpandAll = (rowIds: RowId[], expand?: boolean) => void\n\nexport interface ProjectTableProviderProps {\n children: ReactNode\n isInitialized: boolean\n\n // loading\n isLoading: boolean\n isLoadingMore: boolean\n loadingTasks?: LoadingTasks\n // Project Info\n projectInfo?: ProjectModel\n projectName: string\n users: User[]\n // Attributes\n attribFields: ProjectTableAttribute[]\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 // data functions\n fetchNextPage: () => 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\nexport interface ProjectTableContextProps {\n isInitialized: ProjectTableProviderProps['isInitialized']\n isLoading: ProjectTableProviderProps['isLoading']\n // Project Info\n projectInfo: ProjectTableProviderProps['projectInfo']\n projectName: ProjectTableProviderProps['projectName']\n users: ProjectTableProviderProps['users']\n // Attributes\n attribFields: ProjectTableProviderProps['attribFields']\n\n // Data\n tableData: TableRow[]\n tasksMap: ProjectTableProviderProps['tasksMap']\n foldersMap: ProjectTableProviderProps['foldersMap']\n entitiesMap: ProjectTableProviderProps['entitiesMap']\n fetchNextPage: ProjectTableProviderProps['fetchNextPage']\n reloadTableData: ProjectTableProviderProps['reloadTableData']\n getEntityById: (id: string) => EntityMap | undefined\n\n // Filters\n filters: ProjectTableProviderProps['filters']\n setFilters: ProjectTableProviderProps['setFilters']\n queryFilters: ProjectTableProviderProps['queryFilters']\n\n // Hierarchy\n showHierarchy: ProjectTableProviderProps['showHierarchy']\n updateShowHierarchy: ProjectTableProviderProps['updateShowHierarchy']\n\n // Expanded state\n expanded: ProjectTableProviderProps['expanded']\n toggleExpanded: ProjectTableProviderProps['toggleExpanded']\n updateExpanded: ProjectTableProviderProps['updateExpanded']\n toggleExpandAll: ToggleExpandAll\n\n // Sorting\n sorting: ProjectTableProviderProps['sorting']\n updateSorting: ProjectTableProviderProps['updateSorting']\n\n // Folder Relationships\n getInheritedDependents: GetInheritedDependents\n findInheritedValueFromAncestors: FindInheritedValueFromAncestors\n findNonInheritedValues: FindNonInheritedValues\n getAncestorsOf: GetAncestorsOf\n\n // Context menu\n contextMenuItems: ProjectTableProviderProps['contextMenuItems']\n}\n\nconst ProjectTableContext = createContext<ProjectTableContextProps | undefined>(undefined)\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 isInitialized,\n projectName,\n users,\n attribFields,\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}: ProjectTableProviderProps) => {\n // DATA TO TABLE\n const tableData = useOverviewTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n\n const getEntityById = useCallback(\n (id: string): EntityMap | undefined => {\n if (foldersMap.has(id)) {\n return foldersMap.get(id)\n } else if (tasksMap.has(id)) {\n return tasksMap.get(id)\n } else if (entitiesMap.has(id)) {\n return entitiesMap.get(id)\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: ProjectTableContextProps['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 return (\n <ProjectTableContext.Provider\n value={{\n // from this context\n tableData,\n // forwarded on\n isInitialized,\n isLoading,\n projectInfo,\n attribFields,\n users,\n projectName,\n tasksMap,\n foldersMap,\n entitiesMap,\n fetchNextPage,\n reloadTableData,\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 // sorting\n sorting,\n updateSorting,\n getEntityById,\n // folder relationships\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n getAncestorsOf,\n // context menu\n contextMenuItems,\n }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n\nexport const useProjectTableContext = () => {\n const context = useContext(ProjectTableContext)\n if (!context) {\n throw new Error('useProjectTableContext must be used within a ProjectTableProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectTableContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableContext.tsx"],"sourcesContent":["import { createContext, ReactNode, useCallback, useContext } 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 { TaskGroup } from '@shared/api'\n\nexport type TableUser = {\n name: string\n fullName?: string\n}\n\nexport type ToggleExpandAll = (rowIds: RowId[], expand?: boolean) => void\nexport type ToggleExpands = (rowIds: RowId[], expand?: boolean) => void\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\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: TaskGroup[]\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\nexport interface ProjectTableContextProps {\n isInitialized: ProjectTableProviderProps['isInitialized']\n isLoading: ProjectTableProviderProps['isLoading']\n // Project Info\n projectInfo: ProjectTableProviderProps['projectInfo']\n projectName: ProjectTableProviderProps['projectName']\n users: ProjectTableProviderProps['users']\n // Attributes\n attribFields: ProjectTableProviderProps['attribFields']\n error?: string\n\n // Data\n tableData: TableRow[]\n tasksMap: ProjectTableProviderProps['tasksMap']\n foldersMap: ProjectTableProviderProps['foldersMap']\n entitiesMap: ProjectTableProviderProps['entitiesMap']\n fetchNextPage: ProjectTableProviderProps['fetchNextPage']\n reloadTableData: ProjectTableProviderProps['reloadTableData']\n getEntityById: (id: string) => EntityMap | undefined\n\n // grouping\n taskGroups: ProjectTableProviderProps['taskGroups']\n\n // Filters\n filters: ProjectTableProviderProps['filters']\n setFilters: ProjectTableProviderProps['setFilters']\n queryFilters: ProjectTableProviderProps['queryFilters']\n\n // Hierarchy\n showHierarchy: ProjectTableProviderProps['showHierarchy']\n updateShowHierarchy: ProjectTableProviderProps['updateShowHierarchy']\n\n // Expanded state\n expanded: ProjectTableProviderProps['expanded']\n toggleExpanded: ProjectTableProviderProps['toggleExpanded']\n updateExpanded: ProjectTableProviderProps['updateExpanded']\n toggleExpandAll: ToggleExpandAll\n toggleExpands: ToggleExpands // expand/collapse multiple rows at once\n\n // Sorting\n sorting: ProjectTableProviderProps['sorting']\n updateSorting: ProjectTableProviderProps['updateSorting']\n\n // Folder Relationships\n getInheritedDependents: GetInheritedDependents\n findInheritedValueFromAncestors: FindInheritedValueFromAncestors\n findNonInheritedValues: FindNonInheritedValues\n getAncestorsOf: GetAncestorsOf\n\n // Context menu\n contextMenuItems: ProjectTableProviderProps['contextMenuItems']\n}\n\nconst ProjectTableContext = createContext<ProjectTableContextProps | undefined>(undefined)\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 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}: ProjectTableProviderProps) => {\n // DATA TO TABLE\n const tableData = useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows: tableRows,\n tasksByFolderMap,\n expanded,\n projectInfo,\n showHierarchy,\n loadingTasks,\n isLoadingMore,\n })\n\n const getEntityById = useCallback(\n (id: string): EntityMap | undefined => {\n if (foldersMap.has(id)) {\n return foldersMap.get(id)\n } else if (tasksMap.has(id)) {\n return tasksMap.get(id)\n } else if (entitiesMap.has(id)) {\n return entitiesMap.get(id)\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: ProjectTableContextProps['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: ProjectTableContextProps['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 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 }}\n >\n {children}\n </ProjectTableContext.Provider>\n )\n}\n\nexport const useProjectTableContext = () => {\n const context = useContext(ProjectTableContext)\n if (!context) {\n throw new Error('useProjectTableContext must be used within a ProjectTableProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
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 useLoadModule = require("../../../hooks/useLoadModule.cjs.js");
|
|
6
|
+
require("../../../../../_virtual/runtime.cjs.js");
|
|
7
|
+
require("../../../../../_virtual/semver.cjs.js");
|
|
8
|
+
require("../../../api/base/client.cjs.js");
|
|
9
|
+
require("../../../api/generated/graphql.cjs.js");
|
|
10
|
+
require("../../../api/generated/access.cjs.js");
|
|
11
|
+
require("../../../api/generated/actions.cjs.js");
|
|
12
|
+
require("../../../api/generated/activityFeed.cjs.js");
|
|
13
|
+
require("../../../api/generated/addons.cjs.js");
|
|
14
|
+
require("../../../api/generated/anatomy.cjs.js");
|
|
15
|
+
require("../../../api/generated/attributes.cjs.js");
|
|
16
|
+
require("../../../api/generated/authentication.cjs.js");
|
|
17
|
+
require("../../../api/generated/bundles.cjs.js");
|
|
18
|
+
require("../../../api/generated/configuration.cjs.js");
|
|
19
|
+
require("../../../api/generated/desktop.cjs.js");
|
|
20
|
+
require("../../../api/generated/entityLists.cjs.js");
|
|
21
|
+
require("../../../api/generated/events.cjs.js");
|
|
22
|
+
require("../../../api/generated/files.cjs.js");
|
|
23
|
+
require("../../../api/generated/folders.cjs.js");
|
|
24
|
+
require("../../../api/generated/inbox.cjs.js");
|
|
25
|
+
require("../../../api/generated/links.cjs.js");
|
|
26
|
+
require("../../../api/generated/market.cjs.js");
|
|
27
|
+
require("../../../api/generated/onboarding.cjs.js");
|
|
28
|
+
require("../../../api/generated/operations.cjs.js");
|
|
29
|
+
require("../../../api/generated/products.cjs.js");
|
|
30
|
+
require("../../../api/generated/projectDashboard.cjs.js");
|
|
31
|
+
require("../../../api/generated/projects.cjs.js");
|
|
32
|
+
require("../../../api/generated/reviewables.cjs.js");
|
|
33
|
+
require("../../../api/generated/services.cjs.js");
|
|
34
|
+
require("../../../api/generated/system.cjs.js");
|
|
35
|
+
require("../../../api/generated/tasks.cjs.js");
|
|
36
|
+
require("../../../api/generated/teams.cjs.js");
|
|
37
|
+
require("../../../api/generated/thumbnails.cjs.js");
|
|
38
|
+
require("../../../api/generated/uRIs.cjs.js");
|
|
39
|
+
require("../../../api/generated/users.cjs.js");
|
|
40
|
+
require("../../../api/generated/versions.cjs.js");
|
|
41
|
+
require("../../../api/generated/workfiles.cjs.js");
|
|
42
|
+
require("../../../api/generated/ynputCloud.cjs.js");
|
|
43
|
+
require("../../../api/queries/actions/getActions.cjs.js");
|
|
44
|
+
require("../../../api/queries/activities/getActivities.cjs.js");
|
|
45
|
+
require("../../../api/queries/activities/updateActivities.cjs.js");
|
|
46
|
+
require("../../../api/queries/activities/updateReaction.cjs.js");
|
|
47
|
+
require("../../../api/queries/activities/getMentions.cjs.js");
|
|
48
|
+
require("../../../api/queries/addons/getAddons.cjs.js");
|
|
49
|
+
require("../../../api/queries/addons/updateAddons.cjs.js");
|
|
50
|
+
require("../../../api/queries/attributes/getAttributes.cjs.js");
|
|
51
|
+
require("../../../api/queries/attributes/updateAttributes.cjs.js");
|
|
52
|
+
require("../../../api/queries/authentication/getAuthentication.cjs.js");
|
|
53
|
+
require("../../../api/queries/entities/getEntity.cjs.js");
|
|
54
|
+
require("../../../api/queries/entities/getEntityPanel.cjs.js");
|
|
55
|
+
require("../../../api/queries/entities/updateEntity.cjs.js");
|
|
56
|
+
require("../../../api/queries/entityLists/getLists.cjs.js");
|
|
57
|
+
require("../../../api/queries/entityLists/updateLists.cjs.js");
|
|
58
|
+
require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
59
|
+
require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
60
|
+
require("../../../api/queries/folders/getFolders.cjs.js");
|
|
61
|
+
require("../../../api/queries/overview/getOverview.cjs.js");
|
|
62
|
+
require("../../../api/queries/overview/updateOverview.cjs.js");
|
|
63
|
+
require("../../../api/queries/project/getProject.cjs.js");
|
|
64
|
+
require("../../../api/queries/project/updateProject.cjs.js");
|
|
65
|
+
require("../../../api/queries/review/getReview.cjs.js");
|
|
66
|
+
require("../../../api/queries/review/updateReview.cjs.js");
|
|
67
|
+
require("../../../api/queries/system/getSystem.cjs.js");
|
|
68
|
+
require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
69
|
+
require("../../../api/queries/users/getUsers.cjs.js");
|
|
70
|
+
require("../../../api/queries/users/updateUsers.cjs.js");
|
|
71
|
+
require("../../../api/queries/watchers/getWatchers.cjs.js");
|
|
72
|
+
require("../../../api/queries/permissions/getPermissions.cjs.js");
|
|
73
|
+
require("lodash");
|
|
74
|
+
require("react-toastify");
|
|
75
|
+
require("../../../context/RemoteModulesContext.cjs.js");
|
|
76
|
+
require("../../../context/DetailsPanelContext.cjs.js");
|
|
77
|
+
require("../../../context/ThumbnailUploaderContext.cjs.js");
|
|
78
|
+
require("../../../context/SettingsPanelContext.cjs.js");
|
|
79
|
+
require("../../../context/pip/PiPProvider.cjs.js");
|
|
80
|
+
require("react-dom");
|
|
81
|
+
require("../../../context/pip/PiPWrapper.cjs.js");
|
|
82
|
+
require("../../../context/AddonProjectContext.cjs.js");
|
|
83
|
+
require("../../../context/AddonContext.cjs.js");
|
|
84
|
+
require("../../../context/PowerpackContext.cjs.js");
|
|
85
|
+
require("react-redux");
|
|
86
|
+
require("custom-protocol-check");
|
|
87
|
+
const GroupSettingsFallback = require("../components/GroupSettingsFallback.cjs.js");
|
|
88
|
+
const ProjectTableModuleContext = React.createContext(
|
|
89
|
+
void 0
|
|
90
|
+
);
|
|
91
|
+
const ProjectTableModuleProvider = ({
|
|
92
|
+
children
|
|
93
|
+
}) => {
|
|
94
|
+
const [GroupSettings, { outdated }] = useLoadModule.useLoadModule({
|
|
95
|
+
addon: "powerpack",
|
|
96
|
+
remote: "slicer",
|
|
97
|
+
module: "GroupSettings",
|
|
98
|
+
fallback: GroupSettingsFallback.GroupSettingsFallback,
|
|
99
|
+
minVersion: "1.0.6-dev"
|
|
100
|
+
});
|
|
101
|
+
const value = {
|
|
102
|
+
GroupSettings,
|
|
103
|
+
requiredVersion: outdated == null ? void 0 : outdated.required
|
|
104
|
+
};
|
|
105
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ProjectTableModuleContext.Provider, { value, children });
|
|
106
|
+
};
|
|
107
|
+
const useProjectTableModuleContext = () => {
|
|
108
|
+
const context = React.useContext(ProjectTableModuleContext);
|
|
109
|
+
if (context === void 0) {
|
|
110
|
+
throw new Error("useProjectTableModuleContext must be used within a ProjectTableModuleProvider");
|
|
111
|
+
}
|
|
112
|
+
return context;
|
|
113
|
+
};
|
|
114
|
+
exports.ProjectTableModuleProvider = ProjectTableModuleProvider;
|
|
115
|
+
exports.useProjectTableModuleContext = useProjectTableModuleContext;
|
|
116
|
+
//# sourceMappingURL=ProjectTableModulesContext.cjs.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectTableModulesContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ProjectTableModulesContext.tsx"],"sourcesContent":["import { useLoadModule } from '@shared/hooks'\nimport React, { createContext, useContext, ReactNode, FC } from 'react'\nimport { GroupSettingsFallback } from '../components/GroupSettingsFallback'\n\ninterface ProjectTableModuleContextType {\n GroupSettings: typeof GroupSettingsFallback\n requiredVersion?: string\n}\n\nconst ProjectTableModuleContext = createContext<ProjectTableModuleContextType | undefined>(\n undefined,\n)\n\ninterface ProjectTableModuleProviderProps {\n children: ReactNode\n}\n\nexport const ProjectTableModuleProvider: React.FC<ProjectTableModuleProviderProps> = ({\n children,\n}) => {\n const [GroupSettings, { outdated }] = useLoadModule({\n addon: 'powerpack',\n remote: 'slicer',\n module: 'GroupSettings',\n fallback: GroupSettingsFallback,\n minVersion: '1.0.6-dev',\n })\n\n const value = {\n GroupSettings,\n requiredVersion: outdated?.required,\n }\n\n return (\n <ProjectTableModuleContext.Provider value={value}>\n {children}\n </ProjectTableModuleContext.Provider>\n )\n}\n\nexport const useProjectTableModuleContext = (): ProjectTableModuleContextType => {\n const context = useContext(ProjectTableModuleContext)\n if (context === undefined) {\n throw new Error('useProjectTableModuleContext must be used within a ProjectTableModuleProvider')\n }\n return context\n}\n"],"names":["createContext","useLoadModule","GroupSettingsFallback","jsx","useContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,4BAA4BA,MAAA;AAAA,EAChC;AACF;AAMO,MAAM,6BAAwE,CAAC;AAAA,EACpF;AACF,MAAM;AACJ,QAAM,CAAC,eAAe,EAAE,SAAU,CAAA,IAAIC,cAAAA,cAAc;AAAA,IAClD,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUC,sBAAA;AAAA,IACV,YAAY;AAAA,EAAA,CACb;AAED,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA,iBAAiB,qCAAU;AAAA,EAC7B;AAEA,SACGC,2BAAAA,kBAAAA,IAAA,0BAA0B,UAA1B,EAAmC,OACjC,SACH,CAAA;AAEJ;AAEO,MAAM,+BAA+B,MAAqC;AACzE,QAAA,UAAUC,iBAAW,yBAAyB;AACpD,MAAI,YAAY,QAAW;AACnB,UAAA,IAAI,MAAM,+EAA+E;AAAA,EAAA;AAE1F,SAAA;AACT;;;"}
|