@ynput/ayon-frontend-shared 0.3.41 → 0.3.43
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 +6 -6
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +6 -6
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +22 -16
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs22.js +1 -1
- package/dist/_virtual/index.cjs23.js +1 -1
- package/dist/_virtual/index.cjs24.js +1 -1
- package/dist/_virtual/index.es22.js +3 -3
- package/dist/_virtual/index.es23.js +5 -5
- package/dist/_virtual/index.es24.js +5 -5
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +376 -374
- package/dist/api.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +34 -30
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +6 -6
- 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/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/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 +54 -35
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +106 -82
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js +12 -12
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js +9 -8
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +176 -73
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +8 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.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 +155 -61
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +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 +32 -28
- 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 +104 -51
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.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 +173 -124
- 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 +93 -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 +108 -55
- package/dist/shared/src/api/queries/folders/getFolders.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 +116 -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 +15 -20
- 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 +284 -227
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +1 -3
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- 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 +132 -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 +17 -20
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.es.js +1 -1
- package/dist/shared/src/api/queries/review/updateReview.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 -91
- 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 +541 -334
- 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 +123 -29
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +2 -3
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -3
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.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 +139 -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 +6 -6
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +6 -7
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +2 -3
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- 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 +112 -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 +107 -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.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -6
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- 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 +118 -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 +96 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +2 -3
- package/dist/shared/src/components/EntityIcon/EntityIcon.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 +6 -6
- 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 +6 -6
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +7 -8
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +4 -5
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +2 -3
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +2 -3
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +11 -12
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +6 -6
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -3
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +6 -7
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +9 -10
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +0 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +2 -3
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +2 -3
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +2 -3
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +2 -3
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
- 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 +20 -20
- 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 +52 -52
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +2 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +18 -17
- 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 +7 -7
- 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 +6 -6
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -3
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -6
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -6
- 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 +6 -6
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +2 -3
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +6 -6
- 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 +7 -8
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +2 -3
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.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 +6 -6
- 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 +6 -6
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +2 -3
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +2 -3
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.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 +121 -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 +116 -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 +6 -6
- 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 +6 -6
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +2 -3
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -6
- 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 +44 -45
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +28 -28
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +2 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- 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 +10 -10
- 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 +114 -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 +6 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +6 -6
- 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 +6 -6
- 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 +6 -6
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +2 -3
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.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 +104 -10
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -5
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- 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 +28 -28
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +105 -11
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +2 -3
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.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 +121 -27
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +3 -4
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +6 -6
- 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 +90 -81
- 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 +6 -6
- 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 +118 -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 +28 -30
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +2 -3
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +6 -6
- 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 +6 -6
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +2 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.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 +103 -9
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +2 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.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.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +3 -4
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +2 -3
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +6 -6
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +2 -3
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +9 -10
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +2 -3
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.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 +184 -87
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +2 -3
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.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 +104 -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 +107 -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 +19 -19
- 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 +6 -6
- 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 +6 -6
- 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 +582 -581
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +24 -5
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +183 -41
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.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 +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +116 -113
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +20 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +2 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.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 +6 -6
- 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 +177 -83
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.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 +25 -25
- 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 +83 -80
- 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 +6 -6
- 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 +6 -6
- 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 +23 -23
- 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 +6 -6
- 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 +203 -216
- 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 +23 -23
- 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 +22 -22
- 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 +6 -6
- 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 +6 -6
- 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 +7 -7
- 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 +21 -21
- 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 +12 -15
- 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 +47 -43
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +2 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.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 +24 -24
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- 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 +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +6 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +22 -22
- 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 +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +6 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- 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 +174 -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 +106 -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 +39 -39
- 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 +6 -6
- 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/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +2 -3
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.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 +6 -6
- 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 +130 -132
- 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/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +2 -3
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js +11 -14
- package/dist/shared/src/containers/Slicer/hooks/useFiltersWithHierarchy.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +2 -3
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +40 -50
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +2 -3
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.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 +155 -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 +170 -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 +142 -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 -44
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +2 -3
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.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 +11 -16
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
- 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 +123 -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.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -5
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -5
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +2 -3
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +4 -5
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -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 +112 -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 +139 -45
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +2 -3
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +7 -8
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +2 -3
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +2 -3
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +2 -3
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +4 -5
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +68 -67
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.es.js +4 -5
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +8 -9
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +4 -5
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -7
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +4 -5
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +6 -7
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +6 -7
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +44 -41
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +2 -3
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -3
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +2 -3
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.es.js +2 -3
- package/dist/shared/src/hooks/useGetProductionAddon.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 +4 -5
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +2 -3
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
- package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLocalStorage.es.js +3 -1
- package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
- 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 +114 -20
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +4 -5
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.es.js +2 -3
- package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
- package/dist/shared/src/hooks/useSessionStorage.cjs.js +2 -0
- package/dist/shared/src/hooks/useSessionStorage.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useSessionStorage.es.js +60 -0
- package/dist/shared/src/hooks/useSessionStorage.es.js.map +1 -0
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -3
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/checkName.cjs.js.map +1 -1
- package/dist/shared/src/util/checkName.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.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 +117 -0
- package/dist/shared/src/util/getBundleMode.es.js.map +1 -0
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
- package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/iconUtils.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +845 -1124
- package/dist/types/api/generated/graphqlLinks.d.ts +201 -291
- package/dist/types/api/queries/activities/getActivities.d.ts +2326 -1470
- package/dist/types/api/queries/activities/index.d.ts +0 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +21 -1
- package/dist/types/api/queries/columnStats/columnStats.d.ts +4 -21
- package/dist/types/api/queries/entities/getEntity.d.ts +327 -315
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +263 -251
- package/dist/types/api/queries/entities/updateEntity.d.ts +263 -251
- package/dist/types/api/queries/entityLists/getLists.d.ts +1930 -1918
- package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +96 -96
- package/dist/types/api/queries/entityLists/types.d.ts +1 -0
- package/dist/types/api/queries/folders/getFolderDeleteInfo.d.ts +131 -131
- package/dist/types/api/queries/overview/getOverview.d.ts +960 -866
- package/dist/types/api/queries/products/getFolderProducts.d.ts +64 -64
- package/dist/types/api/queries/project/getProject.d.ts +503 -491
- package/dist/types/api/queries/review/getReview.d.ts +2 -2
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +375 -363
- package/dist/types/api/queries/users/getUsers.d.ts +457 -445
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1118 -1094
- package/dist/types/api/queries/versions/updateVersions.d.ts +138 -175
- 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/Feed/helpers/getActivityUserName.d.ts +4 -0
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +36 -36
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +2 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +6 -1
- package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +0 -29
- package/dist/types/containers/Slicer/components/Slicer.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +14 -20
- 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/useFiltersWithHierarchy.d.ts +2 -2
- package/dist/types/containers/Slicer/hooks/useSlicerRemotes.d.ts +6 -0
- package/dist/types/containers/Slicer/hooks/useSlicerRowSelection.d.ts +18 -0
- package/dist/types/containers/Slicer/hooks/useSlicerSplitter.d.ts +9 -0
- package/dist/types/containers/Slicer/types.d.ts +6 -9
- package/dist/types/containers/Slicer/util/createFilterFromSlicer.d.ts +7 -4
- package/dist/types/containers/Slicer/util/getSelectionDataState.d.ts +3 -0
- package/dist/types/context/DetailsPanelContext.d.ts +2 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useSessionStorage.d.ts +4 -0
- package/dist/types/util/checkName.d.ts +1 -1
- package/dist/types/util/getAttributeIcon.d.ts +1 -1
- package/dist/types/util/getBundleMode.d.ts +4 -0
- package/dist/types/util/getGroupByDataType.d.ts +1 -1
- package/dist/types/util/getPriorityOptions.d.ts +2 -1
- package/dist/types/util/iconUtils.d.ts +1 -1
- 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/api/queries/activities/updateActivities.cjs.js +0 -2
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +0 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js +0 -111
- package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js +0 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js +0 -27
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.es.js.map +0 -1
- 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/api/queries/activities/updateActivities.d.ts +0 -1322
- package/dist/types/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +0 -4
- package/dist/types/containers/Slicer/hooks/useSlicerViewSync.d.ts +0 -8
|
@@ -42,45 +42,98 @@ import "lodash";
|
|
|
42
42
|
import "react-toastify";
|
|
43
43
|
import "uuid";
|
|
44
44
|
import { subscribeToThumbnailUpdates as I } from "../../../util/thumbnailWebsocket.es.js";
|
|
45
|
-
import
|
|
45
|
+
import "../actions/getActions.es.js";
|
|
46
|
+
import "../activities/getActivities.es.js";
|
|
47
|
+
import "../activities/updateReaction.es.js";
|
|
48
|
+
import "../activities/getMentions.es.js";
|
|
49
|
+
import "../activities/getCategories.es.js";
|
|
50
|
+
import "../addons/getAddons.es.js";
|
|
51
|
+
import "../addons/updateAddons.es.js";
|
|
52
|
+
import "../attributes/getAttributes.es.js";
|
|
53
|
+
import "../attributes/updateAttributes.es.js";
|
|
54
|
+
import "../authentication/getAuthentication.es.js";
|
|
55
|
+
import "../cloud/cloud.es.js";
|
|
56
|
+
import "../columnStats/metricTargets.es.js";
|
|
57
|
+
import "../config/getConfig.es.js";
|
|
58
|
+
import "../config/updateConfig.es.js";
|
|
59
|
+
import "./getEntity.es.js";
|
|
46
60
|
import { transformDetailsPanelQueriesData as u, detailsPanelEntityTypes as G } from "./transformDetailsPanelData.es.js";
|
|
61
|
+
import "./updateEntity.es.js";
|
|
62
|
+
import "../entityLists/getLists.es.js";
|
|
63
|
+
import "../entityLists/updateLists.es.js";
|
|
64
|
+
import "../entityLists/getListsAttributes.es.js";
|
|
65
|
+
import "../entityLists/listItemsColumnStats.es.js";
|
|
66
|
+
import "../entityLists/updateListsAttributes.es.js";
|
|
67
|
+
import "../entityLists/listFolders.es.js";
|
|
68
|
+
import "../folders/getFolders.es.js";
|
|
69
|
+
import "../folders/getFolderDeleteInfo.es.js";
|
|
70
|
+
import "../grouping/getGrouping.es.js";
|
|
71
|
+
import "../links/updateLinks.es.js";
|
|
72
|
+
import "../links/getLinks.es.js";
|
|
73
|
+
import "../links/getEntityLinks.es.js";
|
|
74
|
+
import "../overview/getOverview.es.js";
|
|
75
|
+
import "../overview/updateOverview.es.js";
|
|
76
|
+
import "../versions/getVersionsProducts.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";
|
|
99
|
+
import b from "../../../util/pubsub.es.js";
|
|
47
100
|
const y = T.enhanceEndpoints({
|
|
48
101
|
endpoints: {
|
|
49
102
|
GetDetailsPanelFolder: {
|
|
50
|
-
transformResponse: (i,
|
|
51
|
-
const { projectName:
|
|
103
|
+
transformResponse: (i, p, r) => {
|
|
104
|
+
const { projectName: e } = r, t = i?.project?.folder;
|
|
52
105
|
return t ? u({
|
|
53
|
-
projectName:
|
|
106
|
+
projectName: e,
|
|
54
107
|
entity: t,
|
|
55
108
|
entityType: "folder"
|
|
56
109
|
}) : null;
|
|
57
110
|
}
|
|
58
111
|
},
|
|
59
112
|
GetDetailsPanelTask: {
|
|
60
|
-
transformResponse: (i,
|
|
61
|
-
const { projectName:
|
|
113
|
+
transformResponse: (i, p, r) => {
|
|
114
|
+
const { projectName: e } = r, t = i?.project?.task;
|
|
62
115
|
return t ? u({
|
|
63
|
-
projectName:
|
|
116
|
+
projectName: e,
|
|
64
117
|
entity: t,
|
|
65
118
|
entityType: "task"
|
|
66
119
|
}) : null;
|
|
67
120
|
}
|
|
68
121
|
},
|
|
69
122
|
GetDetailsPanelVersion: {
|
|
70
|
-
transformResponse: (i,
|
|
71
|
-
const { projectName:
|
|
123
|
+
transformResponse: (i, p, r) => {
|
|
124
|
+
const { projectName: e } = r, t = i?.project?.version;
|
|
72
125
|
return t ? u({
|
|
73
|
-
projectName:
|
|
126
|
+
projectName: e,
|
|
74
127
|
entity: t,
|
|
75
128
|
entityType: "version"
|
|
76
129
|
}) : null;
|
|
77
130
|
}
|
|
78
131
|
},
|
|
79
132
|
GetDetailsPanelRepresentation: {
|
|
80
|
-
transformResponse: (i,
|
|
81
|
-
const { projectName:
|
|
133
|
+
transformResponse: (i, p, r) => {
|
|
134
|
+
const { projectName: e } = r, t = i?.project?.representation;
|
|
82
135
|
return t ? u({
|
|
83
|
-
projectName:
|
|
136
|
+
projectName: e,
|
|
84
137
|
entity: t,
|
|
85
138
|
entityType: "representation"
|
|
86
139
|
}) : null;
|
|
@@ -101,8 +154,8 @@ const y = T.enhanceEndpoints({
|
|
|
101
154
|
}, _ = y.injectEndpoints({
|
|
102
155
|
endpoints: (i) => ({
|
|
103
156
|
getEntitiesDetailsPanel: i.query({
|
|
104
|
-
async queryFn({ entities:
|
|
105
|
-
if (!G.includes(
|
|
157
|
+
async queryFn({ entities: p = [], entityType: r }, { dispatch: e }) {
|
|
158
|
+
if (!G.includes(r))
|
|
106
159
|
return {
|
|
107
160
|
error: {
|
|
108
161
|
status: "CUSTOM_ERROR",
|
|
@@ -110,88 +163,88 @@ const y = T.enhanceEndpoints({
|
|
|
110
163
|
}
|
|
111
164
|
};
|
|
112
165
|
try {
|
|
113
|
-
const t =
|
|
114
|
-
y.endpoints[j(
|
|
166
|
+
const t = p.map((m) => e(
|
|
167
|
+
y.endpoints[j(r)].initiate(
|
|
115
168
|
{
|
|
116
|
-
projectName:
|
|
117
|
-
entityId:
|
|
169
|
+
projectName: m.projectName,
|
|
170
|
+
entityId: m.id
|
|
118
171
|
},
|
|
119
172
|
{ forceRefetch: !0 }
|
|
120
173
|
)
|
|
121
174
|
));
|
|
122
|
-
return { data: (await Promise.all(t)).filter((
|
|
175
|
+
return { data: (await Promise.all(t)).filter((m) => !!m.data).map((m) => m.data) };
|
|
123
176
|
} catch (t) {
|
|
124
177
|
return console.error(t), { error: { status: "FETCH_ERROR", error: t.message } };
|
|
125
178
|
}
|
|
126
179
|
},
|
|
127
|
-
async onCacheEntryAdded({ entities:
|
|
128
|
-
let
|
|
180
|
+
async onCacheEntryAdded({ entities: p, entityType: r }, { updateCachedData: e, cacheDataLoaded: t, cacheEntryRemoved: c, dispatch: f }) {
|
|
181
|
+
let m, d;
|
|
129
182
|
try {
|
|
130
183
|
await t, d = I(
|
|
131
184
|
(h) => {
|
|
132
185
|
const l = h.filter(
|
|
133
|
-
(
|
|
186
|
+
(s) => p.some((n) => n.id === s.summary.entityId && n.projectName === s.project)
|
|
134
187
|
);
|
|
135
|
-
l.length !== 0 &&
|
|
136
|
-
l.forEach((
|
|
137
|
-
const
|
|
138
|
-
|
|
188
|
+
l.length !== 0 && e((s) => {
|
|
189
|
+
l.forEach((n) => {
|
|
190
|
+
const o = s.findIndex((a) => a.id === n.summary.entityId);
|
|
191
|
+
o !== -1 && s[o] && n.summary.thumbnailHash && (s[o].thumbnailHash = n.summary.thumbnailHash);
|
|
139
192
|
});
|
|
140
193
|
});
|
|
141
194
|
},
|
|
142
|
-
[
|
|
195
|
+
[r]
|
|
143
196
|
);
|
|
144
197
|
const D = async (h, l) => {
|
|
145
|
-
const
|
|
146
|
-
if (
|
|
198
|
+
const s = l.summary?.entityId, n = p.find((o) => o.id === s);
|
|
199
|
+
if (n)
|
|
147
200
|
try {
|
|
148
|
-
const
|
|
149
|
-
y.endpoints[j(
|
|
201
|
+
const o = await f(
|
|
202
|
+
y.endpoints[j(r)].initiate(
|
|
150
203
|
{
|
|
151
|
-
projectName:
|
|
152
|
-
entityId:
|
|
204
|
+
projectName: n.projectName,
|
|
205
|
+
entityId: n.id
|
|
153
206
|
},
|
|
154
207
|
{ forceRefetch: !0 }
|
|
155
208
|
)
|
|
156
209
|
);
|
|
157
|
-
if (
|
|
158
|
-
console.error(
|
|
210
|
+
if (o.status !== "fulfilled") {
|
|
211
|
+
console.error(o?.error || "No entity found");
|
|
159
212
|
return;
|
|
160
213
|
}
|
|
161
|
-
const
|
|
162
|
-
if (!
|
|
214
|
+
const a = o.data;
|
|
215
|
+
if (!a) {
|
|
163
216
|
console.error("No entity found");
|
|
164
217
|
return;
|
|
165
218
|
}
|
|
166
|
-
|
|
167
|
-
const P = E.findIndex((N) => N.id ===
|
|
219
|
+
e((E) => {
|
|
220
|
+
const P = E.findIndex((N) => N.id === a.id);
|
|
168
221
|
if (P === -1) {
|
|
169
222
|
console.error("Entity not found in cache");
|
|
170
223
|
return;
|
|
171
224
|
}
|
|
172
|
-
E[P] =
|
|
225
|
+
E[P] = a;
|
|
173
226
|
});
|
|
174
|
-
} catch (
|
|
175
|
-
console.error("Entity task realtime update failed",
|
|
227
|
+
} catch (o) {
|
|
228
|
+
console.error("Entity task realtime update failed", o);
|
|
176
229
|
return;
|
|
177
230
|
}
|
|
178
|
-
}, R = `entity.${
|
|
179
|
-
|
|
231
|
+
}, R = `entity.${r}`;
|
|
232
|
+
m = b.subscribe(R, D);
|
|
180
233
|
} catch {
|
|
181
234
|
}
|
|
182
|
-
await c, b.unsubscribe(
|
|
235
|
+
await c, b.unsubscribe(m), d && d();
|
|
183
236
|
},
|
|
184
|
-
providesTags: (
|
|
185
|
-
...
|
|
237
|
+
providesTags: (p, r, { entities: e, entityType: t }) => [
|
|
238
|
+
...e.map(({ id: c }) => ({ id: c, type: "entities" })),
|
|
186
239
|
{ type: "entities", id: t.toUpperCase() },
|
|
187
240
|
{ type: "entities", id: "LIST" }
|
|
188
241
|
]
|
|
189
242
|
})
|
|
190
243
|
})
|
|
191
|
-
}), { useGetEntitiesDetailsPanelQuery:
|
|
244
|
+
}), { useGetEntitiesDetailsPanelQuery: br, useLazyGetEntitiesDetailsPanelQuery: jr } = _;
|
|
192
245
|
export {
|
|
193
246
|
_ as detailsPanelQueries,
|
|
194
|
-
|
|
195
|
-
|
|
247
|
+
br as useGetEntitiesDetailsPanelQuery,
|
|
248
|
+
jr as useLazyGetEntitiesDetailsPanelQuery
|
|
196
249
|
};
|
|
197
250
|
//# sourceMappingURL=getEntityPanel.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityPanel.es.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const matchedMessages = messages.filter((m) =>\n entities.some((e) => e.id === m.summary.entityId && e.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((e: any) => e.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","matchedMessages","m","draft","message","entityIndex","handlePubSub","_topic","messageEntityId","matchedEntity","updatedEntity","error","topic","PubSub","_res","_error","id","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getEntityPanel.es.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const matchedMessages = messages.filter((m) =>\n entities.some((e) => e.id === m.summary.entityId && e.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((e: any) => e.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","matchedMessages","m","draft","message","entityIndex","handlePubSub","_topic","messageEntityId","matchedEntity","updatedEntity","error","topic","PubSub","_res","_error","id","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAMA,IAAqBC,EAAO,iBAA+C;AAAA,EAC/E,WAAW;AAAA,IACT,uBAAuB;AAAA,MACrB,mBAAmB,CAACC,GAAsCC,GAAOC,MAAS;AACxE,cAAM,EAAE,aAAAC,MAAgBD,GAClBE,IAASJ,GAAU,SAAS;AAClC,eAAKI,IACEC,EAAiC;AAAA,UACtC,aAAAF;AAAA,UACA,QAAAC;AAAA,UACA,YAAY;AAAA,QAAA,CACb,IALmB;AAAA,MAMtB;AAAA,IAAA;AAAA,IAEF,qBAAqB;AAAA,MACnB,mBAAmB,CAACJ,GAAoCC,GAAOC,MAAS;AACtE,cAAM,EAAE,aAAAC,MAAgBD,GAClBE,IAASJ,GAAU,SAAS;AAClC,eAAKI,IACEC,EAAiC;AAAA,UACtC,aAAAF;AAAA,UACA,QAAAC;AAAA,UACA,YAAY;AAAA,QAAA,CACb,IALmB;AAAA,MAMtB;AAAA,IAAA;AAAA,IAEF,wBAAwB;AAAA,MACtB,mBAAmB,CAACJ,GAAuCC,GAAOC,MAAS;AACzE,cAAM,EAAE,aAAAC,MAAgBD,GAClBE,IAASJ,GAAU,SAAS;AAClC,eAAKI,IACEC,EAAiC;AAAA,UACtC,aAAAF;AAAA,UACA,QAAAC;AAAA,UACA,YAAY;AAAA,QAAA,CACb,IALmB;AAAA,MAMtB;AAAA,IAAA;AAAA,IAEF,+BAA+B;AAAA,MAC7B,mBAAmB,CAACJ,GAA8CC,GAAOC,MAAS;AAChF,cAAM,EAAE,aAAAC,MAAgBD,GAClBE,IAASJ,GAAU,SAAS;AAClC,eAAKI,IACEC,EAAiC;AAAA,UACtC,aAAAF;AAAA,UACA,QAAAC;AAAA,UACA,YAAY;AAAA,QAAA,CACb,IALmB;AAAA,MAMtB;AAAA,IAAA;AAAA,EACF;AAEJ,CAAC,GAaKE,IAAyB,CAACC,MAAsD;AACpF,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IAET,KAAK;AACH,aAAO;AAAA,IAET,KAAK;AACH,aAAO;AAAA,IAET,KAAK;AACH,aAAO;AAAA,EAAA;AAEb,GAEMC,IAAuBV,EAAmB,gBAAgB;AAAA,EAC9D,WAAW,CAACW,OAAW;AAAA,IACrB,yBAAyBA,EAAM,MAA6D;AAAA,MAC1F,MAAM,QAAQ,EAAE,UAAAC,IAAW,CAAA,GAAI,YAAAH,EAAA,GAAc,EAAE,UAAAI,KAAY;AACzD,YAAI,CAACC,EAAwB,SAASL,CAAU;AAC9C,iBAAO;AAAA,YACL,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,OAAO;AAAA,YAAA;AAAA,UACT;AAIJ,YAAI;AACF,gBAAMM,IAAWH,EAAS,IAAI,CAACN,MACtBO;AAAA,YACLb,EAAmB,UAAUQ,EAAuBC,CAAU,CAAC,EAAE;AAAA,cAC/D;AAAA,gBACE,aAAaH,EAAO;AAAA,gBACpB,UAAUA,EAAO;AAAA,cAAA;AAAA,cAEnB,EAAE,cAAc,GAAA;AAAA,YAAK;AAAA,UACvB,CAEH;AAQD,iBAAO,EAAE,OANG,MAAM,QAAQ,IAAIS,CAAQ,GAGnC,OAAO,CAACC,MAAQ,CAAC,CAACA,EAAI,IAAI,EAC1B,IAAI,CAACA,MAAQA,EAAI,IAAI,EAET;AAAA,QACjB,SAASC,GAAQ;AACf,yBAAQ,MAAMA,CAAC,GACR,EAAE,OAAO,EAAE,QAAQ,eAAe,OAAOA,EAAE,UAAQ;AAAA,QAC5D;AAAA,MACF;AAAA,MACA,MAAM,kBACJ,EAAE,UAAAL,GAAU,YAAAH,EAAA,GACZ,EAAE,kBAAAS,GAAkB,iBAAAC,GAAiB,mBAAAC,GAAmB,UAAAP,KACxD;AACA,YAAIQ,GACAC;AACJ,YAAI;AAEF,gBAAMH,GAENG,IAAwBC;AAAA,YACtB,CAACC,MAAuC;AACtC,oBAAMC,IAAkBD,EAAS;AAAA,gBAAO,CAACE,MACvCd,EAAS,KAAK,CAACK,MAAMA,EAAE,OAAOS,EAAE,QAAQ,YAAYT,EAAE,gBAAgBS,EAAE,OAAO;AAAA,cAAA;AAEjF,cAAID,EAAgB,WAAW,KAE/BP,EAAiB,CAACS,MAAU;AAC1B,gBAAAF,EAAgB,QAAQ,CAACG,MAAY;AACnC,wBAAMC,IAAcF,EAAM,UAAU,CAACV,MAAWA,EAAE,OAAOW,EAAQ,QAAQ,QAAQ;AACjF,kBAAIC,MAAgB,MAAMF,EAAME,CAAW,KAAKD,EAAQ,QAAQ,kBAC9DD,EAAME,CAAW,EAAE,gBAAgBD,EAAQ,QAAQ;AAAA,gBAEvD,CAAC;AAAA,cACH,CAAC;AAAA,YACH;AAAA,YACA,CAACnB,CAAU;AAAA,UAAA;AAGb,gBAAMqB,IAAe,OAAOC,GAAgBH,MAAiB;AAC3D,kBAAMI,IAAkBJ,EAAQ,SAAS,UACnCK,IAAgBrB,EAAS,KAAK,CAACN,MAAWA,EAAO,OAAO0B,CAAe;AAE7E,gBAAKC;AAEL,kBAAI;AAEF,sBAAMjB,IAAM,MAAMH;AAAA,kBAChBb,EAAmB,UAAUQ,EAAuBC,CAAU,CAAC,EAAE;AAAA,oBAC/D;AAAA,sBACE,aAAawB,EAAc;AAAA,sBAC3B,UAAUA,EAAc;AAAA,oBAAA;AAAA,oBAE1B,EAAE,cAAc,GAAA;AAAA,kBAAK;AAAA,gBACvB;AAIF,oBAAIjB,EAAI,WAAW,aAAa;AAC9B,0BAAQ,MAAMA,GAAK,SAAS,iBAAiB;AAC7C;AAAA,gBACF;AAEA,sBAAMkB,IAAgBlB,EAAI;AAE1B,oBAAI,CAACkB,GAAe;AAClB,0BAAQ,MAAM,iBAAiB;AAC/B;AAAA,gBACF;AAEA,gBAAAhB,EAAiB,CAACS,MAAU;AAE1B,wBAAME,IAAcF,EAAM,UAAU,CAACrB,MAAgBA,EAAO,OAAO4B,EAAc,EAAE;AAEnF,sBAAIL,MAAgB,IAAI;AACtB,4BAAQ,MAAM,2BAA2B;AACzC;AAAA,kBACF;AAGA,kBAAAF,EAAME,CAAW,IAAIK;AAAA,gBACvB,CAAC;AAAA,cACH,SAASC,GAAO;AACd,wBAAQ,MAAM,sCAAsCA,CAAK;AACzD;AAAA,cACF;AAAA,UACF,GAEMC,IAAQ,UAAU3B,CAAU;AAElC,UAAAY,IAAQgB,EAAO,UAAUD,GAAON,CAAY;AAAA,QAC9C,QAAQ;AAAA,QAGR;AAEA,cAAMV,GAENiB,EAAO,YAAYhB,CAAK,GACpBC,KACFA,EAAA;AAAA,MAEJ;AAAA,MACA,cAAc,CAACgB,GAAMC,GAAQ,EAAE,UAAA3B,GAAU,YAAAH,QAAiB;AAAA,QACxD,GAAGG,EAAS,IAAI,CAAC,EAAE,IAAA4B,EAAA,OAA0B,EAAE,IAAAA,GAAI,MAAM,WAAA,EAAa;AAAA,QACtE,EAAE,MAAM,YAAY,IAAI/B,EAAW,cAAY;AAAA,QAC/C,EAAE,MAAM,YAAY,IAAI,OAAA;AAAA,MAAO;AAAA,IACjC,CACD;AAAA,EAAA;AAEL,CAAC,GAEY,EAAE,iCAAAgC,IAAiC,qCAAAC,OAC9ChC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateEntity.es.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { detailsPanelQueries } from '@shared/api/queries'\nimport { toast } from 'react-toastify'\nimport { dashboardQueries, getKanbanTasks } from '@shared/api/queries/userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '@shared/api/queries/overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateEntity.es.js","sources":["../../../../../../src/api/queries/entities/updateEntity.ts"],"sourcesContent":["// @ts-nocheck\n\nimport api from './getEntity'\nimport { toast } from 'react-toastify'\nimport { detailsPanelQueries } from './getEntityPanel'\nimport { dashboardQueries, getKanbanTasks } from '../userDashboard'\nimport { patchOverviewFolders, patchOverviewTasks } from '../overview'\nimport { patchDetailsPanel } from './patchDetailsPanel'\n\nconst patchKanban = (\n { assignees = [], projects = [] },\n { newAssignees, taskId, data, taskData },\n { dispatch },\n) => {\n let kanbanPatched = false\n const patchResult = dispatch(\n dashboardQueries.util.updateQueryData(\n 'GetKanban',\n { projects: projects, assignees: assignees },\n (draft) => {\n const taskIndex = draft.findIndex((task) => task.id === taskId)\n let patchData = { ...data }\n // if the data include attrib.priority it needs to be transformed to just priority\n // this is because priority is a top level field on kanban query\n if (data?.attrib?.priority) {\n const { priority } = patchData.attrib\n patchData = { ...patchData, priority }\n }\n // if the data include attrib.endDate it needs to be transformed to dueDate\n // this is because dueDate is a top level field on kanban query\n // NOTE TO SELF: Lets try to do these transforms after the cache the future.\n if (data?.attrib?.endDate) {\n const { endDate } = patchData.attrib\n patchData = { ...patchData, dueDate: endDate }\n delete patchData.attrib.endDate\n }\n\n if (taskIndex === -1) {\n // task not found, assignee must have just been added\n if (taskData) {\n // add the task to the cache\n draft.push(taskData)\n } else {\n // we don't have the task data, so we can't add it to the cache\n // we might add it later\n kanbanPatched = false\n }\n } else {\n kanbanPatched = true\n // first check that the task assignees still has a intersection with dashAssignees\n const hasSomeAssignees = newAssignees?.some((assignee) => assignees.includes(assignee))\n\n if (!hasSomeAssignees && newAssignees) {\n // remove from cache\n draft.splice(taskIndex, 1)\n } else {\n // task found: update the task in the cache\n const newData = { ...draft[taskIndex], ...patchData }\n draft[taskIndex] = newData\n }\n }\n },\n ),\n )\n\n return [patchResult, kanbanPatched]\n}\n\n// try to patch the progress view if there are queries that need to be updated\nconst patchProgressView = ({ operations = [], state, dispatch, entityType }) => {\n // create invalidation tags for progress view\n const invalidationTags = operations.map((o) => ({ type: 'progress', id: o.id }))\n // find the entries that need to be updated\n let entries = api.util.selectInvalidatedBy(state, invalidationTags)\n // if there are no entries, return\n if (!entries.length) return []\n\n try {\n // patch each entry with updated task data\n const patches = entries.map((entry) =>\n dispatch(\n api.util.updateQueryData(entry.endpointName, entry.originalArgs, (draft) => {\n for (const operation of operations) {\n const entityId = operation.id\n const patch = operation.data\n\n // patch the updated task data\n if (entityType === 'task') {\n const folderId = operation.meta?.folderId\n const folder = draft.find((folder) => folder.id === folderId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n const task = folder.tasks?.find((task) => task.id === entityId)\n if (!task) throw new Error('Patching progress view: task not found')\n // update task\n const newTask = { ...task, ...patch }\n // update folder\n const newFolder = {\n ...folder,\n tasks: folder.tasks.map((t) => (t.id === entityId ? newTask : t)),\n }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === folderId)\n draft[folderIndex] = newFolder\n } else if (entityType === 'folder') {\n const folder = draft.find((folder) => folder.id === entityId)\n if (!folder) throw new Error('Patching progress view: folder not found')\n\n // If name is being updated, also update the path\n let updatedPatch = { ...patch }\n if (patch.name && folder.path) {\n // Construct new path by replacing the last segment with the new name\n const pathParts = folder.path.split('/')\n pathParts[pathParts.length - 1] = patch.name\n updatedPatch.path = pathParts.join('/')\n }\n\n // update folder\n const newFolder = { ...folder, ...updatedPatch }\n // update query\n const folderIndex = draft.findIndex((f) => f.id === entityId)\n draft[folderIndex] = newFolder\n }\n }\n }),\n ),\n )\n return patches\n } catch (error) {\n console.error(error)\n // invalidate the progress view queries instead\n dispatch(api.util.invalidateTags(invalidationTags))\n return []\n }\n}\n\nconst updateEntity = api.injectEndpoints({\n endpoints: (build) => ({\n updateEntity: build.mutation({\n query: ({ projectName, entityId, data, entityType }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n method: 'PATCH',\n body: data,\n }),\n invalidatesTags: (result, error, { entityId, entityType }) => {\n const tags = []\n if (entityType === 'product') {\n tags.push({ type: 'product', id: entityId })\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: entityId })\n }\n return tags\n },\n async onQueryStarted(\n { projectName, entityId, data, currentAssignees, entityType },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n const patchResults = []\n\n let invalidationTagsAfterComplete = []\n // if task, patch the GetKanban query\n if (entityType === 'task') {\n const dashboardProjects = getState().dashboard?.selectedProjects || []\n const dashboardUsers = getState().dashboard?.tasks.assignees || []\n const dashboardAssigneesIsMe = getState().dashboard?.tasks.assigneesFilter === 'me'\n const newAssignees = data.assignees\n\n const cacheUsers = dashboardAssigneesIsMe ? [getState().user?.name] : dashboardUsers\n\n const entityAssignees = [...new Set([...currentAssignees, ...(newAssignees || [])])]\n const hasSomeAssignees = entityAssignees.some((assignee) => cacheUsers.includes(assignee))\n const hasSomeProjects = dashboardProjects.some((project) => project === projectName)\n const currentDashNeedsUpdating = hasSomeAssignees && hasSomeProjects\n\n if (currentDashNeedsUpdating) {\n const [result, wasPatched] = patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, data },\n { dispatch },\n )\n\n if (wasPatched) patchResults.push(result)\n\n if (!wasPatched) {\n // this means the task is not in the current kanban and it needs to be added\n\n // get the new task data\n getKanbanTasks({ projects: [projectName], taskIds: [entityId] }, dispatch).then(\n // use .then so that the rest of the code can run\n (response) => {\n let newTask = response.find((task) => task.id === entityId)\n if (newTask) {\n // add newAssignees as the actual DB hasn't been updated yet\n newTask = { ...newTask, assignees: newAssignees }\n\n patchKanban(\n { assignees: cacheUsers, projects: dashboardProjects },\n { newAssignees, taskId: entityId, taskData: newTask },\n { dispatch },\n )\n }\n },\n )\n }\n }\n\n // always update the kanban if task id matches\n const tags = [{ type: 'task', id: entityId }]\n\n // are we changing the assignees?\n if (newAssignees?.length) {\n const currentAssigneesSet = new Set(currentAssignees)\n const newAssigneesSet = new Set(newAssignees)\n\n const removedAssignees = [...currentAssigneesSet].filter(\n (assignee) => !newAssigneesSet.has(assignee),\n )\n const addedAssignees = [...newAssigneesSet].filter(\n (assignee) => !currentAssigneesSet.has(assignee),\n )\n\n const changedAssignees = [...new Set([...removedAssignees, ...addedAssignees])]\n\n // any query that has those changed assignees, needs to be updated\n // we are changing the assignees\n const assigneesTags = changedAssignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n }))\n\n tags.push(...assigneesTags)\n\n // invalidate the watchers query\n dispatch(\n dashboardQueries.util.invalidateTags([\n {\n type: 'watchers',\n id: entityId,\n },\n ]),\n )\n }\n\n // invalidate any other caches\n let entries = dashboardQueries.util.selectInvalidatedBy(state, tags)\n let entriesToInvalidate = []\n\n // for each entry try to patch the data into the cache first\n for (const entry of entries) {\n const [patchResult, wasPatched] = patchKanban(\n {\n assignees: entry.originalArgs.assignees,\n projects: entry.originalArgs.projects,\n },\n {\n newAssignees,\n taskId: entityId,\n data,\n },\n { dispatch },\n )\n\n if (wasPatched) {\n patchResults.push(patchResult)\n } else {\n // if we couldn't patch, we need to invalidate the cache\n entriesToInvalidate.push(entry)\n }\n }\n\n // filter out current kanban query if we were able to patch it\n const currentKanbanCacheArgs = { projects: dashboardProjects, assignees: cacheUsers }\n entriesToInvalidate = entriesToInvalidate.filter(\n (entry) =>\n JSON.stringify(entry.originalArgs) !== JSON.stringify(currentKanbanCacheArgs),\n )\n\n // create the invalidation tags from originalArgs\n const invalidationTags = entries.map((entry) => ({\n type: 'kanban',\n id: JSON.stringify(entry.originalArgs),\n }))\n\n // invalidate the tags later, once the query is complete\n invalidationTagsAfterComplete.push(...invalidationTags)\n }\n\n // get all details panel caches that would be affected by this update\n patchDetailsPanel([{ entityId, data, entityType }], { state, dispatch }, patchResults)\n\n try {\n await queryFulfilled\n\n // now invalidate any tags\n if (invalidationTagsAfterComplete.length) {\n dispatch(dashboardQueries.util.invalidateTags(invalidationTagsAfterComplete))\n }\n } catch (error) {\n console.error('error updating ' + entityType, error)\n toast.error(error?.error?.data?.detail || 'Failed to update task')\n patchResults.forEach((result) => result?.undo())\n }\n },\n }),\n updateEntities: build.mutation({\n async queryFn({ operations = [], entityType }, { dispatch, getState }) {\n try {\n const state = getState()\n const promises = []\n for (const { projectName, data, id, currentAssignees = [] } of operations) {\n const promise = dispatch(\n updateEntity.endpoints.updateEntity.initiate({\n projectName: projectName,\n entityId: id,\n data,\n entityType,\n currentAssignees,\n }),\n )\n promises.push(promise)\n }\n\n let progressPatches = []\n if (entityType === 'task' || entityType === 'folder') {\n // patch the progress page\n progressPatches = patchProgressView({ operations, state, dispatch, entityType })\n }\n\n const overviewPatches = []\n // convert id in operations to entityId\n const operationsWithEntityId = operations.map((o) => ({ ...o, entityId: o.id }))\n if (entityType === 'task' || entityType === 'folder') {\n // patch the overview page\n if (entityType === 'task') {\n patchOverviewTasks(operationsWithEntityId, { state, dispatch }, overviewPatches)\n }\n if (entityType === 'folder') {\n // patch the overview page\n patchOverviewFolders(operationsWithEntityId, { state, dispatch }, overviewPatches)\n console.log('invalidate overview folders')\n // invalidate overview folders query\n dispatch(api.util.invalidateTags([{ type: 'folder', id: 'LIST' }]))\n // invalidate overview tasks with folder as a parent\n dispatch(\n api.util.invalidateTags(\n operationsWithEntityId.map((o) => ({ type: 'overviewTask', id: o.entityId })),\n ),\n )\n }\n }\n\n // check if any of the requests failed and invalidate the tasks cache again to refetch\n const results = await Promise.allSettled(promises)\n\n // did any of the requests fail?\n const someError = results.some((result) => result.value?.error)\n if (someError) {\n dispatch(\n api.util.invalidateTags(operations.map((o) => ({ type: 'kanBanTask', id: o.id }))),\n )\n\n // revert the progress view patches\n progressPatches.forEach((patch) => patch?.undo())\n\n // revert the overview patches\n overviewPatches.forEach((patch) => patch?.undo())\n\n throw 'Failed to update some tasks'\n }\n\n const activityTags = []\n\n if (activityTags.length) {\n dispatch(api.util.invalidateTags(activityTags))\n }\n\n return { data: operations }\n } catch (error) {\n console.error(error)\n return { error }\n }\n },\n invalidatesTags: (result, error, { operations, entityType }) => {\n const tags = operations.map((o) => ({ id: o.id, type: 'review' }))\n\n if (entityType === 'product') {\n tags.push({ type: 'product', id: 'LIST' }, { type: 'version', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'product', id: o.id }))\n }\n if (entityType === 'version') {\n tags.push({ type: 'version', id: 'LIST' }, { type: 'product', id: 'LIST' })\n operations.forEach((o) => tags.push({ type: 'version', id: o.id }))\n }\n\n return tags\n },\n }),\n }),\n overrideExisting: true,\n})\n\nexport const { useUpdateEntitiesMutation, useUpdateEntityMutation } = updateEntity\nexport { updateEntity as entitiesQueries }\n"],"names":["patchKanban","assignees","projects","newAssignees","taskId","data","taskData","dispatch","kanbanPatched","dashboardQueries","draft","taskIndex","task","patchData","priority","endDate","assignee","newData","patchProgressView","operations","state","entityType","invalidationTags","o","entries","api","entry","operation","entityId","patch","folderId","folder","newTask","newFolder","t","folderIndex","f","updatedPatch","pathParts","error","updateEntity","build","projectName","result","tags","currentAssignees","queryFulfilled","getState","patchResults","invalidationTagsAfterComplete","dashboardProjects","dashboardUsers","dashboardAssigneesIsMe","cacheUsers","hasSomeAssignees","hasSomeProjects","project","wasPatched","getKanbanTasks","response","currentAssigneesSet","newAssigneesSet","removedAssignees","addedAssignees","assigneesTags","entriesToInvalidate","patchResult","currentKanbanCacheArgs","patchDetailsPanel","toast","promises","id","promise","progressPatches","overviewPatches","operationsWithEntityId","patchOverviewTasks","patchOverviewFolders","activityTags","useUpdateEntitiesMutation","useUpdateEntityMutation"],"mappings":"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"}
|