@ynput/ayon-frontend-shared 0.3.26 → 0.3.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +25 -23
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +404 -190
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +19 -18
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs14.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es14.js +5 -2
- package/dist/_virtual/index.es14.js.map +1 -1
- package/dist/_virtual/index.es8.js +2 -5
- package/dist/_virtual/index.es8.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +406 -402
- package/dist/api.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +15 -13
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -10
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js.map +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +1 -0
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +58 -36
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +125 -99
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js +69 -9
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js +95 -35
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +20 -19
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -3
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js +2 -0
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js +64 -0
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +27 -26
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +104 -103
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +118 -111
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/updateProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/updateProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/updateProject.es.js +43 -19
- package/dist/shared/src/api/queries/project/updateProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +22 -21
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +24 -20
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js.map +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js +89 -88
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -7
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +5 -3
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +5 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +3 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -7
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +3 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -43
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +5 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +5 -3
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +23 -21
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -7
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -4
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -3
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +5 -2
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +67 -77
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +192 -141
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +7 -5
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -3
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +3 -2
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +41 -44
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +4 -4
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -3
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -5
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -3
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -3
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +5 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +5 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +5 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +20 -18
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +5 -3
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -3
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +67 -64
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +5 -4
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +5 -3
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -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 +5 -3
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +5 -3
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- 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 +5 -3
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +3 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +6 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +565 -563
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +61 -50
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +104 -102
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js +10 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js +25 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/DeleteConfirmContent.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +114 -112
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +21 -19
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +113 -111
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +109 -107
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +106 -105
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +107 -105
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +101 -99
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +337 -40
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +123 -119
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +100 -98
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +125 -120
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +103 -101
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +112 -110
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +100 -98
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +110 -108
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/expandRelativeDates.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +89 -356
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +41 -39
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +29 -28
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js +31 -32
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidgetInput.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +98 -96
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +5 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -3
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +5 -3
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +5 -3
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +53 -49
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +9 -7
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +21 -149
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +54 -53
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +10 -8
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +23 -20
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +8 -5
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +32 -26
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +7 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.es.js +5 -4
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +9 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +5 -4
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +7 -4
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +7 -4
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +6 -5
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +7 -5
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +2 -0
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +31 -0
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.es.js +3 -2
- package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +3 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js +43 -44
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/shared/src/util/formatUTCDate.cjs.js +2 -0
- package/dist/shared/src/util/formatUTCDate.cjs.js.map +1 -0
- package/dist/shared/src/util/formatUTCDate.es.js +9 -0
- package/dist/shared/src/util/formatUTCDate.es.js.map +1 -0
- package/dist/shared/src/util/getProjectDisplayName.cjs.js +2 -0
- package/dist/shared/src/util/getProjectDisplayName.cjs.js.map +1 -0
- package/dist/shared/src/util/getProjectDisplayName.es.js +5 -0
- package/dist/shared/src/util/getProjectDisplayName.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +38 -0
- package/dist/types/api/generated/graphqlLinks.d.ts +10 -4
- package/dist/types/api/generated/projectFolders.d.ts +1 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +7 -0
- package/dist/types/api/queries/activities/updateActivities.d.ts +14 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +7 -0
- package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +566 -0
- package/dist/types/api/queries/folders/index.d.ts +1 -0
- package/dist/types/api/queries/links/getLinks.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +7 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
- package/dist/types/api/queries/users/getUsers.d.ts +7 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +14 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -0
- package/dist/types/components/ReviewablesSelector/ReviewablesSelector.d.ts +7 -2
- package/dist/types/components/ReviewablesSelector/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +2 -1
- package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/components/DeleteConfirmContent.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/utils/expandRelativeDates.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +3 -7
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +2 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useReviewablesKeyboardNavigation.d.ts +13 -0
- package/dist/types/util/buildHierarchicalTableRows.d.ts +2 -0
- package/dist/types/util/confirmDelete.d.ts +1 -1
- package/dist/types/util/formatUTCDate.d.ts +1 -0
- package/dist/types/util/getProjectDisplayName.d.ts +6 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +23 -21
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildProjectDataTable.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n }\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskId","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"s0eAUMA,EAA6B,IAqBnC,SAAwBC,EAAyB,CAC/C,WAAAC,EACA,SAAAC,EACA,KAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,cAAAC,EACA,iBAAAC,EAAmB,GACnB,iBAAAC,EAAmB,GACnB,aAAAC,EAAe,CAAA,EACf,cAAAC,EAAgB,EAClB,EAAuB,CACrB,MAAMC,EAAUC,EAAAA,kBAAA,EACVC,EAAoBC,EAAAA,qBAAqB,CAAE,YAAaH,EAAS,EAGjEI,EAAcC,EAAAA,QAAQ,IAAM,KAAK,UAAUX,CAAQ,EAAG,CAACA,CAAQ,CAAC,EAGhEY,EAAoBD,EAAAA,QAAQ,IACzB,IAAI,IACT,OAAO,QAAQX,CAAQ,EACpB,OAAO,CAAC,CAACa,EAAGC,CAAU,IAAMA,CAAU,EACtC,IAAI,CAAC,CAACC,CAAE,IAAMA,CAAE,CAAA,EAEpB,CAACL,CAAW,CAAC,EAGV,CAAE,iBAAAM,EAAkB,oBAAAC,CAAA,EAAwBN,EAAAA,QAAQ,IAAM,CAC9D,MAAMO,MAAoB,IACpBC,MAAuB,IAG7B,UAAWC,KAAUxB,EAAW,SAAU,CACxC,GAAI,CAACwB,GAAQ,GAAI,SAEjB,MAAMC,EAAWD,EAAO,SACxB,GAAIC,EAAU,CACZH,EAAc,IAAIE,EAAO,GAAIC,CAAQ,EAErC,IAAIC,EAAWH,EAAiB,IAAIE,CAAQ,EACvCC,IACHA,MAAe,IACfH,EAAiB,IAAIE,EAAUC,CAAQ,GAEzCA,EAAS,IAAIF,EAAO,EAAE,CACxB,CACF,CAEA,MAAO,CAAE,iBAAkBF,EAAe,oBAAqBC,CAAA,CACjE,EAAG,CAACvB,CAAU,CAAC,EAGT2B,EAAiBZ,EAAAA,QAAQ,IAAM,CACnC,MAAMa,MAAc,IAGdC,EAAkB,CAAA,EACxB,UAAWL,KAAUxB,EAAW,SACzBwB,GAAQ,KAGT,CAACA,EAAO,UAAY,CAACxB,EAAW,IAAIwB,EAAO,QAAQ,KACrDI,EAAQ,IAAIJ,EAAO,EAAE,EACrBK,EAAM,KAAKL,EAAO,EAAE,GAKxB,KAAOK,EAAM,OAAS,GAAG,CACvB,MAAMC,EAAWD,EAAM,MAAA,EAGvB,GAAI,CAFqBb,EAAkB,IAAIc,CAAQ,EAEhC,SAGvB,MAAMC,EAAcV,EAAoB,IAAIS,CAAQ,EACpD,GAAIC,EACF,UAAWC,KAAWD,EACfH,EAAQ,IAAII,CAAO,IACtBJ,EAAQ,IAAII,CAAO,EACnBH,EAAM,KAAKG,CAAO,EAI1B,CAEA,OAAOJ,CACT,EAAG,CAAC5B,EAAYqB,EAAqBL,CAAiB,CAAC,EAGvD,OAAOD,EAAAA,QAAQ,IAAM,CAEnB,MAAMkB,EAAgB,CAACC,EAAsBT,IAAgC,CAC3E,MAAMU,EAAWvB,EAAkB,OAAQsB,EAAK,QAAQ,EAElDE,EAAQC,EAAAA,iBAAiBH,EAAK,MAAO,OAAQxB,EAAQ,OAAO,EAElE,MAAO,CACL,GAAIwB,EAAK,GACT,WAAY,OACZ,SAAUT,GAAYS,EAAK,SAC3B,SAAUA,EAAK,SACf,KAAMA,EAAK,MAAQ,GACnB,MAAOA,EAAK,OAASA,EAAK,MAAQ,GAClC,KAAMC,GAAU,MAAQ,KACxB,MAAOA,GAAU,OAAS,KAC1B,OAAQD,EAAK,OACb,UAAWA,EAAK,UAChB,KAAMA,EAAK,KACX,IAAK,KACL,QAAS,CAAA,EACT,QAASA,EAAK,UAAY,KAC1B,OAAQA,EAAK,OACb,UAAWA,EAAK,UAChB,QAASA,EAAK,SAAW,CAAA,EACzB,KAAMA,EAAK,QAAQ,KAAK,GAAG,GAAK,KAChC,OAAQA,EAAK,QAAQA,EAAK,QAAQ,OAAS,CAAC,GAAK,OACjD,UAAWA,EAAK,UAChB,UAAWA,EAAK,UAChB,eAAgBA,EAAK,gBAAkB,GACvC,MAAAE,EACA,SAAUF,EAAK,UAAY,CAAA,CAAC,CAEhC,EAGA,GAAI5B,EAAkB,CACpB,MAAMgC,EAA6B,CAAA,EAEnC,UAAWd,KAAUxB,EAAW,SAAU,CACxC,GAAI,CAACwB,GAAQ,GAAI,SAGjB,MAAMe,EAAWf,EAAO,UAAYrB,EAAiB,IAAIqB,EAAO,EAAE,EAElE,GAAI,CAACjB,GAAoB,CAACgC,EAAU,SAEpC,MAAMC,EAAiB5B,EAAkB,SAAUY,EAAO,UAAU,EAC9DY,EAAQC,EAAAA,iBAAiBb,EAAO,MAAO,SAAUd,EAAQ,OAAO,EAEhE+B,EAAgB,CACpB,GAAIjB,EAAO,GACX,WAAY,SACZ,SAAU,OACV,SAAUA,EAAO,GACjB,KAAMA,EAAO,MAAQ,GACrB,MAAOA,EAAO,OAASA,EAAO,MAAQ,GACtC,KAAMgB,GAAgB,MAAQ,KAC9B,MAAOA,GAAgB,OAAS,KAChC,IAAK,KACL,QAAS,CAAA,EACT,OAAQhB,EAAO,OACf,KAAMA,EAAO,MAAQ,CAAA,EACrB,QAASA,EAAO,YAAc,KAC9B,UAAWA,EAAO,WAAa,CAAA,EAC/B,KAAMA,EAAO,KACb,OAAQA,EAAO,QAAQA,EAAO,QAAQ,OAAS,CAAC,GAAK,OACrD,OAAQA,EAAO,QAAU,CAAA,EACzB,eAAgBA,EAAO,gBAAkB,GACzC,UAAWA,EAAO,UAClB,UAAWA,EAAO,UAClB,eAAgBA,EAAO,gBAAkB,GACzC,YAAaA,EAAO,aAAe,GACnC,MAAAY,CAAA,EAIF,GAAIpB,EAAkB,IAAIQ,EAAO,EAAE,EAAG,CAEpC,MAAMkB,GADgBvC,EAAiB,IAAIqB,EAAO,EAAE,GAAK,CAAA,GACvB,QAASmB,GAAW1C,EAAS,IAAI0C,CAAM,GAAK,EAAE,EAEhF,GAAID,EAAY,QAAUlC,EAAagB,EAAO,EAAE,EAAG,CACjD,MAAMoB,EAAWF,EAAY,IAAKR,GAASD,EAAcC,EAAMV,EAAO,EAAE,CAAC,EAEzE,GAAIhB,EAAagB,EAAO,EAAE,EAAG,CAC3B,MAAMqB,EAAQrC,EAAagB,EAAO,EAAE,EAChCqB,EAAQ,GACVD,EAAS,KAAK,GAAGE,sBAAoBD,EAAO,CAAE,SAAUrB,EAAO,EAAA,CAAI,CAAC,CAExE,CAEAiB,EAAI,QAAUG,CAChB,CACF,CAEAN,EAAe,KAAKG,CAAG,CACzB,CAEA,OAAOH,CACT,CAGA,GAAI,CAACjC,EAAe,CAClB,MAAM0C,EAAuB,CAAA,EAG7B,UAAWb,KAAQjC,EAAS,SACrBiC,EAAK,IACVa,EAAS,KAAKd,EAAcC,CAAI,CAAC,EAInC,UAAWO,KAAOvC,GAAQ,GACxB6C,EAAS,KAAKN,CAAG,EAInB,GAAIhC,EAAe,CAEjB,MAAMoC,EAAQ/C,EACC,CACb,MAAMkD,EAAkBF,EAAAA,oBAAoBD,EAAO,CACjD,KAAM,MAAA,CACP,EAEDE,EAAS,KAAK,GAAGC,CAAe,CAClC,CACF,CAEA,OAAOD,CACT,CAGA,MAAME,MAAe,IACfC,EAAuB,CAAA,EAG7B,UAAWpB,KAAYH,EAAgB,CACrC,MAAMH,EAASxB,EAAW,IAAI8B,CAAQ,EACtC,GAAI,CAACN,EAAQ,SAEb,MAAMY,EAAQC,EAAAA,iBAAiBb,EAAO,MAAO,SAAUd,EAAQ,OAAO,EAEhE8B,EAAiB5B,EAAkB,SAAUY,EAAO,UAAU,EAG9DiB,EAAgB,CACpB,GAAIX,EACJ,WAAY,SACZ,SAAUN,EAAO,UAAY,OAC7B,SAAUM,GAAY,KACtB,KAAMN,EAAO,MAAQ,GACrB,MAAOA,EAAO,OAASA,EAAO,MAAQ,GACtC,KAAMgB,GAAgB,MAAQ,KAC9B,MAAOA,GAAgB,OAAS,KAChC,IAAK,KACL,QAAS,CAAA,EACT,OAAQhB,EAAO,OACf,KAAMA,EAAO,MAAQ,CAAA,EACrB,QAASA,EAAO,YAAc,KAC9B,UAAWA,EAAO,WAAa,CAAA,EAC/B,KAAMA,EAAO,KACb,OAAQA,EAAO,QAAQA,EAAO,QAAQ,OAAS,CAAC,GAAK,OACrD,OAAQA,EAAO,QAAU,CAAA,EACzB,eAAgBA,EAAO,gBAAkB,GACzC,UAAWA,EAAO,UAClB,UAAWA,EAAO,UAClB,eAAgBA,EAAO,gBAAkB,GACzC,YAAaA,EAAO,aAAe,GACnC,MAAAY,CAAA,EAWF,GARAa,EAAS,IAAInB,EAAUW,CAAG,GAGtB,CAACjB,EAAO,UAAY,CAACxB,EAAW,IAAIwB,EAAO,QAAQ,IACrD0B,EAAS,KAAKT,CAAG,EAIfzB,EAAkB,IAAIc,CAAQ,EAAG,CAInC,MAAMY,GADgBvC,EAAiB,IAAI2B,CAAQ,GAAK,CAAA,GACtB,QAASa,GAAW1C,EAAS,IAAI0C,CAAM,GAAK,EAAE,EAEhF,GAAID,EAAY,QAAUlC,EAAasB,CAAQ,EAAG,CAEhD,MAAMc,EAAW,IAAI,MAAgBF,EAAY,MAAM,EAGvD,QAASS,EAAI,EAAGA,EAAIT,EAAY,OAAQS,IACtCP,EAASO,CAAC,EAAIlB,EAAcS,EAAYS,CAAC,EAAGrB,CAAQ,EAItD,GAAItB,EAAasB,CAAQ,EAAG,CAC1B,MAAMe,EAAQrC,EAAasB,CAAQ,EACnC,GAAIe,EAAQ,EAAG,CACb,MAAMG,EAAkBF,EAAAA,oBAAoBD,EAAO,CAAE,SAAUf,EAAU,EAEzEc,EAAS,KAAK,GAAGI,CAAe,CAClC,CACF,CAEAP,EAAI,QAAUG,CAChB,CACF,CACF,CAGA,UAAWd,KAAYH,EAAgB,CACrC,MAAMF,EAAWL,EAAiB,IAAIU,CAAQ,EAC9C,GAAI,CAACL,GAAY,CAACT,EAAkB,IAAIS,CAAQ,EAAG,SAEnD,MAAM2B,EAAWH,EAAS,IAAInB,CAAQ,EAChCuB,EAAYJ,EAAS,IAAIxB,CAAQ,EAEnC,CAAC2B,GAAY,CAACC,GAGlBA,EAAU,SAAS,KAAKD,CAAQ,CAClC,CAGA,UAAWX,KAAOvC,GAAQ,GACxBgD,EAAS,KAAKT,CAAG,EAGnB,OAAOS,CACT,EAAG,CACDlD,EACAC,EACAC,EACAyB,EACAP,EACAJ,EACAX,EACAC,EACAC,EACAC,EACAC,CAAA,CACD,CACH"}
|
|
1
|
+
{"version":3,"file":"useBuildProjectDataTable.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n }\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskId","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
|
|
@@ -4,14 +4,33 @@ import { useGetEntityTypeData as N } from "./useGetEntityTypeData.es.js";
|
|
|
4
4
|
import "@ynput/ayon-react-components";
|
|
5
5
|
import "../../../components/SearchFilter/filterDates.es.js";
|
|
6
6
|
import "date-fns";
|
|
7
|
-
import "
|
|
7
|
+
import "react-toastify";
|
|
8
|
+
import "lodash";
|
|
9
|
+
import "uuid";
|
|
10
|
+
import "../../../util/pubsub.es.js";
|
|
11
|
+
import "../context/CellEditingContext.es.js";
|
|
8
12
|
import "../../../../../_virtual/jsx-runtime.es.js";
|
|
9
|
-
|
|
10
|
-
import "
|
|
13
|
+
import "../context/SelectionCellsContext.es.js";
|
|
14
|
+
import "../context/ProjectTableQueriesContext.es.js";
|
|
15
|
+
import "../context/ProjectTableContext.es.js";
|
|
16
|
+
import "../../../context/RemoteModulesContext.es.js";
|
|
17
|
+
import "../../../context/DetailsPanelContext.es.js";
|
|
18
|
+
import "../../../context/SubtasksModulesContext.es.js";
|
|
19
|
+
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
20
|
+
import "../../../context/SettingsPanelContext.es.js";
|
|
21
|
+
import "../../../context/pip/PiPProvider.es.js";
|
|
11
22
|
import "react-dom";
|
|
12
|
-
import "
|
|
13
|
-
import "
|
|
14
|
-
import "
|
|
23
|
+
import "../../../context/pip/PiPWrapper.es.js";
|
|
24
|
+
import "../../../context/AddonProjectContext.es.js";
|
|
25
|
+
import "../../../context/AddonContext.es.js";
|
|
26
|
+
import "../../../context/PowerpackContext.es.js";
|
|
27
|
+
import "../../../context/MoveEntityContext.es.js";
|
|
28
|
+
import "../../../context/MenuContext.es.js";
|
|
29
|
+
import "../../../context/WebsocketContext.es.js";
|
|
30
|
+
import "../../../context/GlobalContext.es.js";
|
|
31
|
+
import { useProjectContext as _ } from "../../../context/ProjectContext.es.js";
|
|
32
|
+
import "../../../context/ProjectFoldersContext.es.js";
|
|
33
|
+
import "../../../context/UriContext.es.js";
|
|
15
34
|
import "../../../api/base/client.es.js";
|
|
16
35
|
import "../../../api/generated/graphql.es.js";
|
|
17
36
|
import "../../../api/generated/graphqlLinks.es.js";
|
|
@@ -75,6 +94,7 @@ import "../../../api/queries/entityLists/getListsAttributes.es.js";
|
|
|
75
94
|
import "../../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
76
95
|
import "../../../api/queries/entityLists/listFolders.es.js";
|
|
77
96
|
import "../../../api/queries/folders/getFolders.es.js";
|
|
97
|
+
import "../../../api/queries/folders/getFolderDeleteInfo.es.js";
|
|
78
98
|
import "../../../api/queries/grouping/getGrouping.es.js";
|
|
79
99
|
import "../../../api/queries/links/updateLinks.es.js";
|
|
80
100
|
import "../../../api/queries/links/getLinks.es.js";
|
|
@@ -104,40 +124,20 @@ import "../../../api/queries/views/getViews.es.js";
|
|
|
104
124
|
import "../../../api/queries/views/updateViews.es.js";
|
|
105
125
|
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
106
126
|
import "../../../api/queries/uris/getUris.es.js";
|
|
107
|
-
import "
|
|
108
|
-
import "
|
|
109
|
-
import "
|
|
110
|
-
import "
|
|
111
|
-
import "
|
|
112
|
-
import "
|
|
113
|
-
import "
|
|
114
|
-
import "
|
|
115
|
-
import "
|
|
116
|
-
import "
|
|
117
|
-
import "
|
|
118
|
-
import "
|
|
119
|
-
import "
|
|
120
|
-
import "
|
|
121
|
-
import "../../../context/WebsocketContext.es.js";
|
|
122
|
-
import "../../../context/GlobalContext.es.js";
|
|
123
|
-
import { useProjectContext as _ } from "../../../context/ProjectContext.es.js";
|
|
124
|
-
import "../../../context/ProjectFoldersContext.es.js";
|
|
125
|
-
import "../../../context/UriContext.es.js";
|
|
126
|
-
import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
|
|
127
|
-
import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
|
|
128
|
-
import "react-markdown";
|
|
129
|
-
import "remark-emoji";
|
|
130
|
-
import "remark-gfm";
|
|
131
|
-
import "remark-directive";
|
|
132
|
-
import "remark-directive-rehype";
|
|
133
|
-
import "../../Feed/components/CommentInput/CommentInput.es.js";
|
|
134
|
-
import "../../Feed/components/ReactionContainer/Reactions.styled.es.js";
|
|
135
|
-
import "../../Feed/components/FilesGrid/FilesGrid.styled.es.js";
|
|
136
|
-
import "../../Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
|
|
137
|
-
import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
|
|
138
|
-
import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
|
|
139
|
-
import "lodash";
|
|
140
|
-
import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
|
127
|
+
import "../context/ClipboardContext.es.js";
|
|
128
|
+
import "@tanstack/react-table";
|
|
129
|
+
import "@tanstack/react-virtual";
|
|
130
|
+
import "clsx";
|
|
131
|
+
import "../widgets/CollapsedWidget.es.js";
|
|
132
|
+
import "../widgets/DateWidget.es.js";
|
|
133
|
+
import "../widgets/EnumWidget.es.js";
|
|
134
|
+
import "../widgets/EnumCellValue.es.js";
|
|
135
|
+
import "../widgets/TextWidget.es.js";
|
|
136
|
+
import "../widgets/BooleanWidget.es.js";
|
|
137
|
+
import "../widgets/CellWidget.es.js";
|
|
138
|
+
import "../widgets/EntityNameWidget.es.js";
|
|
139
|
+
import "../widgets/GroupHeaderWidget.es.js";
|
|
140
|
+
import "../widgets/ThumbnailWidget.es.js";
|
|
141
141
|
import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
|
|
142
142
|
import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
143
143
|
import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
@@ -151,13 +151,10 @@ import "../../../components/Badge/Badge.es.js";
|
|
|
151
151
|
import "../../../components/Chips/Chips.es.js";
|
|
152
152
|
import "../../../components/DateRangePicker/DateRangePicker.styled.es.js";
|
|
153
153
|
import "../../../components/LinksManager/CellEditingDialog.es.js";
|
|
154
|
-
import "react-toastify";
|
|
155
154
|
import "../../../../../_virtual/index.es.js";
|
|
156
155
|
import "../../../../../node_modules/refractor/lib/common.es.js";
|
|
157
156
|
import "../../../../../node_modules/refractor/lib/all.es.js";
|
|
158
157
|
/* empty css */
|
|
159
|
-
import "uuid";
|
|
160
|
-
import "../../../util/pubsub.es.js";
|
|
161
158
|
import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
162
159
|
import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
|
|
163
160
|
import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
|
|
@@ -166,6 +163,71 @@ import "../../../components/DoneCheckbox/DoneCheckbox.es.js";
|
|
|
166
163
|
import "../../../components/EarlyPreview/EarlyPreview.es.js";
|
|
167
164
|
import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
|
|
168
165
|
import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
|
|
166
|
+
import "../../ContextMenu/ContextMenuContext.es.js";
|
|
167
|
+
/* empty css */
|
|
168
|
+
import "../../Feed/context/FeedContext.es.js";
|
|
169
|
+
import "../../Feed/components/Tooltips/UserTooltipItem.es.js";
|
|
170
|
+
import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
|
|
171
|
+
import "../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.es.js";
|
|
172
|
+
import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
|
|
173
|
+
import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
|
|
174
|
+
import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
|
|
175
|
+
import "react-markdown";
|
|
176
|
+
import "remark-emoji";
|
|
177
|
+
import "remark-gfm";
|
|
178
|
+
import "remark-directive";
|
|
179
|
+
import "remark-directive-rehype";
|
|
180
|
+
import "../../Feed/components/CommentInput/CommentInput.es.js";
|
|
181
|
+
import "../../Feed/components/ReactionContainer/Reactions.styled.es.js";
|
|
182
|
+
import "../../Feed/components/FilesGrid/FilesGrid.styled.es.js";
|
|
183
|
+
import "../../Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
|
|
184
|
+
import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
|
|
185
|
+
import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
|
|
186
|
+
import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
|
|
187
|
+
import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
|
|
188
|
+
import "react-router-dom";
|
|
189
|
+
import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
|
|
190
|
+
import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
|
|
191
|
+
import "../../Feed/components/ActivityDate.es.js";
|
|
192
|
+
import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
|
|
193
|
+
import "rehype-raw";
|
|
194
|
+
import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
|
|
195
|
+
import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
|
|
196
|
+
import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
|
|
197
|
+
import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
198
|
+
import "../../Feed/Feed.styled.es.js";
|
|
199
|
+
import "../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
|
|
200
|
+
import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
|
|
201
|
+
import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
|
|
202
|
+
import "../components/DeleteConfirmContent.es.js";
|
|
203
|
+
import "../context/ProjectDataContext.es.js";
|
|
204
|
+
import "../../../../../_virtual/runtime.es.js";
|
|
205
|
+
import "../../../../../_virtual/semver.es.js";
|
|
206
|
+
import "react-redux";
|
|
207
|
+
import "custom-protocol-check";
|
|
208
|
+
import "../components/GroupSettingsFallback.es.js";
|
|
209
|
+
import "../components/HeaderActionButton.es.js";
|
|
210
|
+
import "../components/RowSelectionHeader.es.js";
|
|
211
|
+
import "../components/SelectionCell.es.js";
|
|
212
|
+
import "../components/ColumnHeaderMenu.es.js";
|
|
213
|
+
import "../../Slicer/components/Slicer.es.js";
|
|
214
|
+
import "../../Slicer/context/SlicerContext.es.js";
|
|
215
|
+
import "../../Slicer/hooks/useTableDataBySlice.es.js";
|
|
216
|
+
import "../../DetailsPanel/DetailsPanel.styled.es.js";
|
|
217
|
+
import "../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
|
|
218
|
+
import "../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
219
|
+
import "../../../components/PlayableIcon/PlayableIcon.es.js";
|
|
220
|
+
import "../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
221
|
+
import "../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
222
|
+
import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
|
|
223
|
+
import "../../Actions/Actions.styled.es.js";
|
|
224
|
+
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
225
|
+
import "../../Actions/ActionIcon.es.js";
|
|
226
|
+
import "../../Views/context/ViewsContext.es.js";
|
|
227
|
+
import "../../Views/Views.styled.es.js";
|
|
228
|
+
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
229
|
+
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
230
|
+
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
169
231
|
import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
|
|
170
232
|
import "axios";
|
|
171
233
|
import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
|
|
@@ -178,7 +240,6 @@ import "../../../components/Feedback/SupportBubble.es.js";
|
|
|
178
240
|
import "../../../components/FileThumbnail/FileThumbnail.es.js";
|
|
179
241
|
import "../../../components/LegacyBadge/LegacyBadge.es.js";
|
|
180
242
|
import "../../../components/LinksManager/LinksManager.styled.es.js";
|
|
181
|
-
import "../../EntityPickerDialog/EntityPickerDialog.es.js";
|
|
182
243
|
import "../../../components/Powerpack/PowerpackButton.es.js";
|
|
183
244
|
import "../../../components/Powerpack/PricingLink.es.js";
|
|
184
245
|
import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
@@ -186,15 +247,6 @@ import "../../../components/Powerpack/CTAButton.es.js";
|
|
|
186
247
|
import "../../../components/Powerpack/RequiredAddonVersion.es.js";
|
|
187
248
|
import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
|
|
188
249
|
import "../../../components/SizeSlider/SizeSlider.es.js";
|
|
189
|
-
import "react-router-dom";
|
|
190
|
-
import "../../Slicer/components/Slicer.es.js";
|
|
191
|
-
import "../../Slicer/context/SlicerContext.es.js";
|
|
192
|
-
import "../../Slicer/hooks/useTableDataBySlice.es.js";
|
|
193
|
-
import "react-redux";
|
|
194
|
-
import "../../../../../_virtual/runtime.es.js";
|
|
195
|
-
import "../../../../../_virtual/semver.es.js";
|
|
196
|
-
import "custom-protocol-check";
|
|
197
|
-
import "../components/GroupSettingsFallback.es.js";
|
|
198
250
|
import "../../../components/ReviewableCard/ReviewableCard.es.js";
|
|
199
251
|
import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
|
|
200
252
|
import "../../../components/SettingsPanel/SettingsPanel.es.js";
|
|
@@ -211,67 +263,17 @@ import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
|
211
263
|
import "../../../components/Watchers/Watchers.es.js";
|
|
212
264
|
import "../../../components/Menu/Menu.styled.es.js";
|
|
213
265
|
import "../../../components/Menu/MenuItem.es.js";
|
|
214
|
-
import "../../../components/ReviewablesSelector/ReviewablesSelector.
|
|
215
|
-
import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
|
|
216
|
-
import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
|
|
217
|
-
import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
|
|
218
|
-
import "../../Feed/components/ActivityDate.es.js";
|
|
219
|
-
import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
|
|
220
|
-
import "rehype-raw";
|
|
221
|
-
import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
|
|
222
|
-
import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
|
|
223
|
-
import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
|
|
224
|
-
import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
|
|
225
|
-
import "../../Feed/Feed.styled.es.js";
|
|
226
|
-
import "../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
|
|
227
|
-
import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
|
|
228
|
-
import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
|
|
229
|
-
import "@tanstack/react-virtual";
|
|
230
|
-
import "@tanstack/react-table";
|
|
231
|
-
import "../widgets/CollapsedWidget.es.js";
|
|
232
|
-
import "../widgets/DateWidget.es.js";
|
|
233
|
-
import "../widgets/EnumWidget.es.js";
|
|
234
|
-
import "../widgets/EnumCellValue.es.js";
|
|
235
|
-
import "../widgets/TextWidget.es.js";
|
|
236
|
-
import "../widgets/BooleanWidget.es.js";
|
|
237
|
-
import "../widgets/CellWidget.es.js";
|
|
238
|
-
import "../widgets/EntityNameWidget.es.js";
|
|
239
|
-
import "../widgets/GroupHeaderWidget.es.js";
|
|
240
|
-
import "../widgets/ThumbnailWidget.es.js";
|
|
266
|
+
import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
|
|
241
267
|
import "../context/DetailsPanelEntityContext.es.js";
|
|
242
268
|
import "../context/SelectedRowsContext.es.js";
|
|
243
|
-
import "../context/ProjectTableContext.es.js";
|
|
244
269
|
import "../widgets/EmptyWidget.es.js";
|
|
245
270
|
import "../widgets/ErrorWidget.es.js";
|
|
246
|
-
import "../context/CellEditingContext.es.js";
|
|
247
|
-
import "../context/SelectionCellsContext.es.js";
|
|
248
|
-
import "../context/ProjectTableQueriesContext.es.js";
|
|
249
|
-
import "../context/ClipboardContext.es.js";
|
|
250
|
-
import "../context/ColumnSettingsContext.es.js";
|
|
251
|
-
import "../context/ProjectDataContext.es.js";
|
|
252
271
|
import "../ProjectTreeTable.styled.es.js";
|
|
253
|
-
import "../components/SelectionCell.es.js";
|
|
254
|
-
import "../components/RowSelectionHeader.es.js";
|
|
255
272
|
import "../widgets/LoadMoreWidget.es.js";
|
|
256
|
-
import "../
|
|
257
|
-
import "../components/ColumnHeaderMenu.es.js";
|
|
258
|
-
import "../../DetailsPanel/DetailsPanel.styled.es.js";
|
|
259
|
-
import "../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
|
|
260
|
-
import "../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
|
|
261
|
-
import "../../../components/PlayableIcon/PlayableIcon.es.js";
|
|
262
|
-
import "../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
|
|
263
|
-
import "../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
|
|
264
|
-
import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
|
|
265
|
-
import "../../Actions/Actions.styled.es.js";
|
|
266
|
-
import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
|
|
267
|
-
import "../../Actions/ActionIcon.es.js";
|
|
268
|
-
import "../../Views/context/ViewsContext.es.js";
|
|
269
|
-
import "../../Views/Views.styled.es.js";
|
|
270
|
-
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
271
|
-
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
273
|
+
import "../context/ColumnSettingsContext.es.js";
|
|
272
274
|
import { linksToTableData as D } from "../utils/linksToTableData.es.js";
|
|
273
275
|
const V = 100;
|
|
274
|
-
function
|
|
276
|
+
function Qp({
|
|
275
277
|
foldersMap: s,
|
|
276
278
|
tasksMap: b,
|
|
277
279
|
rows: I,
|
|
@@ -477,6 +479,6 @@ function Gp({
|
|
|
477
479
|
]);
|
|
478
480
|
}
|
|
479
481
|
export {
|
|
480
|
-
|
|
482
|
+
Qp as default
|
|
481
483
|
};
|
|
482
484
|
//# sourceMappingURL=useBuildProjectDataTable.es.js.map
|
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildProjectDataTable.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n }\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskId","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,IAA6B;AAqBnC,SAAwBC,GAAyB;AAAA,EAC/C,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC,IAAmB;AAAA,EACnB,kBAAAC,IAAmB;AAAA,EACnB,cAAAC,IAAe,CAAA;AAAA,EACf,eAAAC,IAAgB;AAClB,GAAuB;AACrB,QAAMC,IAAUC,EAAA,GACVC,IAAoBC,EAAqB,EAAE,aAAaH,GAAS,GAGjEI,IAAcC,EAAQ,MAAM,KAAK,UAAUX,CAAQ,GAAG,CAACA,CAAQ,CAAC,GAGhEY,IAAoBD,EAAQ,MACzB,IAAI;AAAA,IACT,OAAO,QAAQX,CAAQ,EACpB,OAAO,CAAC,CAACa,GAAGC,CAAU,MAAMA,CAAU,EACtC,IAAI,CAAC,CAACC,CAAE,MAAMA,CAAE;AAAA,EAAA,GAEpB,CAACL,CAAW,CAAC,GAGV,EAAE,kBAAAM,GAAkB,qBAAAC,EAAA,IAAwBN,EAAQ,MAAM;AAC9D,UAAMO,wBAAoB,IAAA,GACpBC,wBAAuB,IAAA;AAG7B,eAAWC,KAAUxB,EAAW,UAAU;AACxC,UAAI,CAACwB,GAAQ,GAAI;AAEjB,YAAMC,IAAWD,EAAO;AACxB,UAAIC,GAAU;AACZ,QAAAH,EAAc,IAAIE,EAAO,IAAIC,CAAQ;AAErC,YAAIC,IAAWH,EAAiB,IAAIE,CAAQ;AAC5C,QAAKC,MACHA,wBAAe,IAAA,GACfH,EAAiB,IAAIE,GAAUC,CAAQ,IAEzCA,EAAS,IAAIF,EAAO,EAAE;AAAA,MACxB;AAAA,IACF;AAEA,WAAO,EAAE,kBAAkBF,GAAe,qBAAqBC,EAAA;AAAA,EACjE,GAAG,CAACvB,CAAU,CAAC,GAGT2B,IAAiBZ,EAAQ,MAAM;AACnC,UAAMa,wBAAc,IAAA,GAGdC,IAAkB,CAAA;AACxB,eAAWL,KAAUxB,EAAW;AAC9B,MAAKwB,GAAQ,OAGT,CAACA,EAAO,YAAY,CAACxB,EAAW,IAAIwB,EAAO,QAAQ,OACrDI,EAAQ,IAAIJ,EAAO,EAAE,GACrBK,EAAM,KAAKL,EAAO,EAAE;AAKxB,WAAOK,EAAM,SAAS,KAAG;AACvB,YAAMC,IAAWD,EAAM,MAAA;AAGvB,UAAI,CAFqBb,EAAkB,IAAIc,CAAQ,EAEhC;AAGvB,YAAMC,IAAcV,EAAoB,IAAIS,CAAQ;AACpD,UAAIC;AACF,mBAAWC,KAAWD;AACpB,UAAKH,EAAQ,IAAII,CAAO,MACtBJ,EAAQ,IAAII,CAAO,GACnBH,EAAM,KAAKG,CAAO;AAAA,IAI1B;AAEA,WAAOJ;AAAA,EACT,GAAG,CAAC5B,GAAYqB,GAAqBL,CAAiB,CAAC;AAGvD,SAAOD,EAAQ,MAAM;AAEnB,UAAMkB,IAAgB,CAACC,GAAsBT,MAAgC;AAC3E,YAAMU,IAAWvB,EAAkB,QAAQsB,EAAK,QAAQ,GAElDE,IAAQC,EAAiBH,EAAK,OAAO,QAAQxB,EAAQ,OAAO;AAElE,aAAO;AAAA,QACL,IAAIwB,EAAK;AAAA,QACT,YAAY;AAAA,QACZ,UAAUT,KAAYS,EAAK;AAAA,QAC3B,UAAUA,EAAK;AAAA,QACf,MAAMA,EAAK,QAAQ;AAAA,QACnB,OAAOA,EAAK,SAASA,EAAK,QAAQ;AAAA,QAClC,MAAMC,GAAU,QAAQ;AAAA,QACxB,OAAOA,GAAU,SAAS;AAAA,QAC1B,QAAQD,EAAK;AAAA,QACb,WAAWA,EAAK;AAAA,QAChB,MAAMA,EAAK;AAAA,QACX,KAAK;AAAA,QACL,SAAS,CAAA;AAAA,QACT,SAASA,EAAK,YAAY;AAAA,QAC1B,QAAQA,EAAK;AAAA,QACb,WAAWA,EAAK;AAAA,QAChB,SAASA,EAAK,WAAW,CAAA;AAAA,QACzB,MAAMA,EAAK,QAAQ,KAAK,GAAG,KAAK;AAAA;AAAA,QAChC,QAAQA,EAAK,QAAQA,EAAK,QAAQ,SAAS,CAAC,KAAK;AAAA,QACjD,WAAWA,EAAK;AAAA,QAChB,WAAWA,EAAK;AAAA,QAChB,gBAAgBA,EAAK,kBAAkB;AAAA,QACvC,OAAAE;AAAA,QACA,UAAUF,EAAK,YAAY,CAAA;AAAA,MAAC;AAAA,IAEhC;AAGA,QAAI5B,GAAkB;AACpB,YAAMgC,IAA6B,CAAA;AAEnC,iBAAWd,KAAUxB,EAAW,UAAU;AACxC,YAAI,CAACwB,GAAQ,GAAI;AAGjB,cAAMe,IAAWf,EAAO,YAAYrB,EAAiB,IAAIqB,EAAO,EAAE;AAElE,YAAI,CAACjB,KAAoB,CAACgC,EAAU;AAEpC,cAAMC,IAAiB5B,EAAkB,UAAUY,EAAO,UAAU,GAC9DY,IAAQC,EAAiBb,EAAO,OAAO,UAAUd,EAAQ,OAAO,GAEhE+B,IAAgB;AAAA,UACpB,IAAIjB,EAAO;AAAA,UACX,YAAY;AAAA,UACZ,UAAU;AAAA;AAAA,UACV,UAAUA,EAAO;AAAA,UACjB,MAAMA,EAAO,QAAQ;AAAA,UACrB,OAAOA,EAAO,SAASA,EAAO,QAAQ;AAAA,UACtC,MAAMgB,GAAgB,QAAQ;AAAA,UAC9B,OAAOA,GAAgB,SAAS;AAAA,UAChC,KAAK;AAAA,UACL,SAAS,CAAA;AAAA,UACT,QAAQhB,EAAO;AAAA,UACf,MAAMA,EAAO,QAAQ,CAAA;AAAA,UACrB,SAASA,EAAO,cAAc;AAAA,UAC9B,WAAWA,EAAO,aAAa,CAAA;AAAA,UAC/B,MAAMA,EAAO;AAAA,UACb,QAAQA,EAAO,QAAQA,EAAO,QAAQ,SAAS,CAAC,KAAK;AAAA,UACrD,QAAQA,EAAO,UAAU,CAAA;AAAA,UACzB,gBAAgBA,EAAO,kBAAkB;AAAA,UACzC,WAAWA,EAAO;AAAA,UAClB,WAAWA,EAAO;AAAA,UAClB,gBAAgBA,EAAO,kBAAkB;AAAA,UACzC,aAAaA,EAAO,eAAe;AAAA,UACnC,OAAAY;AAAA,QAAA;AAIF,YAAIpB,EAAkB,IAAIQ,EAAO,EAAE,GAAG;AAEpC,gBAAMkB,KADgBvC,EAAiB,IAAIqB,EAAO,EAAE,KAAK,CAAA,GACvB,QAAQ,CAACmB,MAAW1C,EAAS,IAAI0C,CAAM,KAAK,EAAE;AAEhF,cAAID,EAAY,UAAUlC,EAAagB,EAAO,EAAE,GAAG;AACjD,kBAAMoB,IAAWF,EAAY,IAAI,CAACR,MAASD,EAAcC,GAAMV,EAAO,EAAE,CAAC;AAEzE,gBAAIhB,EAAagB,EAAO,EAAE,GAAG;AAC3B,oBAAMqB,IAAQrC,EAAagB,EAAO,EAAE;AACpC,cAAIqB,IAAQ,KACVD,EAAS,KAAK,GAAGE,EAAoBD,GAAO,EAAE,UAAUrB,EAAO,GAAA,CAAI,CAAC;AAAA,YAExE;AAEA,YAAAiB,EAAI,UAAUG;AAAA,UAChB;AAAA,QACF;AAEA,QAAAN,EAAe,KAAKG,CAAG;AAAA,MACzB;AAEA,aAAOH;AAAA,IACT;AAGA,QAAI,CAACjC,GAAe;AAClB,YAAM0C,IAAuB,CAAA;AAG7B,iBAAWb,KAAQjC,EAAS;AAC1B,QAAKiC,EAAK,MACVa,EAAS,KAAKd,EAAcC,CAAI,CAAC;AAInC,iBAAWO,KAAOvC,KAAQ;AACxB,QAAA6C,EAAS,KAAKN,CAAG;AAInB,UAAIhC,GAAe;AAEjB,cAAMoC,IAAQ/C;AACC;AACb,gBAAMkD,IAAkBF,EAAoBD,GAAO;AAAA,YACjD,MAAM;AAAA,UAAA,CACP;AAED,UAAAE,EAAS,KAAK,GAAGC,CAAe;AAAA,QAClC;AAAA,MACF;AAEA,aAAOD;AAAA,IACT;AAGA,UAAME,wBAAe,IAAA,GACfC,IAAuB,CAAA;AAG7B,eAAWpB,KAAYH,GAAgB;AACrC,YAAMH,IAASxB,EAAW,IAAI8B,CAAQ;AACtC,UAAI,CAACN,EAAQ;AAEb,YAAMY,IAAQC,EAAiBb,EAAO,OAAO,UAAUd,EAAQ,OAAO,GAEhE8B,IAAiB5B,EAAkB,UAAUY,EAAO,UAAU,GAG9DiB,IAAgB;AAAA,QACpB,IAAIX;AAAA,QACJ,YAAY;AAAA,QACZ,UAAUN,EAAO,YAAY;AAAA,QAC7B,UAAUM,KAAY;AAAA;AAAA,QACtB,MAAMN,EAAO,QAAQ;AAAA,QACrB,OAAOA,EAAO,SAASA,EAAO,QAAQ;AAAA,QACtC,MAAMgB,GAAgB,QAAQ;AAAA,QAC9B,OAAOA,GAAgB,SAAS;AAAA,QAChC,KAAK;AAAA,QACL,SAAS,CAAA;AAAA,QACT,QAAQhB,EAAO;AAAA,QACf,MAAMA,EAAO,QAAQ,CAAA;AAAA,QACrB,SAASA,EAAO,cAAc;AAAA,QAC9B,WAAWA,EAAO,aAAa,CAAA;AAAA,QAC/B,MAAMA,EAAO;AAAA,QACb,QAAQA,EAAO,QAAQA,EAAO,QAAQ,SAAS,CAAC,KAAK;AAAA,QACrD,QAAQA,EAAO,UAAU,CAAA;AAAA,QACzB,gBAAgBA,EAAO,kBAAkB;AAAA,QACzC,WAAWA,EAAO;AAAA,QAClB,WAAWA,EAAO;AAAA,QAClB,gBAAgBA,EAAO,kBAAkB;AAAA,QACzC,aAAaA,EAAO,eAAe;AAAA,QACnC,OAAAY;AAAA,MAAA;AAWF,UARAa,EAAS,IAAInB,GAAUW,CAAG,IAGtB,CAACjB,EAAO,YAAY,CAACxB,EAAW,IAAIwB,EAAO,QAAQ,MACrD0B,EAAS,KAAKT,CAAG,GAIfzB,EAAkB,IAAIc,CAAQ,GAAG;AAInC,cAAMY,KADgBvC,EAAiB,IAAI2B,CAAQ,KAAK,CAAA,GACtB,QAAQ,CAACa,MAAW1C,EAAS,IAAI0C,CAAM,KAAK,EAAE;AAEhF,YAAID,EAAY,UAAUlC,EAAasB,CAAQ,GAAG;AAEhD,gBAAMc,IAAW,IAAI,MAAgBF,EAAY,MAAM;AAGvD,mBAASS,IAAI,GAAGA,IAAIT,EAAY,QAAQS;AACtC,YAAAP,EAASO,CAAC,IAAIlB,EAAcS,EAAYS,CAAC,GAAGrB,CAAQ;AAItD,cAAItB,EAAasB,CAAQ,GAAG;AAC1B,kBAAMe,IAAQrC,EAAasB,CAAQ;AACnC,gBAAIe,IAAQ,GAAG;AACb,oBAAMG,IAAkBF,EAAoBD,GAAO,EAAE,UAAUf,GAAU;AAEzE,cAAAc,EAAS,KAAK,GAAGI,CAAe;AAAA,YAClC;AAAA,UACF;AAEA,UAAAP,EAAI,UAAUG;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAGA,eAAWd,KAAYH,GAAgB;AACrC,YAAMF,IAAWL,EAAiB,IAAIU,CAAQ;AAC9C,UAAI,CAACL,KAAY,CAACT,EAAkB,IAAIS,CAAQ,EAAG;AAEnD,YAAM2B,IAAWH,EAAS,IAAInB,CAAQ,GAChCuB,IAAYJ,EAAS,IAAIxB,CAAQ;AAEvC,MAAI,CAAC2B,KAAY,CAACC,KAGlBA,EAAU,SAAS,KAAKD,CAAQ;AAAA,IAClC;AAGA,eAAWX,KAAOvC,KAAQ;AACxB,MAAAgD,EAAS,KAAKT,CAAG;AAGnB,WAAOS;AAAA,EACT,GAAG;AAAA,IACDlD;AAAA,IACAC;AAAA,IACAC;AAAA,IACAyB;AAAA,IACAP;AAAA,IACAJ;AAAA,IACAX;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AACH;"}
|
|
1
|
+
{"version":3,"file":"useBuildProjectDataTable.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport {\n EditorTaskNode,\n FolderNodeMap,\n TableRow,\n TaskNodeMap,\n TasksByFolderMap,\n} from '../types/table'\nimport { ExpandedState } from '@tanstack/react-table'\nimport { generateLoadingRows } from '../utils/loadingUtils'\nconst TASKS_INFINITE_QUERY_COUNT = 100\nimport { LoadingTasks } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { ProjectModelWithProducts, useProjectContext } from '@shared/context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n showHierarchy: boolean\n isFlatFolderView?: boolean\n showEmptyFolders?: boolean\n loadingTasks?: LoadingTasks\n isLoadingMore?: boolean\n groupBy?: TableGroupBy\n}\n\nexport default function useBuildProjectDataTable({\n foldersMap,\n tasksMap,\n rows,\n tasksByFolderMap,\n expanded,\n showHierarchy,\n isFlatFolderView = false,\n showEmptyFolders = false,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const project = useProjectContext()\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n // Convert expanded object to a stable string for memoization comparison\n const expandedKey = useMemo(() => JSON.stringify(expanded), [expanded])\n\n // Memoize expandedFolderIds set for efficient lookups\n const expandedFolderIds = useMemo(() => {\n return new Set(\n Object.entries(expanded)\n .filter(([_, isExpanded]) => isExpanded)\n .map(([id]) => id),\n )\n }, [expandedKey])\n\n // Memoize relationship maps to avoid rebuilding them on every render\n const { childToParentMap, parentToChildrenMap } = useMemo(() => {\n const childToParent = new Map<string, string>()\n const parentToChildren = new Map<string, Set<string>>()\n\n // Construct relationship maps in a single pass\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n const parentId = folder.parentId\n if (parentId) {\n childToParent.set(folder.id, parentId)\n\n let children = parentToChildren.get(parentId)\n if (!children) {\n children = new Set<string>()\n parentToChildren.set(parentId, children)\n }\n children.add(folder.id)\n }\n }\n\n return { childToParentMap: childToParent, parentToChildrenMap: parentToChildren }\n }, [foldersMap])\n\n // Memoize visible folders calculation\n const visibleFolders = useMemo(() => {\n const visible = new Set<string>()\n\n // Start with root folders and folders with non-existent parents\n const queue: string[] = []\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Include folders with no parent OR with a parent that doesn't exist\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n visible.add(folder.id)\n queue.push(folder.id)\n }\n }\n\n // Process queue to identify visible folders (BFS)\n while (queue.length > 0) {\n const folderId = queue.shift()!\n const isParentExpanded = expandedFolderIds.has(folderId)\n\n if (!isParentExpanded) continue\n\n // Add children of expanded folders to visible set\n const childrenIds = parentToChildrenMap.get(folderId)\n if (childrenIds) {\n for (const childId of childrenIds) {\n if (!visible.has(childId)) {\n visible.add(childId)\n queue.push(childId)\n }\n }\n }\n }\n\n return visible\n }, [foldersMap, parentToChildrenMap, expandedFolderIds])\n\n // Final memoized result - build the table tree\n return useMemo(() => {\n // Helper function to create a task row\n const createTaskRow = (task: EditorTaskNode, parentId?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n\n const links = linksToTableData(task.links, 'task', project.anatomy)\n\n return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || task.folderId,\n folderId: task.folderId,\n name: task.name || '',\n label: task.label || task.name || '',\n icon: typeData?.icon || null,\n color: typeData?.color || null,\n status: task.status,\n assignees: task.assignees,\n tags: task.tags,\n img: null,\n subRows: [],\n subType: task.taskType || null,\n attrib: task.attrib,\n ownAttrib: task.ownAttrib,\n parents: task.parents || [],\n path: task.parents.join('/') || null, // todo: probably remove this and just use parents\n folder: task.parents[task.parents.length - 1] || undefined,\n updatedAt: task.updatedAt,\n createdAt: task.createdAt,\n hasReviewables: task.hasReviewables || false,\n links: links,\n subtasks: task.subtasks || [],\n }\n }\n\n // Flat folder view: all folders at root level, each expandable to show tasks\n if (isFlatFolderView) {\n const flatFolderRows: TableRow[] = []\n\n for (const folder of foldersMap.values()) {\n if (!folder?.id) continue\n\n // Use the folder's hasTasks flag (from REST data) to filter before tasks are loaded\n const hasTasks = folder.hasTasks ?? tasksByFolderMap.has(folder.id)\n // Skip folders without tasks when showEmptyFolders is off\n if (!showEmptyFolders && !hasTasks) continue\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const row: TableRow = {\n id: folder.id,\n entityType: 'folder',\n parentId: undefined, // flat — no parent nesting\n folderId: folder.id,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n // If folder is expanded, attach task subRows\n if (expandedFolderIds.has(folder.id)) {\n const folderTaskIds = tasksByFolderMap.get(folder.id) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folder.id]) {\n const taskRows = folderTasks.map((task) => createTaskRow(task, folder.id))\n\n if (loadingTasks[folder.id]) {\n const count = loadingTasks[folder.id]\n if (count > 0) {\n taskRows.push(...generateLoadingRows(count, { parentId: folder.id }))\n }\n }\n\n row.subRows = taskRows\n }\n }\n\n flatFolderRows.push(row)\n }\n\n return flatFolderRows\n }\n\n // If showHierarchy is false, create a flat list of task rows\n if (!showHierarchy) {\n const flatRows: TableRow[] = []\n\n // Loop through all tasks\n for (const task of tasksMap.values()) {\n if (!task.id) continue\n flatRows.push(createTaskRow(task))\n }\n\n // Loop through all extra rows\n for (const row of rows || []) {\n flatRows.push(row)\n }\n\n // if we are loading more tasks, add loading rows\n if (isLoadingMore) {\n // number of tasks we loading with the infinite query\n const count = TASKS_INFINITE_QUERY_COUNT\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, {\n type: 'task',\n })\n\n flatRows.push(...loadingTaskRows)\n }\n }\n\n return flatRows\n }\n\n // Use Map for O(1) lookups\n const rowsById = new Map<string, TableRow>()\n const rootRows: TableRow[] = []\n\n // Create minimal rows for only visible folders\n for (const folderId of visibleFolders) {\n const folder = foldersMap.get(folderId)\n if (!folder) continue\n\n const links = linksToTableData(folder.links, 'folder', project.anatomy)\n\n const folderTypeData = getEntityTypeData('folder', folder.folderType)\n\n // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n folderId: folderId || null, // root folders have no folderId\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: folderTypeData?.icon || null,\n color: folderTypeData?.color || null,\n img: null,\n subRows: [],\n status: folder.status,\n tags: folder.tags || [],\n subType: folder.folderType || null,\n ownAttrib: folder.ownAttrib || [],\n path: folder.path,\n folder: folder.parents[folder.parents.length - 1] || undefined,\n attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n createdAt: folder.createdAt,\n hasReviewables: folder.hasReviewables || false,\n hasVersions: folder.hasVersions || false,\n links: links,\n }\n\n rowsById.set(folderId, row)\n\n // Add root rows directly to the rootRows array\n if (!folder.parentId || !foldersMap.has(folder.parentId)) {\n rootRows.push(row)\n }\n\n // Process tasks immediately if folder is expanded\n if (expandedFolderIds.has(folderId)) {\n // because tasksByFolderMap is a map of tasks by folder ID\n // we can directly get the tasks for the current folder\n const folderTaskIds = tasksByFolderMap.get(folderId) || []\n const folderTasks = folderTaskIds.flatMap((taskId) => tasksMap.get(taskId) || [])\n\n if (folderTasks.length || loadingTasks[folderId]) {\n // Use array literal with known length for better performance\n const taskRows = new Array<TableRow>(folderTasks.length)\n\n // Direct array assignment is faster than push operations\n for (let i = 0; i < folderTasks.length; i++) {\n taskRows[i] = createTaskRow(folderTasks[i], folderId)\n }\n\n // Add loading rows if applicable\n if (loadingTasks[folderId]) {\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(count, { parentId: folderId })\n\n taskRows.push(...loadingTaskRows)\n }\n }\n\n row.subRows = taskRows\n }\n }\n }\n\n // Build the folder hierarchy efficiently\n for (const folderId of visibleFolders) {\n const parentId = childToParentMap.get(folderId)\n if (!parentId || !expandedFolderIds.has(parentId)) continue\n\n const childRow = rowsById.get(folderId)\n const parentRow = rowsById.get(parentId)\n\n if (!childRow || !parentRow) continue\n\n // Add folder to its parent's subRows\n parentRow.subRows?.push(childRow)\n }\n\n // Add any extra rows to the root rows\n for (const row of rows || []) {\n rootRows.push(row)\n }\n\n return rootRows\n }, [\n foldersMap,\n tasksMap,\n rows,\n visibleFolders,\n childToParentMap,\n expandedFolderIds,\n showHierarchy,\n isFlatFolderView,\n showEmptyFolders,\n loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["TASKS_INFINITE_QUERY_COUNT","useBuildProjectDataTable","foldersMap","tasksMap","rows","tasksByFolderMap","expanded","showHierarchy","isFlatFolderView","showEmptyFolders","loadingTasks","isLoadingMore","project","useProjectContext","getEntityTypeData","useGetEntityTypeData","expandedKey","useMemo","expandedFolderIds","_","isExpanded","id","childToParentMap","parentToChildrenMap","childToParent","parentToChildren","folder","parentId","children","visibleFolders","visible","queue","folderId","childrenIds","childId","createTaskRow","task","typeData","links","linksToTableData","flatFolderRows","hasTasks","folderTypeData","row","folderTasks","taskId","taskRows","count","generateLoadingRows","flatRows","loadingTaskRows","rowsById","rootRows","i","childRow","parentRow"],"mappings":"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"}
|