@ynput/ayon-frontend-shared 0.2.22 → 0.2.24
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 +22 -12
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +22 -12
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +17 -1
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +19 -3
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/SimpleTable.cjs.js +18 -0
- package/dist/SimpleTable.cjs.js.map +1 -0
- package/dist/SimpleTable.es.js +18 -0
- package/dist/SimpleTable.es.js.map +1 -0
- package/dist/api.cjs.js +15 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +87 -72
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +6 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +6 -0
- package/dist/components.es.js.map +1 -1
- package/dist/hooks.cjs.js +2 -0
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.es.js +2 -0
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +22 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +22 -12
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/base/client.cjs.js +2 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +2 -1
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +9 -10
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +9 -10
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js +447 -0
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/generated/graphqlLinks.es.js +447 -0
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
- package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
- package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
- package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
- package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
- package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
- package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
- package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
- package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -0
- package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.es.js +1 -0
- package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +2 -0
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +2 -0
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +4 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +3 -0
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +3 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -0
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js +1 -0
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +142 -0
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +142 -0
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +202 -0
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/getLinks.es.js +202 -0
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js +304 -0
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/updateLinks.es.js +304 -0
- package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js +8 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js +8 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +5 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +5 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +70 -15
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -15
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -0
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.es.js +1 -0
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +2 -0
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +2 -0
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
- package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
- package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js +1 -0
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.es.js +1 -0
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +2 -0
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +2 -0
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +4 -0
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
- package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -0
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.es.js +1 -0
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -0
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +1 -0
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +149 -0
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -0
- package/dist/shared/src/components/Chips/Chips.es.js +149 -0
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +5 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +5 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +37 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +37 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -2
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -2
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +331 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +332 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +125 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +125 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +92 -0
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +92 -0
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +250 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +250 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +229 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js +229 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js +12 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js +13 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js +103 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js +104 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +278 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +279 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js +70 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js +70 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +22 -12
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +22 -12
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +104 -14
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +104 -14
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +22 -12
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +22 -12
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -13
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -13
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +22 -12
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +22 -12
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +22 -12
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +22 -12
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +5 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +5 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +22 -12
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +22 -12
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +22 -12
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +22 -12
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +7 -2
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -2
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +22 -12
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +22 -12
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +4 -0
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -0
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +22 -12
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +22 -12
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +18 -8
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +18 -8
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +357 -0
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +357 -0
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +262 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +263 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +273 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +274 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +250 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +251 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +35 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +36 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +235 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +235 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +49 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +49 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js +12 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js +12 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js +26 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js +26 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +2 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +4 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +4 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +5 -4
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -4
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +4 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +36 -6
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +36 -6
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +25 -0
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +25 -0
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +263 -9
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +264 -10
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +21 -11
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +21 -11
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +1 -229
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +2 -230
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +432 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +432 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +120 -47
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +121 -48
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +33 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +33 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +13 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +14 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +104 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +104 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +13 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +13 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +127 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +127 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +134 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +134 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +199 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +199 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +111 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +111 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +65 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +65 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +113 -14
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +113 -14
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +4 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +4 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +199 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +199 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +201 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +202 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +103 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +103 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +13 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +13 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +126 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +126 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +49 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +49 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +142 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +143 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +14 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +14 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +0 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +0 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +299 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +299 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +22 -12
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +22 -12
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +528 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +529 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +160 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +160 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +74 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +74 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js +19 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js +19 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +18 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +18 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js +17 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js +17 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js +37 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js +37 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js +13 -2
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js +14 -3
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js +1 -2
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js +2 -3
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +11 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +11 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +53 -14
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +53 -14
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +2 -2
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js +2 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js +2 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +4 -0
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -0
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +4 -0
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +4 -0
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +4 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +4 -0
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +4 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +4 -0
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +4 -0
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +4 -0
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +4 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +147 -0
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useHierarchyTable.es.js +147 -0
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +12 -5
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +12 -5
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +4 -0
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -0
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/{utils/extractVersionFromFilename.es.js.map → util/extractVersionFromFilename.cjs.js.map} +1 -1
- package/dist/shared/src/util/extractVersionFromFilename.es.js.map +1 -0
- package/dist/shared/src/util/getEntityId.cjs.js +11 -0
- package/dist/shared/src/util/getEntityId.cjs.js.map +1 -0
- package/dist/shared/src/util/getEntityId.es.js +11 -0
- package/dist/shared/src/util/getEntityId.es.js.map +1 -0
- package/dist/shared/src/{utils → util}/versionUploadHelpers.cjs.js +3 -2
- package/dist/shared/src/{utils/versionUploadHelpers.es.js.map → util/versionUploadHelpers.cjs.js.map} +1 -1
- package/dist/shared/src/{utils → util}/versionUploadHelpers.es.js +3 -2
- package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js +16 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js.map +1 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js +17 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js.map +1 -0
- package/dist/types/SimpleTable.d.ts +6 -0
- package/dist/types/api/generated/graphql.d.ts +116 -33
- package/dist/types/api/generated/graphqlLinks.d.ts +2269 -0
- package/dist/types/api/generated/index.d.ts +2 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +80 -79
- package/dist/types/api/queries/entityLists/types.d.ts +5 -5
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/links/getEntityLinks.d.ts +182 -0
- package/dist/types/api/queries/links/getLinks.d.ts +862 -0
- package/dist/types/api/queries/links/index.d.ts +3 -0
- package/dist/types/api/queries/links/updateLinks.d.ts +321 -0
- package/dist/types/api/queries/links/utils/formatEntityLinks.d.ts +1 -0
- package/dist/types/api/queries/overview/index.d.ts +1 -0
- package/dist/types/api/queries/overview/updateOverview.d.ts +9 -0
- package/dist/types/components/Chips/Chips.d.ts +14 -0
- package/dist/types/components/Chips/index.d.ts +1 -0
- package/dist/types/components/LinksManager/AddNewLinks.d.ts +11 -0
- package/dist/types/components/LinksManager/LinkManagerItem.d.ts +9 -0
- package/dist/types/components/LinksManager/LinksManager.d.ts +24 -0
- package/dist/types/components/LinksManager/LinksManager.styled.d.ts +17 -0
- package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +9 -0
- package/dist/types/components/LinksManager/SearchingLoadingItems.d.ts +5 -0
- package/dist/types/components/LinksManager/hooks/useKeyboardNavigation.d.ts +24 -0
- package/dist/types/components/LinksManager/hooks/useUpdateLinks.d.ts +24 -0
- package/dist/types/components/LinksManager/index.d.ts +2 -0
- package/dist/types/components/LinksManager/utils/formatEntityPath.d.ts +1 -0
- package/dist/types/components/LinksManager/utils/linkUpdates.d.ts +47 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +15 -0
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +17 -0
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableHeader.d.ts +25 -0
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableSearch.d.ts +8 -0
- package/dist/types/containers/EntityPickerDialog/components/index.d.ts +1 -0
- package/dist/types/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.d.ts +9 -0
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +28 -0
- package/dist/types/containers/EntityPickerDialog/index.d.ts +1 -0
- package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +8 -0
- package/dist/types/containers/EntityPickerDialog/util/entityHierarchies.d.ts +3 -0
- package/dist/types/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.d.ts +2 -0
- package/dist/types/containers/EntityPickerDialog/util/index.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +6 -1
- package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +1 -4
- package/dist/types/containers/ProjectTreeTable/context/CellEditingProvider.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +16 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +34 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +10 -34
- package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +17 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +7 -1
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +23 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.d.ts +7 -0
- package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTableRowTemplate.d.ts +1 -0
- package/dist/types/{SimpleTable → containers/SimpleTable}/index.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenu/SectionHeader.d.ts +6 -0
- package/dist/types/containers/Views/ViewsMenu/SectionHeader.styled.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenu/ViewsMenu.d.ts +8 -3
- package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
- package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +4 -3
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useHierarchyTable.d.ts +13 -0
- package/dist/types/util/getEntityId.d.ts +2 -0
- package/dist/types/util/index.d.ts +3 -0
- package/dist/util.cjs.js +16 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +17 -1
- package/dist/util.es.js.map +1 -1
- package/package.json +8 -2
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +0 -7
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +0 -8
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +0 -14
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +0 -15
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +0 -11
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +0 -11
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +0 -57
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +0 -58
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +0 -16
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +0 -17
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +0 -1
- package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +0 -1
- package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +0 -1
- /package/dist/shared/src/{utils → util}/extractVersionFromFilename.cjs.js +0 -0
- /package/dist/shared/src/{utils → util}/extractVersionFromFilename.es.js +0 -0
- /package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.styled.d.ts +0 -0
- /package/dist/types/{SimpleTable → containers/SimpleTable}/context/SimpleTableContext.d.ts +0 -0
- /package/dist/types/{utils → util}/extractVersionFromFilename.d.ts +0 -0
- /package/dist/types/{utils → util}/versionUploadHelpers.d.ts +0 -0
package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType?: GroupByEntityType\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst useBuildGroupByTableData = (props: BuildGroupByTableProps) => {\n const { project, entities, entityType, groups = [], attribFields, showEmpty } = props\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: 'task',\n parentId: 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 path: task.folder?.path,\n updatedAt: task.updatedAt,\n }\n },\n [getEntityTypeData],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["_a","_b"],"mappings":";;AAoBO,MAAM,eAAe;AACrB,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;AAEhC,MAAM,qBAAqB,CAAC,UAC1B,QAAS,MAAM,QAAQ,KAAK,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,SAAU,CAAA,IAAI,CAAC,MAAM,SAAU,CAAA,IAAK,CAAC;AAG1F,MAAM,eAAe,CAAC,WAAmB,YAAoB,WAAsC;AACjG,MAAI,CAAC;AACI,WAAA;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAEF,QAAM,QAAQ,OAAO,KAAK,CAAC,MAAM,EAAE,UAAU,UAAU;AACvD,MAAI,CAAC,OAAO;AACH,WAAA;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,EAAA,OACK;AACE,WAAA;AAAA,MACL,OAAO,MAAM;AAAA,MACb,OAAO,MAAM,SAAS,MAAM;AAAA,MAC5B,OAAO,MAAM;AAAA,MACb,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,KAAK,cAAc,cAAc,cAAc,MAAM,KAAK,YAAY;AAAA,IACxE;AAAA,EAAA;AAEJ;AAEO,MAAM,cAAc;AACpB,MAAM,eAAe,CAAC,UAAkB,GAAG,WAAW,GAAG,KAAK;AACxD,MAAA,eAAe,CAAC,YAAmC;AAC9D,MAAI,CAAC,QAAQ,WAAW,WAAW,EAAU,QAAA;AACtC,SAAA,QAAQ,MAAM,YAAY,MAAM;AACzC;AACO,MAAM,YAAY,CAAC,OAAwB,GAAG,WAAW,WAAW;AAY3E,MAAM,gBAAgB,CACpB,SACA,SACA,eAAwC,CAAA,MAC3B;;AACb,QAAM,cAAc,QAAQ,GAAG,QAAQ,WAAW,EAAE;AAGpD,MAAI,gBAAgB,UAAU;AACrB,aAAA,wCAAS,aAAT,mBAAmB,IAAI,CAAC,MAAM,EAAE,UAAS,CAAC;AAAA,EAAA,WACxC,gBAAgB,YAAY;AAC9B,aAAA,wCAAS,cAAT,mBAAoB,IAAI,CAAC,MAAM,EAAE,UAAS,CAAC;AAAA,EAAA,WACzC,gBAAgB,cAAc;AAChC,aAAA,wCAAS,gBAAT,mBAAsB,IAAI,CAAC,MAAM,EAAE,UAAS,CAAC;AAAA,EAC3C,WAAA,QAAQ,GAAG,WAAW,SAAS,GAAG;AAE3C,aACE,wBACG,KAAK,CAAC,UAAU,MAAM,SAAS,WAAW,MAD7C,mBAEI,KAAK,SAFT,mBAEe,IAAI,CAAC,MAAM,EAAE,MAAM,SAAU,OAAK,CAAC;AAAA,EAEtD,cAAc,CAAC;AACjB;AAEM,MAAA,2BAA2B,CAAC,UAAkC;AAC5D,QAAA,EAAE,SAAS,UAAU,YAAY,SAAS,IAAI,cAAc,UAAA,IAAc;AAChF,QAAM,oBAAoB,qBAAqB,EAAE,aAAa,SAAS;AAEvE,QAAM,mBAAmB;AAAA,IACvB,CAAC,MAAsB,UAA6B;;AAClD,YAAM,WAAW,kBAAkB,QAAQ,KAAK,QAAQ;AACjD,aAAA;AAAA,QACL,IAAI,KAAK,KAAK,mBAAmB;AAAA;AAAA,QACjC,UAAU,KAAK;AAAA,QACf,YAAY;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,MAAM,KAAK,QAAQ;AAAA,QACnB,OAAO,KAAK,SAAS,KAAK,QAAQ;AAAA,QAClC,OAAM,qCAAU,SAAQ;AAAA,QACxB,QAAO,qCAAU,UAAS;AAAA,QAC1B,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,MAAM,KAAK;AAAA,QACX,KAAK;AAAA,QACL,SAAS,CAAC;AAAA,QACV,SAAS,KAAK,YAAY;AAAA,QAC1B,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,OAAM,UAAK,WAAL,mBAAa;AAAA,QACnB,WAAW,KAAK;AAAA,MAClB;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB;AAAA,EACpB;AAEM,QAAA,wBAAwB,CAAC,YAAsC;;AAC7D,UAAA,gCAAgB,IAAsB;AAE5C,eAAW,SAAS,QAAQ;AACpB,YAAA,cAAa,WAAM,UAAN,mBAAa;AAC1B,YAAA,UAAU,aAAa,UAAU;AACvC,YAAM,YAAY,aAAa,QAAQ,IAAI,YAAY,MAAM;AAC7D,gBAAU,IAAI,YAAY;AAAA,QACxB,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,SAAS,CAAC;AAAA,QACV,OAAO,UAAU;AAAA,QACjB,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAGG,UAAA,cAAc,cAAc,MAAM;AAExC,UAAM,oBAAoB,MAAM;AAC1B,UAAA,iBAAiB,UAAU,IAAI,WAAW;AAC9C,UAAI,CAAC,gBAAgB;AACF,yBAAA;AAAA,UACf,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,SAAS,CAAC;AAAA,UACV,OAAO;AAAA,UACP,OAAO,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,QAClD;AAEU,kBAAA,IAAI,aAAa,cAAc;AAAA,MAAA;AAEpC,aAAA;AAAA,IACT;AAEA,eAAW,CAAC,IAAI,MAAM,KAAK,UAAU;AAE/B,UAAA,OAAO,eAAe,WAAY;AAEtC,UAAI,cAAwB,CAAC;AAC7B,UAAI,QAAQ,GAAG,WAAW,SAAS,GAAG;AAEpC,cAAM,cAAc,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AAC3C,sBAAc,oBAAmB,YAAO,WAAP,mBAAgB,YAAY;AAAA,MAAA,OACxD;AACL,sBAAc,mBAAmB,OAAO,QAAQ,EAAqB,CAAC;AAAA,MAAA;AAIpE,UAAA,YAAY,WAAW,GAAG;AAC5B,cAAM,iBAAiB,kBAAkB;AACzC,uBAAe,QAAQ,KAAK,iBAAiB,QAA0B,eAAe,CAAC;AAAA,MAAA;AAIzF,iBAAW,cAAc,aAAa;AAC9B,cAAA,WAAW,UAAU,IAAI,UAAU;AACzC,YAAI,UAAU;AACZ,mBAAS,QAAQ,KAAK,iBAAiB,QAA0B,UAAU,CAAC;AAAA,QAAA,OACvE;AACL,gBAAM,iBAAiB,kBAAkB;AACzC,yBAAe,QAAQ,KAAK,iBAAiB,QAA0B,eAAe,CAAC;AAAA,QAAA;AAAA,MACzF;AAIF,UAAI,YAAY,UAAU,MAAM,QAAQ,OAAO,MAAM,GAAG;AAC3C,mBAAA,SAAS,OAAO,QAAQ;AACjC,gBAAM,mBAAmB,MAAM;AAC/B,cAAI,oBAAoB,UAAU,IAAI,MAAM,KAAK,GAAG;AAElD,kBAAM,WAAW,UAAU,IAAI,MAAM,KAAK;AAC1C,gBAAI,UAAU;AACZ,uBAAS,QAAQ,KAAK;AAAA,gBACpB,IAAI,GAAG,MAAM,KAAK;AAAA,gBAClB,MAAM;AAAA,gBACN,YAAY;AAAA,gBACZ,SAAS,CAAC;AAAA,gBACV,OAAO,iBAAiB,MAAM,KAAK;AAAA,gBACnC,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,MAAM,MAAM;AAAA,cAAA,CACjD;AAAA,YAAA;AAAA,UACH;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGF,UAAM,aAAa,MAAM,KAAK,UAAU,QAAQ;AAEhD,UAAM,mBAAmB,cAAc,SAAS,SAAS,YAAY;AAI1D,eAAA,KAAK,CAAC,GAAG,MAAM;;AACxB,YAAIA,MAAA,EAAE,UAAF,gBAAAA,IAAS,WAAU,YAAoB,QAAA;AAC3C,YAAIC,MAAA,EAAE,UAAF,gBAAAA,IAAS,WAAU,YAAoB,QAAA;AAC3C,UAAI,iBAAiB,QAAQ;AAE3B,cAAM,SAAS,iBAAiB,UAAQ,OAAE,UAAF,mBAAS,UAAS,EAAE;AAC5D,cAAM,SAAS,iBAAiB,UAAQ,OAAE,UAAF,mBAAS,UAAS,EAAE;AACxD,YAAA,WAAW,MAAM,WAAW,IAAI;AAClC,iBAAO,SAAS;AAAA,QAAA;AAEd,YAAA,WAAW,GAAW,QAAA;AACtB,YAAA,WAAW,GAAW,QAAA;AAEnB,iBAAA,aAAE,UAAF,mBAAS,UAAT,mBAAgB,gBAAc,OAAE,UAAF,mBAAS,UAAS,QAAO;AAAA,MAAA,OACzD;AAEE,iBAAA,aAAE,UAAF,mBAAS,UAAT,mBAAgB,gBAAc,OAAE,UAAF,mBAAS,UAAS,QAAO;AAAA,MAAA;AAAA,IAChE,CACD;AAGK,UAAA,iBAAiB,WAAW,OAAO,CAAC,UAAU,MAAM,QAAQ,SAAS,CAAC;AAE5E,WAAO,YAAY,aAAa;AAAA,EAClC;AAEO,SAAA;AACT;"}
|
|
1
|
+
{"version":3,"file":"useBuildGroupByTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.ts"],"sourcesContent":["// based on the groupBy field we take a flat list of items and group them\n// each group is a root node with subItems as the grouped items\n// any leftover items that do not match the groupBy field are added as a separate group (\"Ungrouped\")\n\nimport { ProjectModel, EntityGroup } from '@shared/api'\nimport { TableGroupBy } from '../context'\nimport { EditorTaskNode, EntitiesMap, EntityMap, ProjectTableAttribute, TableRow } from '../types'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { useCallback } from 'react'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\nexport type GroupByEntityType = 'task' | 'folder' | 'version' | 'product'\n\nexport type GroupData = {\n value: string\n label: string\n color?: string\n icon?: string\n img?: string\n count?: number\n}\n\nexport const NEXT_PAGE_ID = 'next-page'\nexport const UNGROUPED_VALUE = '_ungrouped'\nexport const ROW_ID_SEPARATOR = '__'\n\nconst valueToStringArray = (value?: any): string[] =>\n value ? (Array.isArray(value) ? value.map((v) => v.toString()) : [value.toString()]) : []\n\n// get group label, color and icon\nconst getGroupData = (groupById: string, groupValue: string, groups?: EntityGroup[]): GroupData => {\n if (!groups)\n return {\n value: groupValue,\n label: groupValue,\n }\n\n const group = groups.find((g) => g.value === groupValue)\n if (!group) {\n return {\n value: groupValue,\n label: groupValue,\n }\n } else {\n return {\n value: group.value,\n label: group.label || group.value,\n color: group.color,\n icon: group.icon,\n count: group.count,\n img: groupById === 'assignees' ? `/api/users/${group.value}/avatar` : undefined,\n }\n }\n}\n\nexport const GROUP_BY_ID = '_GROUP_'\nexport const buildGroupId = (value: string) => `${GROUP_BY_ID}${value}`\nexport const parseGroupId = (groupId: string): string | null => {\n if (!groupId.startsWith(GROUP_BY_ID)) return null\n return groupId.slice(GROUP_BY_ID.length) // +1 for the underscore\n}\nexport const isGroupId = (id: string): boolean => id.startsWith(GROUP_BY_ID)\n\ntype BuildGroupByTableProps = {\n project?: ProjectModel\n entities: EntitiesMap\n entityType?: GroupByEntityType\n groups?: EntityGroup[]\n attribFields: ProjectTableAttribute[]\n showEmpty?: boolean\n}\n\n// get sorting ids based on the groupBy field\nconst getSortingIds = (\n groupBy: TableGroupBy,\n project?: ProjectModel,\n attribFields: ProjectTableAttribute[] = [],\n): string[] => {\n const attributeId = groupBy.id.replace('attrib.', '')\n\n // for status, taskType, folderType use project data order\n if (attributeId === 'status') {\n return project?.statuses?.map((s) => s.name) || []\n } else if (attributeId === 'taskType') {\n return project?.taskTypes?.map((t) => t.name) || []\n } else if (attributeId === 'folderType') {\n return project?.folderTypes?.map((f) => f.name) || []\n } else if (groupBy.id.startsWith('attrib.')) {\n // for other enum attributes, use the enum values order\n return (\n attribFields\n .find((field) => field.name === attributeId)\n ?.data.enum?.map((e) => e.value.toString()) || []\n )\n } else return []\n}\n\nconst useBuildGroupByTableData = (props: BuildGroupByTableProps) => {\n const { project, entities, entityType, groups = [], attribFields, showEmpty } = props\n const getEntityTypeData = useGetEntityTypeData({ projectInfo: project })\n\n const entityToGroupRow = useCallback(\n (task: EditorTaskNode, group?: string): TableRow => {\n const typeData = getEntityTypeData('task', task.taskType)\n return {\n id: task.id + ROW_ID_SEPARATOR + group, // unique id for the task in the folder\n entityId: task.id,\n entityType: 'task',\n parentId: 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 path: task.folder?.path,\n updatedAt: task.updatedAt,\n links: linksToTableData(task.links, 'task', {\n folderTypes: project?.folderTypes || [],\n productTypes: Object.values(productTypes) || [],\n taskTypes: project?.taskTypes || [],\n }),\n }\n },\n [getEntityTypeData],\n )\n\n const buildGroupByTableData = (groupBy: TableGroupBy): TableRow[] => {\n const groupsMap = new Map<string, TableRow>()\n\n for (const group of groups) {\n const groupValue = group.value?.toString() as string\n const groupId = buildGroupId(groupValue)\n const groupData = getGroupData(groupBy.id, groupValue, groups)\n groupsMap.set(groupValue, {\n id: groupId,\n name: groupValue,\n entityType: 'group',\n subRows: [],\n label: groupData.label,\n group: groupData,\n links: {},\n })\n }\n\n const ungroupedId = GROUP_BY_ID + '.' + UNGROUPED_VALUE // unique id for ungrouped group\n // gets the \"Ungrouped\" group, creating it if it doesn't exist\n const getUnGroupedGroup = () => {\n let ungroupedGroup = groupsMap.get(ungroupedId)\n if (!ungroupedGroup) {\n ungroupedGroup = {\n id: ungroupedId,\n name: 'Ungrouped',\n entityType: 'group',\n subRows: [],\n label: 'Ungrouped',\n group: { value: ungroupedId, label: 'Ungrouped' },\n links: {},\n }\n // create ungrouped group if it doesn't exist\n groupsMap.set(ungroupedId, ungroupedGroup)\n }\n return ungroupedGroup\n }\n\n for (const [id, entity] of entities) {\n // if the entity is not of the specified type, skip it\n if (entity.entityType !== entityType) continue\n // add entities to specific group\n let groupValues: string[] = []\n if (groupBy.id.startsWith('attrib.')) {\n // for attribute based grouping, get the value of the attribute\n const attributeId = groupBy.id.split('.')[1]\n groupValues = valueToStringArray(entity.attrib?.[attributeId])\n } else {\n groupValues = valueToStringArray(entity[groupBy.id as keyof EntityMap])\n }\n\n // if there are no values, add to \"Ungrouped\" group\n if (groupValues.length === 0) {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n // for each group value, find it's group and add the entity to it\n // if we can't find the group, add it to \"Ungrouped\"\n for (const groupValue of groupValues) {\n const groupRow = groupsMap.get(groupValue)\n if (groupRow) {\n groupRow.subRows.push(entityToGroupRow(entity as EditorTaskNode, groupValue))\n } else {\n const ungroupedGroup = getUnGroupedGroup()\n ungroupedGroup.subRows.push(entityToGroupRow(entity as EditorTaskNode, UNGROUPED_VALUE))\n }\n }\n\n // for groups metadata on entity, check if there is a next page\n if ('groups' in entity && Array.isArray(entity.groups)) {\n for (const group of entity.groups) {\n const hasNextPageGroup = group.hasNextPage\n if (hasNextPageGroup && groupsMap.has(group.value)) {\n // add a next page row to the group\n const groupRow = groupsMap.get(group.value)\n if (groupRow) {\n groupRow.subRows.push({\n id: `${group.value}-next-page`,\n name: `Load more tasks...`,\n entityType: NEXT_PAGE_ID,\n subRows: [],\n label: `Next page for ${group.value}`,\n group: { value: group.value, label: group.value },\n links: {},\n })\n }\n }\n }\n }\n }\n\n const groupsList = Array.from(groupsMap.values())\n\n const attribSortingIds = getSortingIds(groupBy, project, attribFields)\n\n // sort the groups by their label\n // if the group is an attribute with enum values, sort by the enum values\n groupsList.sort((a, b) => {\n if (a.group?.value === ungroupedId) return 1 // \"Ungrouped\" should be last\n if (b.group?.value === ungroupedId) return -1 // \"Ungrouped\" should be last\n if (attribSortingIds.length) {\n // sort by index of the enum value\n const indexA = attribSortingIds.indexOf(a.group?.value || '')\n const indexB = attribSortingIds.indexOf(b.group?.value || '')\n if (indexA !== -1 && indexB !== -1) {\n return indexA - indexB\n }\n if (indexA !== -1) return -1 // a is in the enum, b is not\n if (indexB !== -1) return 1 // b is in the enum, a is not\n // if both are not in the enum, sort by label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n } else {\n // for other groupings, sort by the group label\n return a.group?.label?.localeCompare(b.group?.label || '') || 0\n }\n })\n\n // filter out empty groups\n const nonEmptyGroups = groupsList.filter((group) => group.subRows.length > 0)\n\n return showEmpty ? groupsList : nonEmptyGroups\n }\n\n return buildGroupByTableData\n}\n\nexport default useBuildGroupByTableData\n"],"names":["_a","_b"],"mappings":"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"}
|
|
@@ -2,6 +2,121 @@
|
|
|
2
2
|
const React = require("react");
|
|
3
3
|
const loadingUtils = require("../utils/loadingUtils.cjs.js");
|
|
4
4
|
const useGetEntityTypeData = require("./useGetEntityTypeData.cjs.js");
|
|
5
|
+
require("@ynput/ayon-react-components");
|
|
6
|
+
const productTypes = require("../../../util/productTypes.cjs.js");
|
|
7
|
+
require("lodash");
|
|
8
|
+
require("react-toastify");
|
|
9
|
+
require("uuid");
|
|
10
|
+
require("../../../util/pubsub.cjs.js");
|
|
11
|
+
require("../context/CellEditingContext.cjs.js");
|
|
12
|
+
require("../../../../../_virtual/jsx-runtime.cjs.js");
|
|
13
|
+
require("../context/SelectionCellsContext.cjs.js");
|
|
14
|
+
require("../context/ProjectTableQueriesContext.cjs.js");
|
|
15
|
+
require("../context/ProjectTableContext.cjs.js");
|
|
16
|
+
require("../context/ClipboardContext.cjs.js");
|
|
17
|
+
require("@tanstack/react-table");
|
|
18
|
+
require("../ProjectTreeTable.cjs.js");
|
|
19
|
+
require("../context/ColumnSettingsContext.cjs.js");
|
|
20
|
+
require("../context/SelectedRowsContext.cjs.js");
|
|
21
|
+
require("../context/DetailsPanelEntityContext.cjs.js");
|
|
22
|
+
;/* empty css */
|
|
23
|
+
require("clsx");
|
|
24
|
+
require("../../ContextMenu/ContextMenuContext.cjs.js");
|
|
25
|
+
require("../../../api/base/client.cjs.js");
|
|
26
|
+
require("../../../api/generated/graphql.cjs.js");
|
|
27
|
+
require("../../../api/generated/graphqlLinks.cjs.js");
|
|
28
|
+
require("../../../api/generated/access.cjs.js");
|
|
29
|
+
require("../../../api/generated/actions.cjs.js");
|
|
30
|
+
require("../../../api/generated/activityFeed.cjs.js");
|
|
31
|
+
require("../../../api/generated/addons.cjs.js");
|
|
32
|
+
require("../../../api/generated/anatomy.cjs.js");
|
|
33
|
+
require("../../../api/generated/attributes.cjs.js");
|
|
34
|
+
require("../../../api/generated/authentication.cjs.js");
|
|
35
|
+
require("../../../api/generated/bundles.cjs.js");
|
|
36
|
+
require("../../../api/generated/configuration.cjs.js");
|
|
37
|
+
require("../../../api/generated/desktop.cjs.js");
|
|
38
|
+
require("../../../api/generated/entityLists.cjs.js");
|
|
39
|
+
require("../../../api/generated/events.cjs.js");
|
|
40
|
+
require("../../../api/generated/files.cjs.js");
|
|
41
|
+
require("../../../api/generated/folders.cjs.js");
|
|
42
|
+
require("../../../api/generated/inbox.cjs.js");
|
|
43
|
+
require("../../../api/generated/links.cjs.js");
|
|
44
|
+
require("../../../api/generated/market.cjs.js");
|
|
45
|
+
require("../../../api/generated/onboarding.cjs.js");
|
|
46
|
+
require("../../../api/generated/operations.cjs.js");
|
|
47
|
+
require("../../../api/generated/products.cjs.js");
|
|
48
|
+
require("../../../api/generated/projectDashboard.cjs.js");
|
|
49
|
+
require("../../../api/generated/projects.cjs.js");
|
|
50
|
+
require("../../../api/generated/reviewables.cjs.js");
|
|
51
|
+
require("../../../api/generated/services.cjs.js");
|
|
52
|
+
require("../../../api/generated/system.cjs.js");
|
|
53
|
+
require("../../../api/generated/tasks.cjs.js");
|
|
54
|
+
require("../../../api/generated/teams.cjs.js");
|
|
55
|
+
require("../../../api/generated/thumbnails.cjs.js");
|
|
56
|
+
require("../../../api/generated/uRIs.cjs.js");
|
|
57
|
+
require("../../../api/generated/users.cjs.js");
|
|
58
|
+
require("../../../api/generated/versions.cjs.js");
|
|
59
|
+
require("../../../api/generated/workfiles.cjs.js");
|
|
60
|
+
require("../../../api/generated/ynputCloud.cjs.js");
|
|
61
|
+
require("../../../api/generated/grouping.cjs.js");
|
|
62
|
+
require("../../../api/generated/views.cjs.js");
|
|
63
|
+
require("../../../api/queries/actions/getActions.cjs.js");
|
|
64
|
+
require("../../../api/queries/activities/getActivities.cjs.js");
|
|
65
|
+
require("../../../api/queries/activities/updateActivities.cjs.js");
|
|
66
|
+
require("../../../api/queries/activities/updateReaction.cjs.js");
|
|
67
|
+
require("../../../api/queries/activities/getMentions.cjs.js");
|
|
68
|
+
require("../../../api/queries/addons/getAddons.cjs.js");
|
|
69
|
+
require("../../../api/queries/addons/updateAddons.cjs.js");
|
|
70
|
+
require("../../../api/queries/attributes/getAttributes.cjs.js");
|
|
71
|
+
require("../../../api/queries/attributes/updateAttributes.cjs.js");
|
|
72
|
+
require("../../../api/queries/authentication/getAuthentication.cjs.js");
|
|
73
|
+
require("../../../api/queries/cloud/cloud.cjs.js");
|
|
74
|
+
require("../../../api/queries/entities/getEntity.cjs.js");
|
|
75
|
+
require("../../../api/queries/entities/getEntityPanel.cjs.js");
|
|
76
|
+
require("../../../api/queries/entities/updateEntity.cjs.js");
|
|
77
|
+
require("../../../api/queries/entityLists/getLists.cjs.js");
|
|
78
|
+
require("../../../api/queries/entityLists/updateLists.cjs.js");
|
|
79
|
+
require("../../../api/queries/entityLists/getListsAttributes.cjs.js");
|
|
80
|
+
require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");
|
|
81
|
+
require("../../../api/queries/folders/getFolders.cjs.js");
|
|
82
|
+
require("../../../api/queries/grouping/getGrouping.cjs.js");
|
|
83
|
+
require("../../../api/queries/links/updateLinks.cjs.js");
|
|
84
|
+
require("../../../api/queries/links/getLinks.cjs.js");
|
|
85
|
+
require("../../../api/queries/links/getEntityLinks.cjs.js");
|
|
86
|
+
require("../../../api/queries/overview/getOverview.cjs.js");
|
|
87
|
+
require("../../../api/queries/overview/updateOverview.cjs.js");
|
|
88
|
+
require("../../../api/queries/permissions/getPermissions.cjs.js");
|
|
89
|
+
require("../../../api/queries/products/createProduct.cjs.js");
|
|
90
|
+
require("../../../api/queries/project/getProject.cjs.js");
|
|
91
|
+
require("../../../api/queries/project/updateProject.cjs.js");
|
|
92
|
+
require("../../../api/queries/review/getReview.cjs.js");
|
|
93
|
+
require("../../../api/queries/review/updateReview.cjs.js");
|
|
94
|
+
require("../../../api/queries/share/share.cjs.js");
|
|
95
|
+
require("../../../api/queries/system/getSystem.cjs.js");
|
|
96
|
+
require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");
|
|
97
|
+
require("../../../api/queries/users/getUsers.cjs.js");
|
|
98
|
+
require("../../../api/queries/users/updateUsers.cjs.js");
|
|
99
|
+
require("../../../api/queries/versions/updateVersions.cjs.js");
|
|
100
|
+
require("../../../api/queries/views/getViews.cjs.js");
|
|
101
|
+
require("../../../api/queries/views/updateViews.cjs.js");
|
|
102
|
+
require("../../../api/queries/watchers/getWatchers.cjs.js");
|
|
103
|
+
require("../../../context/RemoteModulesContext.cjs.js");
|
|
104
|
+
require("../../../../../_virtual/runtime.cjs.js");
|
|
105
|
+
require("../../../../../_virtual/semver.cjs.js");
|
|
106
|
+
require("../../../context/DetailsPanelContext.cjs.js");
|
|
107
|
+
require("../../../context/ThumbnailUploaderContext.cjs.js");
|
|
108
|
+
require("../../../context/SettingsPanelContext.cjs.js");
|
|
109
|
+
require("../../../context/pip/PiPProvider.cjs.js");
|
|
110
|
+
require("react-dom");
|
|
111
|
+
require("../../../context/pip/PiPWrapper.cjs.js");
|
|
112
|
+
require("../../../context/AddonProjectContext.cjs.js");
|
|
113
|
+
require("../../../context/AddonContext.cjs.js");
|
|
114
|
+
require("../../../context/PowerpackContext.cjs.js");
|
|
115
|
+
require("react-redux");
|
|
116
|
+
require("custom-protocol-check");
|
|
117
|
+
require("../components/GroupSettingsFallback.cjs.js");
|
|
118
|
+
require("../context/ProjectDataContext.cjs.js");
|
|
119
|
+
const linksToTableData = require("../utils/linksToTableData.cjs.js");
|
|
5
120
|
const TASKS_INFINITE_QUERY_COUNT = 100;
|
|
6
121
|
function useBuildProjectDataTable({
|
|
7
122
|
foldersMap,
|
|
@@ -69,10 +184,16 @@ function useBuildProjectDataTable({
|
|
|
69
184
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
70
185
|
const createTaskRow = (task, parentId) => {
|
|
71
186
|
const typeData = getEntityTypeData("task", task.taskType);
|
|
187
|
+
const links = linksToTableData.linksToTableData(task.links, "task", {
|
|
188
|
+
folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
|
|
189
|
+
productTypes: Object.values(productTypes || {}),
|
|
190
|
+
taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
|
|
191
|
+
});
|
|
72
192
|
return {
|
|
73
193
|
id: task.id,
|
|
74
194
|
entityType: "task",
|
|
75
195
|
parentId: parentId || task.folderId,
|
|
196
|
+
folderId: task.folderId,
|
|
76
197
|
name: task.name || "",
|
|
77
198
|
label: task.label || task.name || "",
|
|
78
199
|
icon: (typeData == null ? void 0 : typeData.icon) || null,
|
|
@@ -85,9 +206,11 @@ function useBuildProjectDataTable({
|
|
|
85
206
|
subType: task.taskType || null,
|
|
86
207
|
attrib: task.attrib,
|
|
87
208
|
ownAttrib: task.ownAttrib,
|
|
88
|
-
|
|
209
|
+
parents: task.parents || [],
|
|
210
|
+
path: task.parents.join("/") || null,
|
|
211
|
+
// todo: probably remove this and just use parents
|
|
89
212
|
updatedAt: task.updatedAt,
|
|
90
|
-
|
|
213
|
+
links
|
|
91
214
|
};
|
|
92
215
|
};
|
|
93
216
|
if (!showHierarchy) {
|
|
@@ -119,10 +242,17 @@ function useBuildProjectDataTable({
|
|
|
119
242
|
for (const folderId of visibleFolders) {
|
|
120
243
|
const folder = foldersMap.get(folderId);
|
|
121
244
|
if (!folder) continue;
|
|
245
|
+
const links = linksToTableData.linksToTableData(folder.links, "folder", {
|
|
246
|
+
folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
|
|
247
|
+
productTypes: Object.values(productTypes || {}),
|
|
248
|
+
taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
|
|
249
|
+
});
|
|
122
250
|
const row = {
|
|
123
251
|
id: folderId,
|
|
124
252
|
entityType: "folder",
|
|
125
253
|
parentId: folder.parentId || void 0,
|
|
254
|
+
folderId: folderId || null,
|
|
255
|
+
// root folders have no folderId
|
|
126
256
|
name: folder.name || "",
|
|
127
257
|
label: folder.label || folder.name || "",
|
|
128
258
|
icon: ((_d = getEntityTypeData("folder", folder.folderType)) == null ? void 0 : _d.icon) || null,
|
|
@@ -137,7 +267,8 @@ function useBuildProjectDataTable({
|
|
|
137
267
|
attrib: folder.attrib || {},
|
|
138
268
|
childOnlyMatch: folder.childOnlyMatch || false,
|
|
139
269
|
updatedAt: folder.updatedAt,
|
|
140
|
-
hasReviewables: folder.hasReviewables || false
|
|
270
|
+
hasReviewables: folder.hasReviewables || false,
|
|
271
|
+
links
|
|
141
272
|
};
|
|
142
273
|
rowsById.set(folderId, row);
|
|
143
274
|
if (!folder.parentId || !foldersMap.has(folder.parentId)) {
|
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 { ProjectModel } from '../types/project'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n projectInfo?: ProjectModel\n showHierarchy: 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 projectInfo,\n showHierarchy,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo })\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 return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || 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 path: task.folder.path,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables,\n }\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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 // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: getEntityTypeData('folder', folder.folderType)?.icon || null,\n 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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || false,\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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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 loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["useGetEntityTypeData","useMemo","generateLoadingRows"],"mappings":";;;;AAUA,MAAM,6BAA6B;AAmBnC,SAAwB,yBAAyB;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,CAAC;AAAA,EAChB,gBAAgB;AAClB,GAAuB;AACrB,QAAM,oBAAoBA,qBAAAA,qBAAqB,EAAE,aAAa;AAGxD,QAAA,cAAcC,cAAQ,MAAM,KAAK,UAAU,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAGhE,QAAA,oBAAoBA,MAAAA,QAAQ,MAAM;AACtC,WAAO,IAAI;AAAA,MACT,OAAO,QAAQ,QAAQ,EACpB,OAAO,CAAC,CAAC,GAAG,UAAU,MAAM,UAAU,EACtC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE;AAAA,IACrB;AAAA,EAAA,GACC,CAAC,WAAW,CAAC;AAGhB,QAAM,EAAE,kBAAkB,oBAAoB,IAAIA,cAAQ,MAAM;AACxD,UAAA,oCAAoB,IAAoB;AACxC,UAAA,uCAAuB,IAAyB;AAG3C,eAAA,UAAU,WAAW,UAAU;AACpC,UAAA,EAAC,iCAAQ,IAAI;AAEjB,YAAM,WAAW,OAAO;AACxB,UAAI,UAAU;AACE,sBAAA,IAAI,OAAO,IAAI,QAAQ;AAEjC,YAAA,WAAW,iBAAiB,IAAI,QAAQ;AAC5C,YAAI,CAAC,UAAU;AACb,yCAAe,IAAY;AACV,2BAAA,IAAI,UAAU,QAAQ;AAAA,QAAA;AAEhC,iBAAA,IAAI,OAAO,EAAE;AAAA,MAAA;AAAA,IACxB;AAGF,WAAO,EAAE,kBAAkB,eAAe,qBAAqB,iBAAiB;AAAA,EAAA,GAC/E,CAAC,UAAU,CAAC;AAGT,QAAA,iBAAiBA,MAAAA,QAAQ,MAAM;AAC7B,UAAA,8BAAc,IAAY;AAGhC,UAAM,QAAkB,CAAC;AACd,eAAA,UAAU,WAAW,UAAU;AACpC,UAAA,EAAC,iCAAQ,IAAI;AAGb,UAAA,CAAC,OAAO,YAAY,CAAC,WAAW,IAAI,OAAO,QAAQ,GAAG;AAChD,gBAAA,IAAI,OAAO,EAAE;AACf,cAAA,KAAK,OAAO,EAAE;AAAA,MAAA;AAAA,IACtB;AAIK,WAAA,MAAM,SAAS,GAAG;AACjB,YAAA,WAAW,MAAM,MAAM;AACvB,YAAA,mBAAmB,kBAAkB,IAAI,QAAQ;AAEvD,UAAI,CAAC,iBAAkB;AAGjB,YAAA,cAAc,oBAAoB,IAAI,QAAQ;AACpD,UAAI,aAAa;AACf,mBAAW,WAAW,aAAa;AACjC,cAAI,CAAC,QAAQ,IAAI,OAAO,GAAG;AACzB,oBAAQ,IAAI,OAAO;AACnB,kBAAM,KAAK,OAAO;AAAA,UAAA;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AAGK,WAAA;AAAA,EACN,GAAA,CAAC,YAAY,qBAAqB,iBAAiB,CAAC;AAGvD,SAAOA,cAAQ,MAAM;;AAEb,UAAA,gBAAgB,CAAC,MAAsB,aAAgC;AAC3E,YAAM,WAAW,kBAAkB,QAAQ,KAAK,QAAQ;AACjD,aAAA;AAAA,QACL,IAAI,KAAK;AAAA,QACT,YAAY;AAAA,QACZ,UAAU,YAAY,KAAK;AAAA,QAC3B,MAAM,KAAK,QAAQ;AAAA,QACnB,OAAO,KAAK,SAAS,KAAK,QAAQ;AAAA,QAClC,OAAM,qCAAU,SAAQ;AAAA,QACxB,QAAO,qCAAU,UAAS;AAAA,QAC1B,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,MAAM,KAAK;AAAA,QACX,KAAK;AAAA,QACL,SAAS,CAAC;AAAA,QACV,SAAS,KAAK,YAAY;AAAA,QAC1B,QAAQ,KAAK;AAAA,QACb,WAAW,KAAK;AAAA,QAChB,MAAM,KAAK,OAAO;AAAA,QAClB,WAAW,KAAK;AAAA,QAChB,gBAAgB,KAAK;AAAA,MACvB;AAAA,IACF;AAGA,QAAI,CAAC,eAAe;AAClB,YAAM,WAAuB,CAAC;AAGnB,iBAAA,QAAQ,SAAS,UAAU;AAChC,YAAA,CAAC,KAAK,GAAI;AACL,iBAAA,KAAK,cAAc,IAAI,CAAC;AAAA,MAAA;AAIxB,iBAAA,OAAO,QAAQ,IAAI;AAC5B,iBAAS,KAAK,GAAG;AAAA,MAAA;AAInB,UAAI,eAAe;AACX,cAAA,oBAAkB,0BAAS,UAAU,WAAnB,mBAA2B,UAA3B,mBAAmC,OAAnC,mBAAuC,WAAU,CAAC;AAC1E,cAAM,iBAAiB,OAAO,KAAK,eAAe,EAAE,IAAI,CAAC,SAAS;AAAA,UAChE,MAAM;AAAA,QAAA,EACN;AAEF,cAAM,QAAQ;AACC;AACP,gBAAA,kBAAkBC,aAAAA,oBAAoB,gBAAgB,OAAO;AAAA,YACjE,MAAM;AAAA,UAAA,CACP;AAEQ,mBAAA,KAAK,GAAG,eAAe;AAAA,QAAA;AAAA,MAClC;AAGK,aAAA;AAAA,IAAA;AAIH,UAAA,+BAAe,IAAsB;AAC3C,UAAM,WAAuB,CAAC;AAG9B,eAAW,YAAY,gBAAgB;AAC/B,YAAA,SAAS,WAAW,IAAI,QAAQ;AACtC,UAAI,CAAC,OAAQ;AAGb,YAAM,MAAgB;AAAA,QACpB,IAAI;AAAA,QACJ,YAAY;AAAA,QACZ,UAAU,OAAO,YAAY;AAAA,QAC7B,MAAM,OAAO,QAAQ;AAAA,QACrB,OAAO,OAAO,SAAS,OAAO,QAAQ;AAAA,QACtC,QAAM,uBAAkB,UAAU,OAAO,UAAU,MAA7C,mBAAgD,SAAQ;AAAA,QAC9D,OAAO;AAAA,QACP,KAAK;AAAA,QACL,SAAS,CAAC;AAAA,QACV,QAAQ,OAAO;AAAA,QACf,MAAM,OAAO,QAAQ,CAAC;AAAA,QACtB,SAAS,OAAO,cAAc;AAAA,QAC9B,WAAW,OAAO,aAAa,CAAC;AAAA,QAChC,MAAM,OAAO;AAAA,QACb,QAAQ,OAAO,UAAU,CAAC;AAAA,QAC1B,gBAAgB,OAAO,kBAAkB;AAAA,QACzC,WAAW,OAAO;AAAA,QAClB,gBAAgB,OAAO,kBAAkB;AAAA,MAC3C;AAES,eAAA,IAAI,UAAU,GAAG;AAGtB,UAAA,CAAC,OAAO,YAAY,CAAC,WAAW,IAAI,OAAO,QAAQ,GAAG;AACxD,iBAAS,KAAK,GAAG;AAAA,MAAA;AAIf,UAAA,kBAAkB,IAAI,QAAQ,GAAG;AAGnC,cAAM,gBAAgB,iBAAiB,IAAI,QAAQ,KAAK,CAAC;AACnD,cAAA,cAAc,cAAc,QAAQ,CAAC,WAAW,SAAS,IAAI,MAAM,KAAK,EAAE;AAEhF,YAAI,YAAY,UAAU,aAAa,QAAQ,GAAG;AAEhD,gBAAM,WAAW,IAAI,MAAgB,YAAY,MAAM;AAGvD,mBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,qBAAS,CAAC,IAAI,cAAc,YAAY,CAAC,GAAG,QAAQ;AAAA,UAAA;AAIlD,cAAA,aAAa,QAAQ,GAAG;AACpB,kBAAA,oBAAkB,0BAAS,UAAU,WAAnB,mBAA2B,UAA3B,mBAAmC,OAAnC,mBAAuC,WAAU,CAAC;AAC1E,kBAAM,iBAAiB,OAAO,KAAK,eAAe,EAAE,IAAI,CAAC,SAAS;AAAA,cAChE,MAAM;AAAA,YAAA,EACN;AACI,kBAAA,QAAQ,aAAa,QAAQ;AACnC,gBAAI,QAAQ,GAAG;AACP,oBAAA,kBAAkBA,aAAAA,oBAAoB,gBAAgB,OAAO;AAAA,gBACjE,MAAM;AAAA,gBACN,UAAU;AAAA,cAAA,CACX;AAEQ,uBAAA,KAAK,GAAG,eAAe;AAAA,YAAA;AAAA,UAClC;AAGF,cAAI,UAAU;AAAA,QAAA;AAAA,MAChB;AAAA,IACF;AAIF,eAAW,YAAY,gBAAgB;AAC/B,YAAA,WAAW,iBAAiB,IAAI,QAAQ;AAC9C,UAAI,CAAC,YAAY,CAAC,kBAAkB,IAAI,QAAQ,EAAG;AAE7C,YAAA,WAAW,SAAS,IAAI,QAAQ;AAChC,YAAA,YAAY,SAAS,IAAI,QAAQ;AAEnC,UAAA,CAAC,YAAY,CAAC,UAAW;AAGnB,gBAAA,QAAQ,KAAK,QAAQ;AAAA,IAAA;AAItB,eAAA,OAAO,QAAQ,IAAI;AAC5B,eAAS,KAAK,GAAG;AAAA,IAAA;AAGZ,WAAA;AAAA,EAAA,GACN;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AACH;;"}
|
|
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 { ProjectModel } from '../types/project'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n projectInfo?: ProjectModel\n showHierarchy: 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 projectInfo,\n showHierarchy,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo })\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', {\n folderTypes: projectInfo?.folderTypes || [],\n productTypes: Object.values(productTypes || {}),\n taskTypes: projectInfo?.taskTypes || [],\n })\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 updatedAt: task.updatedAt,\n links: links,\n }\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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', {\n folderTypes: projectInfo?.folderTypes || [],\n productTypes: Object.values(productTypes || {}),\n taskTypes: projectInfo?.taskTypes || [],\n })\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: getEntityTypeData('folder', folder.folderType)?.icon || null,\n 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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || 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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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 loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":["useGetEntityTypeData","useMemo","linksToTableData","generateLoadingRows"],"mappings":"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"}
|
|
@@ -1,6 +1,121 @@
|
|
|
1
1
|
import { useMemo } from "react";
|
|
2
2
|
import { generateLoadingRows } from "../utils/loadingUtils.es.js";
|
|
3
3
|
import { useGetEntityTypeData } from "./useGetEntityTypeData.es.js";
|
|
4
|
+
import "@ynput/ayon-react-components";
|
|
5
|
+
import productTypes from "../../../util/productTypes.es.js";
|
|
6
|
+
import "lodash";
|
|
7
|
+
import "react-toastify";
|
|
8
|
+
import "uuid";
|
|
9
|
+
import "../../../util/pubsub.es.js";
|
|
10
|
+
import "../context/CellEditingContext.es.js";
|
|
11
|
+
import "../../../../../_virtual/jsx-runtime.es.js";
|
|
12
|
+
import "../context/SelectionCellsContext.es.js";
|
|
13
|
+
import "../context/ProjectTableQueriesContext.es.js";
|
|
14
|
+
import "../context/ProjectTableContext.es.js";
|
|
15
|
+
import "../context/ClipboardContext.es.js";
|
|
16
|
+
import "@tanstack/react-table";
|
|
17
|
+
import "../ProjectTreeTable.es.js";
|
|
18
|
+
import "../context/ColumnSettingsContext.es.js";
|
|
19
|
+
import "../context/SelectedRowsContext.es.js";
|
|
20
|
+
import "../context/DetailsPanelEntityContext.es.js";
|
|
21
|
+
/* empty css */
|
|
22
|
+
import "clsx";
|
|
23
|
+
import "../../ContextMenu/ContextMenuContext.es.js";
|
|
24
|
+
import "../../../api/base/client.es.js";
|
|
25
|
+
import "../../../api/generated/graphql.es.js";
|
|
26
|
+
import "../../../api/generated/graphqlLinks.es.js";
|
|
27
|
+
import "../../../api/generated/access.es.js";
|
|
28
|
+
import "../../../api/generated/actions.es.js";
|
|
29
|
+
import "../../../api/generated/activityFeed.es.js";
|
|
30
|
+
import "../../../api/generated/addons.es.js";
|
|
31
|
+
import "../../../api/generated/anatomy.es.js";
|
|
32
|
+
import "../../../api/generated/attributes.es.js";
|
|
33
|
+
import "../../../api/generated/authentication.es.js";
|
|
34
|
+
import "../../../api/generated/bundles.es.js";
|
|
35
|
+
import "../../../api/generated/configuration.es.js";
|
|
36
|
+
import "../../../api/generated/desktop.es.js";
|
|
37
|
+
import "../../../api/generated/entityLists.es.js";
|
|
38
|
+
import "../../../api/generated/events.es.js";
|
|
39
|
+
import "../../../api/generated/files.es.js";
|
|
40
|
+
import "../../../api/generated/folders.es.js";
|
|
41
|
+
import "../../../api/generated/inbox.es.js";
|
|
42
|
+
import "../../../api/generated/links.es.js";
|
|
43
|
+
import "../../../api/generated/market.es.js";
|
|
44
|
+
import "../../../api/generated/onboarding.es.js";
|
|
45
|
+
import "../../../api/generated/operations.es.js";
|
|
46
|
+
import "../../../api/generated/products.es.js";
|
|
47
|
+
import "../../../api/generated/projectDashboard.es.js";
|
|
48
|
+
import "../../../api/generated/projects.es.js";
|
|
49
|
+
import "../../../api/generated/reviewables.es.js";
|
|
50
|
+
import "../../../api/generated/services.es.js";
|
|
51
|
+
import "../../../api/generated/system.es.js";
|
|
52
|
+
import "../../../api/generated/tasks.es.js";
|
|
53
|
+
import "../../../api/generated/teams.es.js";
|
|
54
|
+
import "../../../api/generated/thumbnails.es.js";
|
|
55
|
+
import "../../../api/generated/uRIs.es.js";
|
|
56
|
+
import "../../../api/generated/users.es.js";
|
|
57
|
+
import "../../../api/generated/versions.es.js";
|
|
58
|
+
import "../../../api/generated/workfiles.es.js";
|
|
59
|
+
import "../../../api/generated/ynputCloud.es.js";
|
|
60
|
+
import "../../../api/generated/grouping.es.js";
|
|
61
|
+
import "../../../api/generated/views.es.js";
|
|
62
|
+
import "../../../api/queries/actions/getActions.es.js";
|
|
63
|
+
import "../../../api/queries/activities/getActivities.es.js";
|
|
64
|
+
import "../../../api/queries/activities/updateActivities.es.js";
|
|
65
|
+
import "../../../api/queries/activities/updateReaction.es.js";
|
|
66
|
+
import "../../../api/queries/activities/getMentions.es.js";
|
|
67
|
+
import "../../../api/queries/addons/getAddons.es.js";
|
|
68
|
+
import "../../../api/queries/addons/updateAddons.es.js";
|
|
69
|
+
import "../../../api/queries/attributes/getAttributes.es.js";
|
|
70
|
+
import "../../../api/queries/attributes/updateAttributes.es.js";
|
|
71
|
+
import "../../../api/queries/authentication/getAuthentication.es.js";
|
|
72
|
+
import "../../../api/queries/cloud/cloud.es.js";
|
|
73
|
+
import "../../../api/queries/entities/getEntity.es.js";
|
|
74
|
+
import "../../../api/queries/entities/getEntityPanel.es.js";
|
|
75
|
+
import "../../../api/queries/entities/updateEntity.es.js";
|
|
76
|
+
import "../../../api/queries/entityLists/getLists.es.js";
|
|
77
|
+
import "../../../api/queries/entityLists/updateLists.es.js";
|
|
78
|
+
import "../../../api/queries/entityLists/getListsAttributes.es.js";
|
|
79
|
+
import "../../../api/queries/entityLists/updateListsAttributes.es.js";
|
|
80
|
+
import "../../../api/queries/folders/getFolders.es.js";
|
|
81
|
+
import "../../../api/queries/grouping/getGrouping.es.js";
|
|
82
|
+
import "../../../api/queries/links/updateLinks.es.js";
|
|
83
|
+
import "../../../api/queries/links/getLinks.es.js";
|
|
84
|
+
import "../../../api/queries/links/getEntityLinks.es.js";
|
|
85
|
+
import "../../../api/queries/overview/getOverview.es.js";
|
|
86
|
+
import "../../../api/queries/overview/updateOverview.es.js";
|
|
87
|
+
import "../../../api/queries/permissions/getPermissions.es.js";
|
|
88
|
+
import "../../../api/queries/products/createProduct.es.js";
|
|
89
|
+
import "../../../api/queries/project/getProject.es.js";
|
|
90
|
+
import "../../../api/queries/project/updateProject.es.js";
|
|
91
|
+
import "../../../api/queries/review/getReview.es.js";
|
|
92
|
+
import "../../../api/queries/review/updateReview.es.js";
|
|
93
|
+
import "../../../api/queries/share/share.es.js";
|
|
94
|
+
import "../../../api/queries/system/getSystem.es.js";
|
|
95
|
+
import "../../../api/queries/userDashboard/getUserDashboard.es.js";
|
|
96
|
+
import "../../../api/queries/users/getUsers.es.js";
|
|
97
|
+
import "../../../api/queries/users/updateUsers.es.js";
|
|
98
|
+
import "../../../api/queries/versions/updateVersions.es.js";
|
|
99
|
+
import "../../../api/queries/views/getViews.es.js";
|
|
100
|
+
import "../../../api/queries/views/updateViews.es.js";
|
|
101
|
+
import "../../../api/queries/watchers/getWatchers.es.js";
|
|
102
|
+
import "../../../context/RemoteModulesContext.es.js";
|
|
103
|
+
import "../../../../../_virtual/runtime.es.js";
|
|
104
|
+
import "../../../../../_virtual/semver.es.js";
|
|
105
|
+
import "../../../context/DetailsPanelContext.es.js";
|
|
106
|
+
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
107
|
+
import "../../../context/SettingsPanelContext.es.js";
|
|
108
|
+
import "../../../context/pip/PiPProvider.es.js";
|
|
109
|
+
import "react-dom";
|
|
110
|
+
import "../../../context/pip/PiPWrapper.es.js";
|
|
111
|
+
import "../../../context/AddonProjectContext.es.js";
|
|
112
|
+
import "../../../context/AddonContext.es.js";
|
|
113
|
+
import "../../../context/PowerpackContext.es.js";
|
|
114
|
+
import "react-redux";
|
|
115
|
+
import "custom-protocol-check";
|
|
116
|
+
import "../components/GroupSettingsFallback.es.js";
|
|
117
|
+
import "../context/ProjectDataContext.es.js";
|
|
118
|
+
import { linksToTableData } from "../utils/linksToTableData.es.js";
|
|
4
119
|
const TASKS_INFINITE_QUERY_COUNT = 100;
|
|
5
120
|
function useBuildProjectDataTable({
|
|
6
121
|
foldersMap,
|
|
@@ -68,10 +183,16 @@ function useBuildProjectDataTable({
|
|
|
68
183
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
69
184
|
const createTaskRow = (task, parentId) => {
|
|
70
185
|
const typeData = getEntityTypeData("task", task.taskType);
|
|
186
|
+
const links = linksToTableData(task.links, "task", {
|
|
187
|
+
folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
|
|
188
|
+
productTypes: Object.values(productTypes || {}),
|
|
189
|
+
taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
|
|
190
|
+
});
|
|
71
191
|
return {
|
|
72
192
|
id: task.id,
|
|
73
193
|
entityType: "task",
|
|
74
194
|
parentId: parentId || task.folderId,
|
|
195
|
+
folderId: task.folderId,
|
|
75
196
|
name: task.name || "",
|
|
76
197
|
label: task.label || task.name || "",
|
|
77
198
|
icon: (typeData == null ? void 0 : typeData.icon) || null,
|
|
@@ -84,9 +205,11 @@ function useBuildProjectDataTable({
|
|
|
84
205
|
subType: task.taskType || null,
|
|
85
206
|
attrib: task.attrib,
|
|
86
207
|
ownAttrib: task.ownAttrib,
|
|
87
|
-
|
|
208
|
+
parents: task.parents || [],
|
|
209
|
+
path: task.parents.join("/") || null,
|
|
210
|
+
// todo: probably remove this and just use parents
|
|
88
211
|
updatedAt: task.updatedAt,
|
|
89
|
-
|
|
212
|
+
links
|
|
90
213
|
};
|
|
91
214
|
};
|
|
92
215
|
if (!showHierarchy) {
|
|
@@ -118,10 +241,17 @@ function useBuildProjectDataTable({
|
|
|
118
241
|
for (const folderId of visibleFolders) {
|
|
119
242
|
const folder = foldersMap.get(folderId);
|
|
120
243
|
if (!folder) continue;
|
|
244
|
+
const links = linksToTableData(folder.links, "folder", {
|
|
245
|
+
folderTypes: (projectInfo == null ? void 0 : projectInfo.folderTypes) || [],
|
|
246
|
+
productTypes: Object.values(productTypes || {}),
|
|
247
|
+
taskTypes: (projectInfo == null ? void 0 : projectInfo.taskTypes) || []
|
|
248
|
+
});
|
|
121
249
|
const row = {
|
|
122
250
|
id: folderId,
|
|
123
251
|
entityType: "folder",
|
|
124
252
|
parentId: folder.parentId || void 0,
|
|
253
|
+
folderId: folderId || null,
|
|
254
|
+
// root folders have no folderId
|
|
125
255
|
name: folder.name || "",
|
|
126
256
|
label: folder.label || folder.name || "",
|
|
127
257
|
icon: ((_d = getEntityTypeData("folder", folder.folderType)) == null ? void 0 : _d.icon) || null,
|
|
@@ -136,7 +266,8 @@ function useBuildProjectDataTable({
|
|
|
136
266
|
attrib: folder.attrib || {},
|
|
137
267
|
childOnlyMatch: folder.childOnlyMatch || false,
|
|
138
268
|
updatedAt: folder.updatedAt,
|
|
139
|
-
hasReviewables: folder.hasReviewables || false
|
|
269
|
+
hasReviewables: folder.hasReviewables || false,
|
|
270
|
+
links
|
|
140
271
|
};
|
|
141
272
|
rowsById.set(folderId, row);
|
|
142
273
|
if (!folder.parentId || !foldersMap.has(folder.parentId)) {
|
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 { ProjectModel } from '../types/project'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n projectInfo?: ProjectModel\n showHierarchy: 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 projectInfo,\n showHierarchy,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo })\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 return {\n id: task.id,\n entityType: 'task',\n parentId: parentId || 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 path: task.folder.path,\n updatedAt: task.updatedAt,\n hasReviewables: task.hasReviewables,\n }\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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 // Create row with minimal required properties\n const row: TableRow = {\n id: folderId,\n entityType: 'folder',\n parentId: folder.parentId || undefined,\n name: folder.name || '',\n label: folder.label || folder.name || '',\n icon: getEntityTypeData('folder', folder.folderType)?.icon || null,\n 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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || false,\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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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 loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":[],"mappings":"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"}
|
|
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 { ProjectModel } from '../types/project'\nimport { useGetEntityTypeData } from './useGetEntityTypeData'\nimport { TableGroupBy } from '../context'\nimport { linksToTableData } from '../utils'\nimport { productTypes } from '@shared/util'\n\ntype Params = {\n foldersMap: FolderNodeMap\n tasksMap: TaskNodeMap\n tasksByFolderMap: TasksByFolderMap\n rows?: TableRow[]\n expanded: ExpandedState\n projectInfo?: ProjectModel\n showHierarchy: 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 projectInfo,\n showHierarchy,\n loadingTasks = {},\n isLoadingMore = false,\n}: Params): TableRow[] {\n const getEntityTypeData = useGetEntityTypeData({ projectInfo })\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', {\n folderTypes: projectInfo?.folderTypes || [],\n productTypes: Object.values(productTypes || {}),\n taskTypes: projectInfo?.taskTypes || [],\n })\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 updatedAt: task.updatedAt,\n links: links,\n }\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 const firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\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(loadingAttribs, 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', {\n folderTypes: projectInfo?.folderTypes || [],\n productTypes: Object.values(productTypes || {}),\n taskTypes: projectInfo?.taskTypes || [],\n })\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: getEntityTypeData('folder', folder.folderType)?.icon || null,\n 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 attrib: folder.attrib || {},\n childOnlyMatch: folder.childOnlyMatch || false,\n updatedAt: folder.updatedAt,\n hasReviewables: folder.hasReviewables || 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 firstTaskAttrib = tasksMap.entries().next()?.value?.[1]?.attrib || {}\n const loadingAttribs = Object.keys(firstTaskAttrib).map((key) => ({\n name: key,\n }))\n const count = loadingTasks[folderId]\n if (count > 0) {\n const loadingTaskRows = generateLoadingRows(loadingAttribs, count, {\n type: 'task',\n parentId: folderId,\n })\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 loadingTasks,\n isLoadingMore,\n ])\n}\n"],"names":[],"mappings":"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"}
|