@ynput/ayon-frontend-shared 0.3.40 → 0.3.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +29 -27
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +225 -223
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +25 -16
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +2 -2
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +227 -227
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +16 -14
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +55 -79
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +278 -154
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js +70 -19
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js +40 -43
- package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +149 -55
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +105 -51
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +178 -130
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +94 -40
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +109 -55
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js +6 -21
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +117 -63
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +108 -54
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +220 -167
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.es.js +7 -46
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/getProduct.cjs.js +2 -0
- package/dist/shared/src/api/queries/products/getProduct.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/products/getProduct.es.js +52 -0
- package/dist/shared/src/api/queries/products/getProduct.es.js.map +1 -0
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +133 -80
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +127 -75
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +142 -90
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +537 -331
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +124 -29
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +140 -45
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +9 -7
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +113 -18
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +108 -13
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +3 -3
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +119 -24
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +97 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -7
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +9 -7
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +5 -5
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +9 -9
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -7
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -4
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +7 -7
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +23 -21
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +57 -55
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +19 -16
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +10 -8
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -7
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -7
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -8
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -7
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +9 -7
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +340 -354
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +11 -9
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -7
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +122 -27
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +117 -22
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -7
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +13 -11
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -7
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +42 -42
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +28 -28
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js +22 -19
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js +25 -22
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -7
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +119 -124
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -7
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -7
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +139 -128
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +6 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +148 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js +29 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js +34 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +13 -11
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +115 -20
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +9 -7
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +23 -21
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +9 -7
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +9 -7
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js +9 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js +12 -12
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +105 -10
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +31 -29
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -7
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -7
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -7
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +106 -11
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +122 -27
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +91 -80
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- 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 +119 -24
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +29 -29
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +13 -11
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +104 -9
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +9 -7
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/helpers/getActivityUserName.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js +5 -0
- package/dist/shared/src/containers/Feed/helpers/getActivityUserName.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +185 -87
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +105 -10
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +108 -13
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +22 -20
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +9 -7
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +9 -7
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +622 -616
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +72 -70
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +23 -21
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +178 -83
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +31 -29
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +24 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -24
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +72 -72
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -24
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +25 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +10 -8
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +13 -16
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +48 -42
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +38 -36
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +10 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +11 -9
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +25 -23
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +175 -80
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +107 -12
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +42 -40
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -7
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +57 -70
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +9 -7
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +273 -124
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js +6 -0
- package/dist/shared/src/containers/Slicer/context/SlicerContextInstance.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +4 -2
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +156 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +187 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +143 -0
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -0
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +47 -43
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js +8 -13
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js +2 -0
- package/dist/shared/src/containers/Slicer/util/getSelectionDataState.cjs.js.map +1 -0
- package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js +8 -0
- package/dist/shared/src/containers/Slicer/util/getSelectionDataState.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +124 -29
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -6
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
- 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 +113 -18
- 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 -1
- 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 +158 -84
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +2 -2
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +64 -63
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +2 -2
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +83 -66
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +2 -2
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +2 -2
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +18 -16
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +2 -2
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +115 -20
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js +2 -0
- package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -0
- package/dist/shared/src/util/getBundleMode.es.js +118 -0
- package/dist/shared/src/util/getBundleMode.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +640 -887
- package/dist/types/api/generated/graphqlLinks.d.ts +190 -284
- package/dist/types/api/queries/activities/getActivities.d.ts +144 -137
- package/dist/types/api/queries/activities/updateActivities.d.ts +288 -274
- package/dist/types/api/queries/columnStats/columnStats.d.ts +3 -21
- package/dist/types/api/queries/entities/getEntity.d.ts +144 -137
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +144 -137
- package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +3 -1
- package/dist/types/api/queries/entities/updateEntity.d.ts +144 -137
- package/dist/types/api/queries/entityLists/getLists.d.ts +1406 -1712
- package/dist/types/api/queries/entityLists/types.d.ts +1 -0
- package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +66 -66
- package/dist/types/api/queries/overview/getOverview.d.ts +630 -623
- package/dist/types/api/queries/products/createProduct.d.ts +2 -2
- package/dist/types/api/queries/products/getFolderProducts.d.ts +32 -32
- package/dist/types/api/queries/products/getProduct.d.ts +259 -0
- package/dist/types/api/queries/project/getProject.d.ts +264 -257
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +192 -185
- package/dist/types/api/queries/users/getUsers.d.ts +177 -170
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +784 -770
- package/dist/types/api/queries/versions/updateVersions.d.ts +106 -143
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +1 -1
- package/dist/types/containers/Actions/Actions.d.ts +3 -2
- package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +3 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.d.ts +7 -0
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.d.ts +2 -0
- package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +4 -0
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
- package/dist/types/containers/Feed/helpers/getActivityUserName.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +6 -1
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
- package/dist/types/containers/Slicer/components/Slicer.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +14 -19
- package/dist/types/containers/Slicer/context/SlicerContextInstance.d.ts +2 -0
- package/dist/types/containers/Slicer/hooks/index.d.ts +4 -1
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useSlicerRemotes.d.ts +6 -0
- package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +20 -0
- package/dist/types/containers/Slicer/hooks/useSlicerSplitter.d.ts +9 -0
- package/dist/types/containers/Slicer/types.d.ts +7 -0
- package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +5 -3
- package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +3 -0
- package/dist/types/containers/Slicer/util/index.d.ts +1 -0
- package/dist/types/context/DetailsPanelContext.d.ts +2 -1
- package/dist/types/context/ProjectContext.d.ts +2 -1
- package/dist/types/util/getBundleMode.d.ts +4 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +33 -30
- package/dist/util.es.js.map +1 -1
- package/package.json +3 -3
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +0 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +0 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +0 -22
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +0 -1
- package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +0 -8
|
@@ -42,6 +42,60 @@ import { formatEntityLabel as L } from "./utils/formatEntityLinks.es.js";
|
|
|
42
42
|
import { toast as G } from "react-toastify";
|
|
43
43
|
import "lodash";
|
|
44
44
|
import "uuid";
|
|
45
|
+
import "../actions/getActions.es.js";
|
|
46
|
+
import "../activities/getActivities.es.js";
|
|
47
|
+
import "../activities/updateActivities.es.js";
|
|
48
|
+
import "../activities/updateReaction.es.js";
|
|
49
|
+
import "../activities/getMentions.es.js";
|
|
50
|
+
import "../activities/getCategories.es.js";
|
|
51
|
+
import "../addons/getAddons.es.js";
|
|
52
|
+
import "../addons/updateAddons.es.js";
|
|
53
|
+
import "../attributes/getAttributes.es.js";
|
|
54
|
+
import "../attributes/updateAttributes.es.js";
|
|
55
|
+
import "../authentication/getAuthentication.es.js";
|
|
56
|
+
import "../cloud/cloud.es.js";
|
|
57
|
+
import "../columnStats/metricTargets.es.js";
|
|
58
|
+
import "../config/getConfig.es.js";
|
|
59
|
+
import "../config/updateConfig.es.js";
|
|
60
|
+
import "../entities/getEntity.es.js";
|
|
61
|
+
import "../entities/getEntityPanel.es.js";
|
|
62
|
+
import "../overview/getOverview.es.js";
|
|
63
|
+
import "../overview/updateOverview.es.js";
|
|
64
|
+
import "../versions/getVersionsProducts.es.js";
|
|
65
|
+
import "../entities/updateEntity.es.js";
|
|
66
|
+
import "../entityLists/getLists.es.js";
|
|
67
|
+
import "../entityLists/updateLists.es.js";
|
|
68
|
+
import "../entityLists/getListsAttributes.es.js";
|
|
69
|
+
import "../entityLists/listItemsColumnStats.es.js";
|
|
70
|
+
import "../entityLists/updateListsAttributes.es.js";
|
|
71
|
+
import "../entityLists/listFolders.es.js";
|
|
72
|
+
import "../folders/getFolders.es.js";
|
|
73
|
+
import "../folders/getFolderDeleteInfo.es.js";
|
|
74
|
+
import "../grouping/getGrouping.es.js";
|
|
75
|
+
import "./updateLinks.es.js";
|
|
76
|
+
import "./getLinks.es.js";
|
|
77
|
+
import "../permissions/getPermissions.es.js";
|
|
78
|
+
import "../products/createProduct.es.js";
|
|
79
|
+
import "../products/getFolderProducts.es.js";
|
|
80
|
+
import "../project/getProject.es.js";
|
|
81
|
+
import "../project/updateProject.es.js";
|
|
82
|
+
import "../projectFolders/projectFolders.es.js";
|
|
83
|
+
import "../review/getReview.es.js";
|
|
84
|
+
import "../review/updateReview.es.js";
|
|
85
|
+
import "../share/share.es.js";
|
|
86
|
+
import "../system/getSystem.es.js";
|
|
87
|
+
import "../tasks/getTasks.es.js";
|
|
88
|
+
import "../tasks/updateTasks.es.js";
|
|
89
|
+
import "../teams/getTeams.es.js";
|
|
90
|
+
import "../userDashboard/getUserDashboard.es.js";
|
|
91
|
+
import "../users/getUsers.es.js";
|
|
92
|
+
import "../users/updateUsers.es.js";
|
|
93
|
+
import "../users/guests.es.js";
|
|
94
|
+
import "../versions/updateVersions.es.js";
|
|
95
|
+
import "../views/getViews.es.js";
|
|
96
|
+
import "../views/updateViews.es.js";
|
|
97
|
+
import "../watchers/getWatchers.es.js";
|
|
98
|
+
import "../uris/getUris.es.js";
|
|
45
99
|
import $ from "../../../util/pubsub.es.js";
|
|
46
100
|
const j = {
|
|
47
101
|
folder: "GetFoldersLinks",
|
|
@@ -60,22 +114,22 @@ const j = {
|
|
|
60
114
|
}, N = A.injectEndpoints({
|
|
61
115
|
endpoints: (S) => ({
|
|
62
116
|
getEntityLinks: S.query({
|
|
63
|
-
queryFn: async ({ projectName:
|
|
117
|
+
queryFn: async ({ projectName: i, entityIds: s, entityType: r }, { getState: e, dispatch: p, queryCacheKey: k, forced: I }) => {
|
|
64
118
|
try {
|
|
65
|
-
const
|
|
119
|
+
const d = e(), c = JSON.stringify({ projectName: i, entityType: r }), h = d.restApi?.queries?.[k || `getEntityLinks(${c})`]?.data || [], l = new Set(h.map((o) => o.id)), y = s.filter((o) => !l?.has(o) || I);
|
|
66
120
|
if (y.length === 0)
|
|
67
121
|
return { data: h };
|
|
68
|
-
const b = j[
|
|
122
|
+
const b = j[r], u = E[r];
|
|
69
123
|
return { data: (await p(
|
|
70
124
|
w.endpoints[b].initiate(
|
|
71
|
-
{ projectName:
|
|
125
|
+
{ projectName: i, entityIds: y },
|
|
72
126
|
{ forceRefetch: !0 }
|
|
73
127
|
)
|
|
74
|
-
).unwrap()).project?.[
|
|
75
|
-
const
|
|
76
|
-
return
|
|
77
|
-
`[RESTRICTED LINKS] Entity ${
|
|
78
|
-
|
|
128
|
+
).unwrap()).project?.[u]?.edges?.map(({ node: o }) => {
|
|
129
|
+
const a = o.links.edges?.filter((t) => !t?.node) || [];
|
|
130
|
+
return a.length > 0 && console.log(
|
|
131
|
+
`[RESTRICTED LINKS] Entity ${o.id} (${o.name}) has ${a.length} restricted link(s):`,
|
|
132
|
+
a.map((t) => ({
|
|
79
133
|
linkId: t?.id,
|
|
80
134
|
linkType: t?.linkType,
|
|
81
135
|
direction: t?.direction,
|
|
@@ -83,8 +137,8 @@ const j = {
|
|
|
83
137
|
nodeIsNull: !t?.node
|
|
84
138
|
}))
|
|
85
139
|
), {
|
|
86
|
-
id:
|
|
87
|
-
links:
|
|
140
|
+
id: o.id,
|
|
141
|
+
links: o.links.edges?.map((t) => t?.node ? {
|
|
88
142
|
...t,
|
|
89
143
|
node: {
|
|
90
144
|
id: t.node.id,
|
|
@@ -102,100 +156,100 @@ const j = {
|
|
|
102
156
|
// Flatten the edges structure
|
|
103
157
|
};
|
|
104
158
|
}) || [] };
|
|
105
|
-
} catch (
|
|
106
|
-
return console.error(`Error in getEntityLinks queryFn for ${
|
|
159
|
+
} catch (d) {
|
|
160
|
+
return console.error(`Error in getEntityLinks queryFn for ${r}:`, d), G.error(`Error fetching ${r} links`), { error: { status: "FETCH_ERROR", error: d.message } };
|
|
107
161
|
}
|
|
108
162
|
},
|
|
109
163
|
// 2. We should not create new caches when the entityIds argument changes.
|
|
110
|
-
serializeQueryArgs: ({ queryArgs:
|
|
164
|
+
serializeQueryArgs: ({ queryArgs: i }) => ({ projectName: i.projectName, entityType: i.entityType }),
|
|
111
165
|
// 3. We should force a refetch every time the entityIds changes.
|
|
112
|
-
forceRefetch: ({ currentArg:
|
|
113
|
-
if (!
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
116
|
-
for (const p of
|
|
117
|
-
if (!
|
|
166
|
+
forceRefetch: ({ currentArg: i, previousArg: s }) => {
|
|
167
|
+
if (!i || !s) return !0;
|
|
168
|
+
const r = new Set(i.entityIds), e = new Set(s.entityIds);
|
|
169
|
+
if (r.size !== e.size) return !0;
|
|
170
|
+
for (const p of r)
|
|
171
|
+
if (!e.has(p)) return !0;
|
|
118
172
|
return !1;
|
|
119
173
|
},
|
|
120
174
|
// 4. We should merge new entities into the cache ensuring there are no duplicates.
|
|
121
|
-
merge: (
|
|
122
|
-
if (!
|
|
123
|
-
const
|
|
124
|
-
for (const
|
|
125
|
-
|
|
126
|
-
|
|
175
|
+
merge: (i, s) => {
|
|
176
|
+
if (!i) return s;
|
|
177
|
+
const r = new Map(i.map((e) => [e.id, e]));
|
|
178
|
+
for (const e of s)
|
|
179
|
+
r.set(e.id, e);
|
|
180
|
+
i.length = 0, i.push(...r.values());
|
|
127
181
|
},
|
|
128
182
|
// Provide tags for potential invalidation
|
|
129
|
-
providesTags: (
|
|
130
|
-
...
|
|
131
|
-
(
|
|
183
|
+
providesTags: (i, s, r) => i ? [
|
|
184
|
+
...i.flatMap(
|
|
185
|
+
(e) => e.links.filter((p) => p.node !== null).map((p) => ({ type: "link", id: p.node.id }))
|
|
132
186
|
),
|
|
133
|
-
{ type: "link", id: `${
|
|
134
|
-
] : [{ type: "link", id: `${
|
|
187
|
+
{ type: "link", id: `${r.projectName}-${r.entityType}` }
|
|
188
|
+
] : [{ type: "link", id: `${r.projectName}-${r.entityType}` }],
|
|
135
189
|
// Subscribe to link.created and link.deleted WebSocket events
|
|
136
|
-
async onCacheEntryAdded({ projectName:
|
|
137
|
-
let
|
|
138
|
-
const
|
|
190
|
+
async onCacheEntryAdded({ projectName: i, entityIds: s, entityType: r }, { cacheDataLoaded: e, cacheEntryRemoved: p, updateCachedData: k, dispatch: I }) {
|
|
191
|
+
let d;
|
|
192
|
+
const c = /* @__PURE__ */ new Set(), R = 100, h = 500;
|
|
139
193
|
let l = !1;
|
|
140
194
|
const y = () => {
|
|
141
195
|
l || (l = !0, setTimeout(b, h));
|
|
142
196
|
}, b = async () => {
|
|
143
|
-
if (l = !1, !
|
|
144
|
-
const
|
|
145
|
-
|
|
197
|
+
if (l = !1, !c.size) return;
|
|
198
|
+
const u = Array.from(c).slice(0, R);
|
|
199
|
+
u.forEach((m) => c.delete(m));
|
|
146
200
|
try {
|
|
147
|
-
const
|
|
148
|
-
w.endpoints[
|
|
149
|
-
{ projectName:
|
|
201
|
+
const m = j[r], f = E[r], a = (await I(
|
|
202
|
+
w.endpoints[m].initiate(
|
|
203
|
+
{ projectName: i, entityIds: u },
|
|
150
204
|
{ forceRefetch: !0 }
|
|
151
205
|
)
|
|
152
206
|
).unwrap()).project?.[f]?.edges?.map(({ node: t }) => ({
|
|
153
207
|
id: t.id,
|
|
154
|
-
links: t.links.edges?.map((
|
|
155
|
-
...
|
|
208
|
+
links: t.links.edges?.map((n) => n?.node ? {
|
|
209
|
+
...n,
|
|
156
210
|
node: {
|
|
157
|
-
id:
|
|
158
|
-
name:
|
|
159
|
-
label: L(
|
|
160
|
-
parents:
|
|
161
|
-
subType: "subType" in
|
|
211
|
+
id: n.node.id,
|
|
212
|
+
name: n.node.name,
|
|
213
|
+
label: L(n.node),
|
|
214
|
+
parents: n.node.parents || [],
|
|
215
|
+
subType: "subType" in n.node ? n.node.subType : void 0
|
|
162
216
|
},
|
|
163
217
|
isRestricted: !1
|
|
164
218
|
} : {
|
|
165
|
-
...
|
|
219
|
+
...n,
|
|
166
220
|
node: null,
|
|
167
221
|
isRestricted: !0
|
|
168
222
|
}) || []
|
|
169
223
|
})) || [];
|
|
170
224
|
k((t) => {
|
|
171
|
-
for (const
|
|
172
|
-
const T = t.findIndex((v) => v.id ===
|
|
173
|
-
T > -1 ? t[T] =
|
|
225
|
+
for (const n of a) {
|
|
226
|
+
const T = t.findIndex((v) => v.id === n.id);
|
|
227
|
+
T > -1 ? t[T] = n : t.push(n);
|
|
174
228
|
}
|
|
175
229
|
});
|
|
176
|
-
} catch (
|
|
177
|
-
console.error("Realtime link batch update failed",
|
|
230
|
+
} catch (m) {
|
|
231
|
+
console.error("Realtime link batch update failed", m);
|
|
178
232
|
} finally {
|
|
179
|
-
|
|
233
|
+
c.size && y();
|
|
180
234
|
}
|
|
181
235
|
};
|
|
182
236
|
try {
|
|
183
|
-
await
|
|
184
|
-
const
|
|
185
|
-
if (!
|
|
186
|
-
const
|
|
187
|
-
!
|
|
237
|
+
await e;
|
|
238
|
+
const u = async (m, f) => {
|
|
239
|
+
if (!m.startsWith("link.created") && !m.startsWith("link.deleted") || f?.project !== i) return;
|
|
240
|
+
const o = f?.summary?.inputId, a = f?.summary?.outputId;
|
|
241
|
+
!o && !a || (o && c.add(o), a && c.add(a), y());
|
|
188
242
|
};
|
|
189
|
-
|
|
243
|
+
d = $.subscribe("link", u);
|
|
190
244
|
} catch {
|
|
191
245
|
}
|
|
192
|
-
await p,
|
|
246
|
+
await p, d && $.unsubscribe(d);
|
|
193
247
|
}
|
|
194
248
|
})
|
|
195
249
|
})
|
|
196
|
-
}), { useGetEntityLinksQuery:
|
|
250
|
+
}), { useGetEntityLinksQuery: Li } = N;
|
|
197
251
|
export {
|
|
198
252
|
N as entityLinksApi,
|
|
199
|
-
|
|
253
|
+
Li as useGetEntityLinksQuery
|
|
200
254
|
};
|
|
201
255
|
//# sourceMappingURL=getEntityLinks.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityLinks.es.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n } | null\n isRestricted?: boolean // flag to indicate if this link is restricted\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n // Log restricted links\n const restrictedLinks = node.links.edges?.filter((e: EntityLinkQuery | null) => !e?.node) || []\n if (restrictedLinks.length > 0) {\n console.log(`[RESTRICTED LINKS] Entity ${node.id} (${node.name}) has ${restrictedLinks.length} restricted link(s):`,\n restrictedLinks.map((link: any) => ({\n linkId: link?.id,\n linkType: link?.linkType,\n direction: link?.direction,\n entityType: link?.entityType,\n nodeIsNull: !link?.node\n }))\n )\n }\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [], // Flatten the edges structure\n }\n }) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links\n .filter((link) => link.node !== null)\n .map((link) => ({ type: 'link', id: link.node!.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityIds, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingEntityIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingEntityIds.size) return\n const batchIds = Array.from(pendingEntityIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingEntityIds.delete(id))\n\n try {\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch fresh data for the affected entities\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: batchIds },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [],\n }\n }) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) {\n // Update existing entity's links\n draft[idx] = updatedEntity\n } else {\n // Add new entity if not in cache\n draft.push(updatedEntity)\n }\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n } finally {\n if (pendingEntityIds.size) schedule()\n }\n }\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Add both entities to pending list since both are affected by the link change\n if (inputId) pendingEntityIds.add(inputId)\n if (outputId) pendingEntityIds.add(outputId)\n schedule()\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","gqlLinksApi","node","restrictedLinks","e","link","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingEntityIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getEntityLinks.es.js","sources":["../../../../../../src/api/queries/links/getEntityLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetFoldersLinksQuery,\n GetTasksLinksQuery,\n GetProductsLinksQuery,\n GetVersionsLinksQuery,\n GetRepresentationsLinksQuery,\n GetWorkfilesLinksQuery,\n gqlLinksApi,\n foldersApi,\n} from '@shared/api/generated'\nimport { formatEntityLabel } from './utils/formatEntityLinks'\nimport { toast } from 'react-toastify'\nimport { PubSub } from '@shared/util'\n\n/**\n * Custom queryFn for fetching entity links with optimized caching behavior.\n *\n * Key features:\n * 1. Single cache per project and entity type - different entityIds combinations don't create new caches\n * 2. Skips fetching entities that are already cached\n * 3. Force refetch when entityIds change\n * 4. Merges new entities into cache without duplicates\n * 5. Supports all entity types: folders, tasks, products, versions, representations, workfiles\n */\n\n// Define the arguments for the query\nexport type GetEntityLinksArgs = {\n projectName: string\n entityIds: string[]\n entityType: 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'\n}\n\n// Define link types for each entity\nexport type FolderLink =\n GetFoldersLinksQuery['project']['folders']['edges'][0]['node']['links']['edges'][0]\nexport type TaskLink =\n GetTasksLinksQuery['project']['tasks']['edges'][0]['node']['links']['edges'][0]\nexport type ProductLink =\n GetProductsLinksQuery['project']['products']['edges'][0]['node']['links']['edges'][0]\nexport type VersionLink =\n GetVersionsLinksQuery['project']['versions']['edges'][0]['node']['links']['edges'][0]\nexport type RepresentationLink =\n GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0]\nexport type WorkfileLink =\n GetWorkfilesLinksQuery['project']['workfiles']['edges'][0]['node']['links']['edges'][0]\n\nexport type EntityLinkQuery =\n | FolderLink\n | TaskLink\n | ProductLink\n | VersionLink\n | RepresentationLink\n | WorkfileLink\nexport type EntityLink = Pick<EntityLinkQuery, 'direction' | 'entityType' | 'id' | 'linkType'> & {\n node: Pick<EntityLinkQuery['node'], 'name' | 'id'> & {\n label?: string | null\n parents: string[]\n subType: string | undefined\n } | null\n isRestricted?: boolean // flag to indicate if this link is restricted\n}\n\n// Define the result type for the query - simplified without edges wrapper\nexport type EntityWithLinks = {\n id: string\n links: EntityLink[]\n}\n\nexport type GetEntityLinksResult = EntityWithLinks[]\n\n// Map entity types to their corresponding GraphQL endpoints\nconst entityEndpoints = {\n folder: 'GetFoldersLinks',\n task: 'GetTasksLinks',\n product: 'GetProductsLinks',\n version: 'GetVersionsLinks',\n representation: 'GetRepresentationsLinks',\n workfile: 'GetWorkfilesLinks',\n} as const\n\n// Map entity types to their result path in the GraphQL response\nconst entityResultPaths = {\n folder: 'folders',\n task: 'tasks',\n product: 'products',\n version: 'versions',\n representation: 'representations',\n workfile: 'workfiles',\n} as const\n\nconst injectedQueries = foldersApi.injectEndpoints({\n endpoints: (build) => ({\n getEntityLinks: build.query<GetEntityLinksResult, GetEntityLinksArgs>({\n queryFn: async (\n { projectName, entityIds, entityType },\n { getState, dispatch, queryCacheKey, forced },\n ) => {\n try {\n // Get current state to access cached data\n const state = getState() as any\n const cacheKey = JSON.stringify({ projectName, entityType })\n\n // Access the cache entry for this project and entity type\n const cacheEntry =\n state.restApi?.queries?.[queryCacheKey || `getEntityLinks(${cacheKey})`]\n const cachedData = cacheEntry?.data || []\n\n // 1. When fetching new data for entityIds, we should skip entities that are already in the cache.\n const cachedEntityIds = new Set(cachedData.map((entity: EntityWithLinks) => entity.id))\n const entityIdsToFetch = entityIds.filter((id) => !cachedEntityIds?.has(id) || forced)\n\n // If all entities are already cached, return the cached data\n if (entityIdsToFetch.length === 0) {\n return { data: cachedData }\n }\n\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch only the entities that aren't already cached\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: entityIdsToFetch },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const newEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n // Log restricted links\n const restrictedLinks = node.links.edges?.filter((e: EntityLinkQuery | null) => !e?.node) || []\n if (restrictedLinks.length > 0) {\n console.log(`[RESTRICTED LINKS] Entity ${node.id} (${node.name}) has ${restrictedLinks.length} restricted link(s):`,\n restrictedLinks.map((link: any) => ({\n linkId: link?.id,\n linkType: link?.linkType,\n direction: link?.direction,\n entityType: link?.entityType,\n nodeIsNull: !link?.node\n }))\n )\n }\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [], // Flatten the edges structure\n }\n }) || []\n\n // Return the new entities - the merge function will handle combining with existing cache\n return { data: newEntities }\n } catch (error: any) {\n console.error(`Error in getEntityLinks queryFn for ${entityType}:`, error)\n toast.error(`Error fetching ${entityType} links`)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // 2. We should not create new caches when the entityIds argument changes.\n serializeQueryArgs: ({ queryArgs }) => {\n // Use only projectName and entityType for the cache key, ignoring entityIds\n return { projectName: queryArgs.projectName, entityType: queryArgs.entityType }\n },\n // 3. We should force a refetch every time the entityIds changes.\n forceRefetch: ({ currentArg, previousArg }) => {\n // Force refetch if entityIds array is different\n if (!currentArg || !previousArg) return true\n\n // Compare arrays by converting to sets\n const currentIds = new Set(currentArg.entityIds)\n const previousIds = new Set(previousArg.entityIds)\n\n if (currentIds.size !== previousIds.size) return true\n\n // Check if any IDs are different\n for (const id of currentIds) {\n if (!previousIds.has(id)) return true\n }\n\n return false\n },\n // 4. We should merge new entities into the cache ensuring there are no duplicates.\n merge: (currentCache, newItems) => {\n if (!currentCache) return newItems\n\n const cacheMap = new Map(currentCache.map((item) => [item.id, item]))\n for (const newItem of newItems) {\n cacheMap.set(newItem.id, newItem) // Overwrite if exists, add if not\n }\n // Update currentCache in-place\n currentCache.length = 0\n currentCache.push(...cacheMap.values())\n },\n // Provide tags for potential invalidation\n providesTags: (result, error, arg) =>\n result\n ? [\n ...result.flatMap((entity) =>\n entity.links\n .filter((link) => link.node !== null)\n .map((link) => ({ type: 'link', id: link.node!.id })),\n ),\n { type: 'link', id: `${arg.projectName}-${arg.entityType}` },\n ]\n : [{ type: 'link', id: `${arg.projectName}-${arg.entityType}` }],\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName, entityIds, entityType },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData, dispatch },\n ) {\n let token: any\n const pendingEntityIds = new Set<string>()\n const MAX_BATCH = 100\n const INTERVAL = 500\n let scheduled = false\n\n const schedule = () => {\n if (scheduled) return\n scheduled = true\n setTimeout(flush, INTERVAL)\n }\n\n const flush = async () => {\n scheduled = false\n if (!pendingEntityIds.size) return\n const batchIds = Array.from(pendingEntityIds).slice(0, MAX_BATCH)\n batchIds.forEach((id) => pendingEntityIds.delete(id))\n\n try {\n // Get the appropriate endpoint and parameter names\n const endpoint = entityEndpoints[entityType]\n const resultPath = entityResultPaths[entityType]\n\n // Fetch fresh data for the affected entities\n const result = await dispatch(\n (gqlLinksApi.endpoints as any)[endpoint].initiate(\n { projectName, entityIds: batchIds },\n { forceRefetch: true },\n ),\n ).unwrap()\n\n const updatedEntities =\n result.project?.[resultPath]?.edges?.map(({ node }: { node: any }) => {\n\n return {\n id: node.id,\n links:\n node.links.edges\n ?.map((linkEdge: EntityLinkQuery | null) => {\n if (!linkEdge?.node) {\n // Restricted link - node is null\n return {\n ...linkEdge,\n node: null,\n isRestricted: true,\n } as EntityLink\n }\n // Normal link\n return {\n ...linkEdge,\n node: {\n id: linkEdge.node.id,\n name: linkEdge.node.name,\n label: formatEntityLabel(linkEdge.node),\n parents: linkEdge.node.parents || [],\n subType: 'subType' in linkEdge.node ? linkEdge.node.subType : undefined,\n },\n isRestricted: false,\n } as EntityLink\n }) || [],\n }\n }) || []\n\n updateCachedData((draft: EntityWithLinks[]) => {\n for (const updatedEntity of updatedEntities) {\n const idx = draft.findIndex((entity) => entity.id === updatedEntity.id)\n if (idx > -1) {\n // Update existing entity's links\n draft[idx] = updatedEntity\n } else {\n // Add new entity if not in cache\n draft.push(updatedEntity)\n }\n }\n })\n } catch (err) {\n console.error('Realtime link batch update failed', err)\n } finally {\n if (pendingEntityIds.size) schedule()\n }\n }\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary (both entities affected by the link)\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Add both entities to pending list since both are affected by the link change\n if (inputId) pendingEntityIds.add(inputId)\n if (outputId) pendingEntityIds.add(outputId)\n schedule()\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetEntityLinksQuery } = injectedQueries\nexport { injectedQueries as entityLinksApi }\n"],"names":["entityEndpoints","entityResultPaths","injectedQueries","foldersApi","build","projectName","entityIds","entityType","getState","dispatch","queryCacheKey","forced","state","cacheKey","cachedData","cachedEntityIds","entity","entityIdsToFetch","id","endpoint","resultPath","gqlLinksApi","node","restrictedLinks","e","link","linkEdge","formatEntityLabel","error","toast","queryArgs","currentArg","previousArg","currentIds","previousIds","currentCache","newItems","cacheMap","item","newItem","result","arg","cacheDataLoaded","cacheEntryRemoved","updateCachedData","token","pendingEntityIds","MAX_BATCH","INTERVAL","scheduled","schedule","flush","batchIds","updatedEntities","draft","updatedEntity","idx","err","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetEntityLinksQuery"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const u=require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("./getEntityLinks.cjs.js");require("../entities/updateEntity.cjs.js");require("../entityLists/getLists.cjs.js");require("../entityLists/updateLists.cjs.js");require("../entityLists/getListsAttributes.cjs.js");require("../entityLists/listItemsColumnStats.cjs.js");require("../entityLists/updateListsAttributes.cjs.js");require("../entityLists/listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("./updateLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const T=require("../../../util/pubsub.cjs.js"),k=50,N=u.api.injectEndpoints({endpoints:I=>({getSearchedEntitiesLinks:I.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:(c,l,i)=>{const r=c.pageInfo;if(!(!r.hasNextPage||!r.endCursor))return{cursor:r.endCursor}}},providesTags:[{type:"linkSearchItem",id:"LIST"}],queryFn:async({queryArg:c,pageParam:l},i)=>{try{const{projectName:r,entityType:t,search:f,parentIds:h}=c,{cursor:n}=l,e={projectName:r,first:k};n&&(e.after=n),e.search=f||"",e.parentIds=h;let a;switch(t){case"folder":a=await i.dispatch(u.api.endpoints.GetSearchedFolders.initiate(e,{forceRefetch:!0})).unwrap();break;case"product":a=await i.dispatch(u.api.endpoints.GetSearchedProducts.initiate(e,{forceRefetch:!0})).unwrap();break;case"task":a=await i.dispatch(u.api.endpoints.GetSearchedTasks.initiate(e,{forceRefetch:!0})).unwrap();break;case"version":a=await i.dispatch(u.api.endpoints.GetSearchedVersions.initiate(e,{forceRefetch:!0})).unwrap();break;case"representation":a=await i.dispatch(u.api.endpoints.GetSearchedRepresentations.initiate(e,{forceRefetch:!0})).unwrap();break;case"workfile":a=await i.dispatch(u.api.endpoints.GetSearchedWorkfiles.initiate(e,{forceRefetch:!0})).unwrap();break;default:throw new Error(`Unsupported entity type: ${t}`)}const w=a.project;if(!w)throw new Error("No project data returned");const m=w[t+"s"],E=m?.edges?.map(({node:s})=>{switch(t){case"task":const o=s;return{entityType:"task",id:o.id,name:o.name,label:o.label||o.name,parents:o.parents||[],subType:o.subType};case"folder":const q=s;return{entityType:"folder",id:q.id,name:q.name,label:q.label||q.name,parents:q.parents||[],subType:q.subType};case"product":const p=s;return{entityType:"product",id:p.id,name:p.name,label:p.name,parents:p.parents||[],subType:p.subType};case"version":const d=s;return{entityType:"version",id:d.id,name:d.name,label:d.name,parents:d.parents||[],hasReviewables:d.hasReviewables};case"representation":const y=s;return{entityType:"representation",id:y.id,name:y.name,label:y.name,parents:y.parents||[]};case"workfile":const b=s;return{entityType:"workfile",id:b.id,name:b.name,label:b.name,parents:b.parents||[]};default:return null}}).filter(Boolean);if(!m)throw new Error(`No ${t} data returned`);return{data:{pageInfo:m.pageInfo,entities:E}}}catch(r){return console.error("Error in getSearchedEntitiesLinks queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},async onCacheEntryAdded({projectName:c},{cacheDataLoaded:l,cacheEntryRemoved:i,dispatch:r}){let t;try{await l;const f=async(h,n)=>{if(!h.startsWith("link.created")&&!h.startsWith("link.deleted")||n?.project!==c)return;const e=n?.summary?.inputId,a=n?.summary?.outputId;!e&&!a||r(u.api.util.invalidateTags([{type:"linkSearchItem",id:"LIST"}]))};t=T.subscribe("link",f)}catch{}await i,t&&T.unsubscribe(t)}})})}),{useGetSearchedEntitiesLinksInfiniteQuery:S}=N;exports.ENTITIES_INFINITE_QUERY_COUNT=k;exports.useGetSearchedEntitiesLinksInfiniteQuery=S;
|
|
2
2
|
//# sourceMappingURL=getLinks.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n hasReviewables?: boolean\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n hasReviewables: versionNode.hasReviewables,\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getLinks.cjs.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n hasReviewables?: boolean\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n hasReviewables: versionNode.hasReviewables,\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
|