@ynput/ayon-frontend-shared 0.3.56 → 0.4.1
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 +49 -46
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +244 -228
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +52 -49
- 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.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs9.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/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -5
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es9.js +5 -2
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +93 -93
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +130 -126
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +36 -33
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/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/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +40 -21
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +36 -17
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.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 +4 -4
- package/dist/shared/src/api/queries/activities/getActivities.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 +99 -105
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.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 +133 -87
- package/dist/shared/src/api/queries/entities/getEntityPanel.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 +155 -155
- package/dist/shared/src/api/queries/entityLists/getLists.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 +66 -64
- 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 +110 -111
- 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 +58 -73
- 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 +380 -328
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
- package/dist/shared/src/api/queries/overview/updateOverview.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 +180 -104
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +152 -132
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -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 -2
- 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 +485 -439
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.es.js +18 -17
- package/dist/shared/src/components/Chips/Chips.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 +23 -20
- package/dist/shared/src/components/ColumnHeaderMenuUI.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 +10 -7
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +23 -20
- 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 +23 -20
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +23 -20
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.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 +34 -30
- 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 +23 -20
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +28 -25
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +23 -20
- 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 +27 -24
- package/dist/shared/src/components/Feedback/FeedbackContext.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 +23 -20
- 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 +23 -20
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +23 -20
- 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 +23 -20
- 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 +23 -20
- 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 +21 -18
- 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 +23 -20
- 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 +23 -20
- 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 +23 -20
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +210 -182
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -82
- 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 +23 -20
- 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 +131 -126
- 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 +52 -36
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +23 -20
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +29 -32
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +30 -27
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +29 -26
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +29 -26
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +511 -394
- 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 +23 -20
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.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 +30 -27
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +29 -26
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.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 +23 -20
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.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 +29 -26
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +32 -29
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +29 -26
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +23 -20
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +29 -26
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +29 -26
- 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 +23 -20
- 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 +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.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 +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +23 -20
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.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 +133 -130
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +27 -24
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -24
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +23 -20
- 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 +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -20
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +28 -25
- 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 +29 -26
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +29 -26
- 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 +29 -26
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.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 +23 -20
- 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 +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +27 -24
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +33 -30
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- 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 +23 -20
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.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 +23 -20
- 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 +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +21 -18
- 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 +23 -20
- 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 +27 -24
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +26 -23
- package/dist/shared/src/containers/Feed/context/FeedContext.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 +25 -22
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +119 -116
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +29 -26
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +2 -2
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +114 -111
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +116 -113
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +64 -61
- 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 +586 -414
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +131 -128
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- 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 +289 -272
- 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 +34 -31
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +28 -25
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.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 +118 -115
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.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 +23 -20
- 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 +28 -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 +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +124 -121
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +48 -45
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +103 -100
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +22 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -45
- 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 +21 -18
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.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 +37 -34
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +28 -25
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +28 -21
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +370 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +39 -36
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +23 -20
- 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 +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +29 -26
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +29 -26
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +25 -22
- 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 +23 -20
- 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 +29 -26
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +27 -24
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +22 -19
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.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 +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.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 +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +25 -22
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +24 -21
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.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 +23 -20
- 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 +23 -20
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- 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 +23 -20
- 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 +25 -22
- package/dist/shared/src/containers/Views/context/ViewsContext.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 +26 -23
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.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 +27 -24
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.es.js +85 -65
- package/dist/shared/src/context/EntityUpdatesContext.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 +27 -24
- package/dist/shared/src/context/PowerpackContext.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 +25 -22
- package/dist/shared/src/context/ProjectFoldersContext.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 +25 -22
- package/dist/shared/src/context/SubtasksModulesContext.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 +31 -28
- package/dist/shared/src/context/WebsocketContext.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 +23 -20
- package/dist/shared/src/hooks/useEntityUpdate.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 +23 -20
- 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 +23 -20
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +23 -20
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +45 -2
- package/dist/types/api/generated/graphqlLinks.d.ts +14 -2
- package/dist/types/api/generated/views.d.ts +13 -4
- package/dist/types/api/queries/activities/getActivities.d.ts +24 -0
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +0 -3
- package/dist/types/api/queries/entities/getEntity.d.ts +12 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +12 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +12 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +12 -7
- package/dist/types/api/queries/entityLists/types.d.ts +7 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +14 -2
- package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
- package/dist/types/api/queries/project/getProject.d.ts +12 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +12 -0
- package/dist/types/api/queries/users/getUsers.d.ts +12 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +155 -0
- package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
- package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -1
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +25 -1
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +5 -2
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +43 -42
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../../base/client.es.js";
|
|
2
|
-
import { api as
|
|
2
|
+
import { api as w } from "../../generated/graphql.es.js";
|
|
3
3
|
import "../../generated/graphqlLinks.es.js";
|
|
4
4
|
import "../../generated/access.es.js";
|
|
5
5
|
import "../../generated/actions.es.js";
|
|
@@ -41,7 +41,7 @@ import "../../generated/views.es.js";
|
|
|
41
41
|
import "lodash";
|
|
42
42
|
import "react-toastify";
|
|
43
43
|
import "uuid";
|
|
44
|
-
import { subscribeToThumbnailUpdates as
|
|
44
|
+
import { subscribeToThumbnailUpdates as G } from "../../../util/thumbnailWebsocket.es.js";
|
|
45
45
|
import "../actions/getActions.es.js";
|
|
46
46
|
import "../activities/getActivities.es.js";
|
|
47
47
|
import "../activities/updateReaction.es.js";
|
|
@@ -60,7 +60,7 @@ import "../columnStats/groupCounts.es.js";
|
|
|
60
60
|
import "../config/getConfig.es.js";
|
|
61
61
|
import "../config/updateConfig.es.js";
|
|
62
62
|
import "./getEntity.es.js";
|
|
63
|
-
import { transformDetailsPanelQueriesData as
|
|
63
|
+
import { transformDetailsPanelQueriesData as T, detailsPanelEntityTypes as g } from "./transformDetailsPanelData.es.js";
|
|
64
64
|
import "./updateEntity.es.js";
|
|
65
65
|
import "../entityLists/getLists.es.js";
|
|
66
66
|
import "../entityLists/updateLists.es.js";
|
|
@@ -99,52 +99,53 @@ import "../views/getViews.es.js";
|
|
|
99
99
|
import "../views/updateViews.es.js";
|
|
100
100
|
import "../watchers/getWatchers.es.js";
|
|
101
101
|
import "../uris/getUris.es.js";
|
|
102
|
-
import
|
|
103
|
-
|
|
102
|
+
import { createRealtimeBatcher as A, getSupportedEntityPatch as L, REALTIME_TASK_SUPPORTED_VALUE_FIELDS as M, REALTIME_REST_CALL_LIMIT as $, waitForRealtimeJitter as F } from "../../../util/realtimeUpdatesUtils.es.js";
|
|
103
|
+
import k from "../../../util/pubsub.es.js";
|
|
104
|
+
const D = w.enhanceEndpoints({
|
|
104
105
|
endpoints: {
|
|
105
106
|
GetDetailsPanelFolder: {
|
|
106
|
-
transformResponse: (
|
|
107
|
-
const { projectName:
|
|
108
|
-
return t ?
|
|
109
|
-
projectName:
|
|
107
|
+
transformResponse: (p, a, r) => {
|
|
108
|
+
const { projectName: n } = r, t = p?.project?.folder;
|
|
109
|
+
return t ? T({
|
|
110
|
+
projectName: n,
|
|
110
111
|
entity: t,
|
|
111
112
|
entityType: "folder"
|
|
112
113
|
}) : null;
|
|
113
114
|
}
|
|
114
115
|
},
|
|
115
116
|
GetDetailsPanelTask: {
|
|
116
|
-
transformResponse: (
|
|
117
|
-
const { projectName:
|
|
118
|
-
return t ?
|
|
119
|
-
projectName:
|
|
117
|
+
transformResponse: (p, a, r) => {
|
|
118
|
+
const { projectName: n } = r, t = p?.project?.task;
|
|
119
|
+
return t ? T({
|
|
120
|
+
projectName: n,
|
|
120
121
|
entity: t,
|
|
121
122
|
entityType: "task"
|
|
122
123
|
}) : null;
|
|
123
124
|
}
|
|
124
125
|
},
|
|
125
126
|
GetDetailsPanelVersion: {
|
|
126
|
-
transformResponse: (
|
|
127
|
-
const { projectName:
|
|
128
|
-
return t ?
|
|
129
|
-
projectName:
|
|
127
|
+
transformResponse: (p, a, r) => {
|
|
128
|
+
const { projectName: n } = r, t = p?.project?.version;
|
|
129
|
+
return t ? T({
|
|
130
|
+
projectName: n,
|
|
130
131
|
entity: t,
|
|
131
132
|
entityType: "version"
|
|
132
133
|
}) : null;
|
|
133
134
|
}
|
|
134
135
|
},
|
|
135
136
|
GetDetailsPanelRepresentation: {
|
|
136
|
-
transformResponse: (
|
|
137
|
-
const { projectName:
|
|
138
|
-
return t ?
|
|
139
|
-
projectName:
|
|
137
|
+
transformResponse: (p, a, r) => {
|
|
138
|
+
const { projectName: n } = r, t = p?.project?.representation;
|
|
139
|
+
return t ? T({
|
|
140
|
+
projectName: n,
|
|
140
141
|
entity: t,
|
|
141
142
|
entityType: "representation"
|
|
142
143
|
}) : null;
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
146
|
}
|
|
146
|
-
}),
|
|
147
|
-
switch (
|
|
147
|
+
}), S = (p) => {
|
|
148
|
+
switch (p) {
|
|
148
149
|
case "task":
|
|
149
150
|
return "GetDetailsPanelTask";
|
|
150
151
|
case "version":
|
|
@@ -154,11 +155,11 @@ const y = T.enhanceEndpoints({
|
|
|
154
155
|
case "representation":
|
|
155
156
|
return "GetDetailsPanelRepresentation";
|
|
156
157
|
}
|
|
157
|
-
},
|
|
158
|
-
endpoints: (
|
|
159
|
-
getEntitiesDetailsPanel:
|
|
160
|
-
async queryFn({ entities:
|
|
161
|
-
if (!
|
|
158
|
+
}, Q = D.injectEndpoints({
|
|
159
|
+
endpoints: (p) => ({
|
|
160
|
+
getEntitiesDetailsPanel: p.query({
|
|
161
|
+
async queryFn({ entities: a = [], entityType: r }, { dispatch: n }) {
|
|
162
|
+
if (!g.includes(r))
|
|
162
163
|
return {
|
|
163
164
|
error: {
|
|
164
165
|
status: "CUSTOM_ERROR",
|
|
@@ -166,88 +167,133 @@ const y = T.enhanceEndpoints({
|
|
|
166
167
|
}
|
|
167
168
|
};
|
|
168
169
|
try {
|
|
169
|
-
const t =
|
|
170
|
-
|
|
170
|
+
const t = a.map((l) => n(
|
|
171
|
+
D.endpoints[S(r)].initiate(
|
|
171
172
|
{
|
|
172
|
-
projectName:
|
|
173
|
-
entityId:
|
|
173
|
+
projectName: l.projectName,
|
|
174
|
+
entityId: l.id
|
|
174
175
|
},
|
|
175
176
|
{ forceRefetch: !0 }
|
|
176
177
|
)
|
|
177
178
|
));
|
|
178
|
-
return { data: (await Promise.all(t)).filter((
|
|
179
|
+
return { data: (await Promise.all(t)).filter((l) => !!l.data).map((l) => l.data) };
|
|
179
180
|
} catch (t) {
|
|
180
181
|
return console.error(t), { error: { status: "FETCH_ERROR", error: t.message } };
|
|
181
182
|
}
|
|
182
183
|
},
|
|
183
|
-
async onCacheEntryAdded({
|
|
184
|
-
let
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
(
|
|
188
|
-
|
|
189
|
-
|
|
184
|
+
async onCacheEntryAdded({ entityType: a }, { updateCachedData: r, cacheDataLoaded: n, cacheEntryRemoved: t, dispatch: R, getCacheEntry: I }) {
|
|
185
|
+
let l, N;
|
|
186
|
+
const _ = A(
|
|
187
|
+
async (E, f) => {
|
|
188
|
+
const j = I().data ?? [], d = new Set(
|
|
189
|
+
j.map((i) => `${i.projectName}:${i.id}`)
|
|
190
|
+
), P = /* @__PURE__ */ new Map(), m = [];
|
|
191
|
+
E.forEach(({ topic: i, message: e }) => {
|
|
192
|
+
const s = e.summary?.entityId, o = e.project;
|
|
193
|
+
if (!s || !o) return;
|
|
194
|
+
const y = `${o}:${s}`;
|
|
195
|
+
if (!d.has(y)) return;
|
|
196
|
+
const u = i.split(".")[2]?.replace("_changed", ""), h = L(
|
|
197
|
+
u,
|
|
198
|
+
e.summary,
|
|
199
|
+
M
|
|
190
200
|
);
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
});
|
|
197
|
-
},
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
const s = l.summary?.entityId, n = p.find((o) => o.id === s);
|
|
202
|
-
if (n)
|
|
203
|
-
try {
|
|
204
|
-
const o = await f(
|
|
205
|
-
y.endpoints[j(r)].initiate(
|
|
206
|
-
{
|
|
207
|
-
projectName: n.projectName,
|
|
208
|
-
entityId: n.id
|
|
209
|
-
},
|
|
210
|
-
{ forceRefetch: !0 }
|
|
211
|
-
)
|
|
201
|
+
h ? m.push({
|
|
202
|
+
id: s,
|
|
203
|
+
projectName: o,
|
|
204
|
+
field: h.field,
|
|
205
|
+
value: h.value
|
|
206
|
+
}) : P.set(y, { id: s, projectName: o });
|
|
207
|
+
}), m.length && r((i) => {
|
|
208
|
+
m.forEach(({ id: e, projectName: s, field: o, value: y }) => {
|
|
209
|
+
const u = i.find(
|
|
210
|
+
(h) => h.id === e && h.projectName === s
|
|
212
211
|
);
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
212
|
+
u && (Object.assign(u, {
|
|
213
|
+
...o === "status" || o === "tags" ? { [o]: y } : {},
|
|
214
|
+
...o === "type" ? { entitySubType: y } : {}
|
|
215
|
+
}), o === "assignees" && u.task && (u.task.assignees = y), o === "type" && u.task && (u.task.taskType = y));
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
const c = Array.from(P.values());
|
|
219
|
+
if (!c.length || c.length > $)
|
|
220
|
+
return;
|
|
221
|
+
await F();
|
|
222
|
+
const b = await Promise.all(
|
|
223
|
+
c.map(async (i) => {
|
|
224
|
+
try {
|
|
225
|
+
const e = await R(
|
|
226
|
+
D.endpoints[S(a)].initiate(
|
|
227
|
+
{
|
|
228
|
+
projectName: i.projectName,
|
|
229
|
+
entityId: i.id
|
|
230
|
+
},
|
|
231
|
+
{ forceRefetch: !0 }
|
|
232
|
+
)
|
|
233
|
+
);
|
|
234
|
+
if (e.status !== "fulfilled")
|
|
235
|
+
return console.error(e?.error || "No entity found"), null;
|
|
236
|
+
const s = e.data;
|
|
237
|
+
return s || (console.error("No entity found"), null);
|
|
238
|
+
} catch (e) {
|
|
239
|
+
return console.error("Entity task realtime update failed", e), null;
|
|
216
240
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
241
|
+
})
|
|
242
|
+
);
|
|
243
|
+
f() && r((i) => {
|
|
244
|
+
b.forEach((e) => {
|
|
245
|
+
if (!e) return;
|
|
246
|
+
const s = i.findIndex(
|
|
247
|
+
(o) => o.id === e.id && o.projectName === e.projectName
|
|
248
|
+
);
|
|
249
|
+
if (s === -1) {
|
|
250
|
+
console.error("Entity not found in cache");
|
|
220
251
|
return;
|
|
221
252
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
253
|
+
i[s] = e;
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
},
|
|
257
|
+
({ topic: E, message: f }) => `${f.project}:${f.summary?.entityId}:${E}`
|
|
258
|
+
);
|
|
259
|
+
try {
|
|
260
|
+
await n, N = G(
|
|
261
|
+
(j) => {
|
|
262
|
+
const d = I().data ?? [], P = j.filter(
|
|
263
|
+
(m) => d.some(
|
|
264
|
+
(c) => c.id === m.summary.entityId && c.projectName === m.project
|
|
265
|
+
)
|
|
266
|
+
);
|
|
267
|
+
P.length !== 0 && r((m) => {
|
|
268
|
+
P.forEach((c) => {
|
|
269
|
+
const b = m.findIndex(
|
|
270
|
+
(i) => i.id === c.summary.entityId
|
|
271
|
+
);
|
|
272
|
+
b !== -1 && m[b] && c.summary.thumbnailHash && (m[b].thumbnailHash = c.summary.thumbnailHash);
|
|
229
273
|
});
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
274
|
+
});
|
|
275
|
+
},
|
|
276
|
+
[a]
|
|
277
|
+
);
|
|
278
|
+
const E = (j, d) => {
|
|
279
|
+
!d?.project || !d?.summary?.entityId || _.add({ topic: j, message: d });
|
|
280
|
+
}, f = `entity.${a}`;
|
|
281
|
+
l = k.subscribe(f, E);
|
|
236
282
|
} catch {
|
|
237
283
|
}
|
|
238
|
-
await
|
|
284
|
+
await t, k.unsubscribe(l), N && N(), _.clear();
|
|
239
285
|
},
|
|
240
|
-
providesTags: (
|
|
241
|
-
...
|
|
286
|
+
providesTags: (a, r, { entities: n, entityType: t }) => [
|
|
287
|
+
...n.map(({ id: R }) => ({ id: R, type: "entities" })),
|
|
242
288
|
{ type: "entities", id: t.toUpperCase() },
|
|
243
289
|
{ type: "entities", id: "LIST" }
|
|
244
290
|
]
|
|
245
291
|
})
|
|
246
292
|
})
|
|
247
|
-
}), { useGetEntitiesDetailsPanelQuery:
|
|
293
|
+
}), { useGetEntitiesDetailsPanelQuery: Me, useLazyGetEntitiesDetailsPanelQuery: $e } = Q;
|
|
248
294
|
export {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
295
|
+
Q as detailsPanelQueries,
|
|
296
|
+
Me as useGetEntitiesDetailsPanelQuery,
|
|
297
|
+
$e as useLazyGetEntitiesDetailsPanelQuery
|
|
252
298
|
};
|
|
253
299
|
//# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
|
+
{"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 {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n PubSub,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} 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 { entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: any\n }> = async (updates, isActive) => {\n const cachedEntities = getCacheEntry().data ?? []\n const cachedEntityKeys = new Set(\n cachedEntities.map((entity) => `${entity.projectName}:${entity.id}`),\n )\n const entitiesToFetch = new Map<string, { id: string; projectName: string }>()\n const patches: {\n id: string\n projectName: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n const entityId = message.summary?.entityId\n const projectName = message.project\n if (!entityId || !projectName) return\n\n const entityKey = `${projectName}:${entityId}`\n // Only refresh entities that are currently displayed in this panel.\n if (!cachedEntityKeys.has(entityKey)) return\n\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (patch) {\n patches.push({\n id: entityId,\n projectName,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n } else {\n entitiesToFetch.set(entityKey, { id: entityId, projectName })\n }\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ id, projectName, field, value }) => {\n const entity = draft.find(\n (item) => item.id === id && item.projectName === projectName,\n )\n if (!entity) return\n\n Object.assign(entity, {\n ...(field === 'status' || field === 'tags' ? { [field]: value } : {}),\n ...(field === 'type' ? { entitySubType: value } : {}),\n })\n\n if (field === 'assignees' && entity.task) {\n entity.task.assignees = value as string[]\n }\n if (field === 'type' && entity.task) {\n entity.task.taskType = value as string\n }\n })\n })\n }\n\n const entitiesToRefresh = Array.from(entitiesToFetch.values())\n if (!entitiesToRefresh.length || entitiesToRefresh.length > REALTIME_REST_CALL_LIMIT) {\n return\n }\n\n // Avoid sending a burst of requests immediately after a realtime event.\n await waitForRealtimeJitter()\n const updatedEntities = await Promise.all(\n entitiesToRefresh.map(async (entity) => {\n try {\n // Get the new data for the entity.\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // Check the response.\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return null\n }\n\n const updatedEntity = res.data\n if (!updatedEntity) {\n console.error('No entity found')\n return null\n }\n\n return updatedEntity\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return null\n }\n }),\n )\n if (!isActive()) return\n\n updateCachedData((draft) => {\n updatedEntities.forEach((updatedEntity) => {\n if (!updatedEntity) return\n\n // Find the entity in the cache.\n const entityIndex = draft.findIndex(\n (entity) =>\n entity.id === updatedEntity.id &&\n entity.projectName === updatedEntity.projectName,\n )\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 })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project}:${message.summary?.entityId}:${topic}`,\n )\n\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const cachedEntities = getCacheEntry().data ?? []\n const matchedMessages = messages.filter((m) =>\n cachedEntities.some(\n (entity) => entity.id === m.summary.entityId && entity.projectName === m.project,\n ),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex(\n (entity) => entity.id === message.summary.entityId,\n )\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 = (_topic: string, message: any) => {\n if (!message?.project || !message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\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 batcher.clear()\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","getCacheEntry","token","unsubscribeThumbnails","batcher","createRealtimeBatcher","updates","isActive","cachedEntities","cachedEntityKeys","entitiesToFetch","patches","topic","message","entityId","entityKey","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","draft","id","value","item","entitiesToRefresh","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","updatedEntities","updatedEntity","error","entityIndex","subscribeToThumbnailUpdates","messages","matchedMessages","handlePubSub","_topic","PubSub","_res","_error","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const R=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");const Q=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const M=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const O=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("./updateLists.cjs.js");require("./getListsAttributes.cjs.js");require("./listItemsColumnStats.cjs.js");require("./updateListsAttributes.cjs.js");require("./listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const h=require("../../../util/pubsub.cjs.js"),q=10;function S(s,t,e=5e3){let i=[],r=null;const n=(a,u)=>{i.push({topic:a,message:u}),r||(r=setTimeout(()=>{const o=[...i];i=[],r=null,o.length>0&&s(y=>t(y,o))},e))};return n.clear=()=>{r&&(clearTimeout(r),r=null),i=[]},n}const F=s=>{if(!s)return{};try{return typeof s!="string"?s??{}:JSON.parse(s)}catch(t){return console.warn("Failed to parse entity list data field:",t,s),{}}},v=1e4,b=100,P=R.api.enhanceEndpoints({endpoints:{GetLists:{transformResponse:s=>({lists:s.project.entityLists.edges.map(t=>({...t.node,data:F(t.node.data),attrib:F(t.node.allAttrib)})),pageInfo:s.project.entityLists.pageInfo}),keepUnusedDataFor:q},GetListItems:{transformResponse:s=>{const t=s.project.entityLists.edges[0];if(!t)throw new Error("List does not exist, was it deleted?");return{items:s.project.entityLists.edges.flatMap(e=>e.node.items.edges.map(({node:i,...r})=>({...i,...r,attrib:M.parseJSONField(r.allAttrib)}))),pageInfo:t.node.items.pageInfo}},keepUnusedDataFor:q},GetListsItemsForReviewSession:{transformResponse:s=>({lists:s.project.entityLists.edges.map(t=>t.node),pageInfo:s.project.entityLists.pageInfo}),keepUnusedDataFor:q}}}),G=P.injectEndpoints({endpoints:s=>({getListsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{cursor:r}=e,n={...t,first:v,after:r||void 0},a=await i.dispatch(P.endpoints.GetLists.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>{const e=t?.pages.flatMap(i=>i.lists)||[];return[{type:"entityList",id:"LIST"},...e.flatMap(i=>[{type:"entityList",id:i.id},{type:"entityList",id:i.entityListType},{type:"entityList",id:i.entityListFolderId||"NO_FOLDER"}])]},async onCacheEntryAdded({projectName:t},{cacheDataLoaded:e,cacheEntryRemoved:i,updateCachedData:r}){const n=["entity_list.changed","entity_list.created","entity_list.deleted"];let a=null;try{await e,a=S(r,(u,o)=>{o.forEach(({topic:y,message:_})=>{const p=_.summary,f=p.id;if(!f)return;const I=c=>({projectName:t,tags:[],data:{},allAttrib:"",attrib:{},createdAt:new Date().toISOString(),updatedAt:"",active:!0,access:"",accessLevel:30,...c||{},id:p.id,label:p.label,entityType:p.entity_type,entityListType:p.entity_list_type,count:p.count});if(y==="entity_list.changed"){const c=u.pages.flatMap(E=>E.lists).find(E=>E.id===f);if(!c)return;const m=I(c);Object.assign(c,m)}else if(y==="entity_list.created"){const c=I();u.pages.length!==0&&u.pages[0].lists.unshift(c)}else y==="entity_list.deleted"&&u.pages.forEach(c=>{c.lists=c.lists.filter(m=>m.id!==f)})})},1e4),n.forEach(u=>h.subscribe(u,a))}catch{}await i,n.forEach(u=>h.unsubscribe(u)),a&&typeof a.clear=="function"&&a.clear()},keepUnusedDataFor:q}),getListItemsInfinite:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!(e.hasNextPage||e.hasPreviousPage)||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{sortBy:r,desc:n,...a}=t,{cursor:u}=e,o={...a,first:b,after:u||void 0};o.after=u||void 0,o.first=b,r&&(o.sortBy=r,n&&(o.before=u||void 0,o.after=void 0,o.last=b,o.first=void 0));const y=await i.dispatch(P.endpoints.GetListItems.initiate(o,{forceRefetch:!0}));return y.error?{error:y.error}:{data:y.data||{items:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:(t,e,{listId:i,projectName:r})=>[{type:"entityListItem",id:"LIST"},{type:"entityListItem",id:i},{type:"entityListItem",id:r},...(t?.pages.flatMap(n=>n.items)||[]).filter(n=>!!n).flatMap(n=>[{type:"entityListItem",id:n.id},{type:"entityListItem",id:n.entityId}])],async onCacheEntryAdded(t,{cacheDataLoaded:e,cacheEntryRemoved:i,dispatch:r,updateCachedData:n}){let a,u,o;try{const f=(await e).data.pages.flatMap(d=>d.items)[0]?.entityType;o=O.subscribeToThumbnailUpdates(d=>{n(g=>{g?.pages&&d.forEach(L=>{g.pages.forEach(l=>{(l.items||[]).forEach(T=>{T.entityId===L.summary.entityId&&T.entityType===L.summary.entityType&&L.summary.thumbnailHash&&(T.thumbnailHash=L.summary.thumbnailHash)})})})})});const I="entity_list.changed",c=`entity.${f}`,m=d=>{r(R.api.util.invalidateTags([{type:"entityListItem",id:d}]))},E=(d,g)=>{if(d!==I)return;const l=g.summary.id;l&&m(l)},C=(d,g)=>{if(!d.startsWith(c))return;const l=g.summary.entityId;l&&m(l)};a=h.subscribe(I,E),f&&(u=h.subscribe(c,C))}catch{}await i,h.unsubscribe(a),h.unsubscribe(u),o&&o()},keepUnusedDataFor:q}),getListsItemsForReviewSession:s.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},i)=>{try{const{cursor:r}=e,n={...t,first:v,after:r||void 0},a=await i.dispatch(P.endpoints.GetListsItemsForReviewSession.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>[{type:"entityList",id:"LIST"},...(t?.pages.flatMap(e=>e.lists)||[]).map(e=>({type:"entityList",id:e.id}))],keepUnusedDataFor:q})})}),w=Q.api.enhanceEndpoints({endpoints:{getEntityList:{providesTags:(s,t,{listId:e,projectName:i})=>[{type:"entityList",id:e},{type:"entityList",id:i},...s?[{type:"entityList",id:s.entityListType},{type:"entityList",id:s.entityListFolderId||"NO_FOLDER"}]:[]],keepUnusedDataFor:q}}}),{useGetListsInfiniteInfiniteQuery:A,useGetListItemsInfiniteInfiniteQuery:N,useGetListsItemsForReviewSessionInfiniteQuery:j,useLazyGetListsItemsForReviewSessionQuery:k,useLazyGetListItemsQuery:x}=G,{useGetEntityListQuery:D}=w;exports.LISTS_PER_PAGE=v;exports.LIST_ITEMS_PER_PAGE=b;exports.createBatchedCacheUpdater=S;exports.default=G;exports.getListsApiEnhanced=w;exports.useGetEntityListQuery=D;exports.useGetListItemsInfiniteInfiniteQuery=N;exports.useGetListsInfiniteInfiniteQuery=A;exports.useGetListsItemsForReviewSessionInfiniteQuery=j;exports.useLazyGetListItemsQuery=x;exports.useLazyGetListsItemsForReviewSessionQuery=k;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const S=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");const Q=require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const A=require("../overview/getOverview.cjs.js");require("../overview/updateOverview.cjs.js");require("../versions/getVersionsProducts.cjs.js");require("../links/getEntityLinks.cjs.js");require("lodash");require("react-toastify");require("uuid");const M=require("../../../util/thumbnailWebsocket.cjs.js");require("../actions/getActions.cjs.js");require("../activities/getActivities.cjs.js");require("../activities/updateReaction.cjs.js");require("../activities/getMentions.cjs.js");require("../activities/getCategories.cjs.js");require("../addons/getAddons.cjs.js");require("../addons/updateAddons.cjs.js");require("../attributes/getAttributes.cjs.js");require("../attributes/updateAttributes.cjs.js");require("../authentication/getAuthentication.cjs.js");require("../bundles/getBundles.cjs.js");require("../bundles/updateBundles.cjs.js");require("../cloud/cloud.cjs.js");require("../columnStats/metricTargets.cjs.js");require("../columnStats/groupCounts.cjs.js");require("../config/getConfig.cjs.js");require("../config/updateConfig.cjs.js");require("../entities/getEntity.cjs.js");require("../entities/getEntityPanel.cjs.js");require("../entities/updateEntity.cjs.js");require("./updateLists.cjs.js");require("./getListsAttributes.cjs.js");require("./listItemsColumnStats.cjs.js");require("./updateListsAttributes.cjs.js");require("./listFolders.cjs.js");require("../folders/getFolders.cjs.js");require("../folders/getFolderDeleteInfo.cjs.js");require("../grouping/getGrouping.cjs.js");require("../links/updateLinks.cjs.js");require("../links/getLinks.cjs.js");require("../permissions/getPermissions.cjs.js");require("../products/createProduct.cjs.js");require("../products/getFolderProducts.cjs.js");require("../project/getProject.cjs.js");require("../project/updateProject.cjs.js");require("../projectFolders/projectFolders.cjs.js");require("../review/getReview.cjs.js");require("../review/updateReview.cjs.js");require("../share/share.cjs.js");require("../system/getSystem.cjs.js");require("../tasks/getTasks.cjs.js");require("../tasks/updateTasks.cjs.js");require("../teams/getTeams.cjs.js");require("../userDashboard/getUserDashboard.cjs.js");require("../users/getUsers.cjs.js");require("../users/updateUsers.cjs.js");require("../users/guests.cjs.js");require("../versions/updateVersions.cjs.js");require("../views/getViews.cjs.js");require("../views/updateViews.cjs.js");require("../watchers/getWatchers.cjs.js");require("../uris/getUris.cjs.js");const F=require("../../../util/realtimeUpdatesUtils.cjs.js"),h=require("../../../util/pubsub.cjs.js"),m=10,R=i=>{if(!i)return{};try{return typeof i!="string"?i??{}:JSON.parse(i)}catch(t){return console.warn("Failed to parse entity list data field:",t,i),{}}},v=1e4,_=100,P=S.api.enhanceEndpoints({endpoints:{GetLists:{transformResponse:i=>({lists:i.project.entityLists.edges.map(t=>({...t.node,data:R(t.node.data),attrib:R(t.node.allAttrib)})),pageInfo:i.project.entityLists.pageInfo}),keepUnusedDataFor:m},GetListItems:{transformResponse:i=>{const t=i.project.entityLists.edges[0];if(!t)throw new Error("List does not exist, was it deleted?");return{items:i.project.entityLists.edges.flatMap(e=>e.node.items.edges.map(({node:s,...r})=>({...s,...r,attrib:A.parseJSONField(r.allAttrib)}))),pageInfo:t.node.items.pageInfo}},keepUnusedDataFor:m},GetListsItemsForReviewSession:{transformResponse:i=>({lists:i.project.entityLists.edges.map(t=>t.node),pageInfo:i.project.entityLists.pageInfo}),keepUnusedDataFor:m}}}),G=P.injectEndpoints({endpoints:i=>({getListsInfinite:i.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},s)=>{try{const{cursor:r}=e,u={...t,first:v,after:r||void 0},o=await s.dispatch(P.endpoints.GetLists.initiate(u,{forceRefetch:!0}));return o.error?{error:o.error}:{data:o.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>{const e=t?.pages.flatMap(s=>s.lists)||[];return[{type:"entityList",id:"LIST"},...e.flatMap(s=>[{type:"entityList",id:s.id},{type:"entityList",id:s.entityListType},{type:"entityList",id:s.entityListFolderId||"NO_FOLDER"}])]},async onCacheEntryAdded({projectName:t},{cacheDataLoaded:e,cacheEntryRemoved:s,updateCachedData:r}){const u=new Set(["entity_list.changed","entity_list.created","entity_list.deleted"]);let o;const d=F.createRealtimeBatcher(n=>{r(a=>{n.forEach(({topic:y,message:E})=>{const p=E.summary,g=p.id;if(!g)return;const b=c=>({projectName:t,tags:[],data:{},allAttrib:"",attrib:{},createdAt:new Date().toISOString(),updatedAt:"",active:!0,access:"",accessLevel:30,...c||{},id:p.id,label:p.label,entityType:p.entity_type,entityListType:p.entity_list_type,count:p.count,entityListFolderId:p.entity_list_folder_id??null,updatedBy:E.createdAt,owner:c?.owner||""});if(y==="entity_list.changed"){const c=a.pages.flatMap(q=>q.lists).find(q=>q.id===g);if(!c)return;Object.assign(c,b(c))}else y==="entity_list.created"?a.pages.length!==0&&a.pages[0].lists.unshift(b()):y==="entity_list.deleted"&&a.pages.forEach(c=>{c.lists=c.lists.filter(q=>q.id!==g)})})})},({topic:n,message:a})=>`${n}:${a.summary?.id??""}`);try{await e;const n=(a,y)=>{!u.has(a)||!y?.summary?.id||d.add({topic:a,message:y})};o=h.subscribe("entity_list",n)}catch{}await s,h.unsubscribe(o),d.clear()},keepUnusedDataFor:m}),getListItemsInfinite:i.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!(e.hasNextPage||e.hasPreviousPage)||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},s)=>{try{const{sortBy:r,desc:u,...o}=t,{cursor:d}=e,n={...o,first:_,after:d||void 0};n.after=d||void 0,n.first=_,r&&(n.sortBy=r,u&&(n.before=d||void 0,n.after=void 0,n.last=_,n.first=void 0));const a=await s.dispatch(P.endpoints.GetListItems.initiate(n,{forceRefetch:!0}));return a.error?{error:a.error}:{data:a.data||{items:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:(t,e,{listId:s,projectName:r})=>[{type:"entityListItem",id:"LIST"},{type:"entityListItem",id:s},{type:"entityListItem",id:r},...(t?.pages.flatMap(u=>u.items)||[]).filter(u=>!!u).flatMap(u=>[{type:"entityListItem",id:u.id},{type:"entityListItem",id:u.entityId}])],async onCacheEntryAdded(t,{cacheDataLoaded:e,cacheEntryRemoved:s,dispatch:r,updateCachedData:u}){let o,d;const n=F.createRealtimeBatcher(y=>{r(S.api.util.invalidateTags(y.map(({id:E})=>({type:"entityListItem",id:E}))))},({id:y})=>y);let a;try{const g=(await e).data.pages.flatMap(l=>l.items)[0]?.entityType;a=M.subscribeToThumbnailUpdates(l=>{u(L=>{L?.pages&&l.forEach(I=>{L.pages.forEach(f=>{(f.items||[]).forEach(T=>{T.entityId===I.summary.entityId&&T.entityType===I.summary.entityType&&I.summary.thumbnailHash&&(T.thumbnailHash=I.summary.thumbnailHash)})})})})});const b="entity_list.changed",c=`entity.${g}`,q=(l,L)=>{if(l!==b)return;const f=L.summary.id;f&&n.add({id:f})},C=(l,L)=>{if(!l.startsWith(c))return;const f=L.summary.entityId;f&&n.add({id:f})};o=h.subscribe(b,q),g&&(d=h.subscribe(c,C))}catch{}await s,h.unsubscribe(o),h.unsubscribe(d),a&&a(),n.clear()},keepUnusedDataFor:m}),getListsItemsForReviewSession:i.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:""},getNextPageParam:t=>{const{pageInfo:e}=t;if(!(!e.hasNextPage||!e.endCursor))return{cursor:e.endCursor}}},queryFn:async({queryArg:t,pageParam:e},s)=>{try{const{cursor:r}=e,u={...t,first:v,after:r||void 0},o=await s.dispatch(P.endpoints.GetListsItemsForReviewSession.initiate(u,{forceRefetch:!0}));return o.error?{error:o.error}:{data:o.data||{lists:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}}}}catch(r){return console.error("Error in getListsInfinite queryFn:",r),{error:{status:"FETCH_ERROR",error:r.message}}}},providesTags:t=>[{type:"entityList",id:"LIST"},...(t?.pages.flatMap(e=>e.lists)||[]).map(e=>({type:"entityList",id:e.id}))],keepUnusedDataFor:m})})}),w=Q.api.enhanceEndpoints({endpoints:{getEntityList:{providesTags:(i,t,{listId:e,projectName:s})=>[{type:"entityList",id:e},{type:"entityList",id:s},...i?[{type:"entityList",id:i.entityListType},{type:"entityList",id:i.entityListFolderId||"NO_FOLDER"}]:[]],keepUnusedDataFor:m}}}),{useGetListsInfiniteInfiniteQuery:O,useGetListItemsInfiniteInfiniteQuery:N,useGetListsItemsForReviewSessionInfiniteQuery:k,useLazyGetListsItemsForReviewSessionQuery:j,useLazyGetListItemsQuery:x}=G,{useGetEntityListQuery:D}=w;exports.LISTS_PER_PAGE=v;exports.LIST_ITEMS_PER_PAGE=_;exports.default=G;exports.getListsApiEnhanced=w;exports.useGetEntityListQuery=D;exports.useGetListItemsInfiniteInfiniteQuery=N;exports.useGetListsInfiniteInfiniteQuery=O;exports.useGetListsItemsForReviewSessionInfiniteQuery=k;exports.useLazyGetListItemsQuery=x;exports.useLazyGetListsItemsForReviewSessionQuery=j;
|
|
2
2
|
//# sourceMappingURL=getLists.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLists.cjs.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n EntityList,\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseJSONField } from '../overview'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\nconst CACHE_TIME = 10 // seconds\n\n// Helper function to batch pub/sub messages to avoid constant cache updates\nexport function createBatchedCacheUpdater<TMessage, TDraft>(\n updateCachedData: (updater: (draft: TDraft) => void) => void,\n applyBatch: (draft: TDraft, batch: { topic: string; message: TMessage }[]) => void,\n delay = 5000,\n) {\n let queue: { topic: string; message: TMessage }[] = []\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const handler = (topic: string, message: TMessage) => {\n queue.push({ topic, message })\n if (!timeout) {\n timeout = setTimeout(() => {\n const batch = [...queue]\n queue = []\n timeout = null\n if (batch.length > 0) {\n updateCachedData((draft) => applyBatch(draft, batch))\n }\n }, delay)\n }\n }\n\n handler.clear = () => {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n queue = []\n }\n\n return handler\n}\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseJSON = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e, data)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 10000\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseJSON(edge.node.data),\n attrib: parseJSON(edge.node.allAttrib),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n const firstEdge = response.project.entityLists.edges[0]\n if (!firstEdge) {\n throw new Error('List does not exist, was it deleted?')\n }\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseJSONField(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: firstEdge.node.items.pageInfo,\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) {\n // Preserve original error (e.g. 403) so the UI can react accordingly\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => {\n const lists = result?.pages.flatMap((page) => page.lists) || []\n return [\n { type: 'entityList', id: 'LIST' },\n ...lists.flatMap((list) => [\n { type: 'entityList' as const, id: list.id },\n { type: 'entityList' as const, id: list.entityListType },\n { type: 'entityList' as const, id: list.entityListFolderId || 'NO_FOLDER' },\n ]),\n ]\n },\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData },\n ) {\n const topics = ['entity_list.changed', 'entity_list.created', 'entity_list.deleted']\n let handlePubSub: any = null\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n handlePubSub = createBatchedCacheUpdater<ListItemMessage, any>(\n updateCachedData,\n (draft, batch) => {\n batch.forEach(({ topic, message }) => {\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n const getListFromSummary = (list?: EntityList): EntityList => {\n return {\n // defaults\n projectName: projectName,\n tags: [],\n data: {},\n allAttrib: '',\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: '',\n active: true,\n access: '',\n accessLevel: 30, // default admin\n // existing data\n ...(list || {}),\n // new data\n id: summary.id as string,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n }\n }\n\n if (topic === 'entity_list.changed') {\n // update the data of existing list in cache\n const list = draft.pages\n .flatMap((page: any) => page.lists)\n .find((l: any) => l.id === id)\n if (!list) return\n const newList = getListFromSummary(list)\n\n Object.assign(list, newList)\n } else if (topic === 'entity_list.created') {\n // Add new list to the cache using basic summary\n const newList = getListFromSummary()\n // Insert the new list at the beginning of the first page\n if (draft.pages.length !== 0) {\n draft.pages[0].lists.unshift(newList)\n }\n } else if (topic === 'entity_list.deleted') {\n // delete the list from the cache\n draft.pages.forEach((page: any) => {\n page.lists = page.lists.filter((l: any) => l.id !== id)\n })\n }\n })\n },\n 10000, // 10 seconds debounce/batch window\n )\n\n topics.forEach((topic) => 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 topics.forEach((t) => PubSub.unsubscribe(t))\n if (handlePubSub && typeof handlePubSub.clear === 'function') handlePubSub.clear()\n },\n keepUnusedDataFor: CACHE_TIME,\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n // ascending paginates via hasNextPage, descending (last/before) via\n // hasPreviousPage — the backend only sets one depending on direction\n const hasMore = pageInfo.hasNextPage || pageInfo.hasPreviousPage\n if (!hasMore || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token, token2\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft?.pages) return\n messages.forEach((message) => {\n draft.pages.forEach((page: any) => {\n const pageItems = page.items || []\n pageItems.forEach((item: any) => {\n if (\n item.entityId === message.summary.entityId &&\n item.entityType === message.summary.entityType &&\n message.summary.thumbnailHash\n ) {\n item.thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n })\n })\n },\n )\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const invalidateListItems = (id: string) => {\n dispatch(gqlApi.util.invalidateTags([{ type: 'entityListItem', id: id }]))\n }\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n invalidateListItems(id)\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n invalidateListItems(id)\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\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 PubSub.unsubscribe(token2)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n keepUnusedDataFor: CACHE_TIME,\n }),\n }),\n})\n\nexport const getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result\n ? [\n { type: 'entityList', id: result.entityListType },\n {\n type: 'entityList',\n id: result.entityListFolderId || 'NO_FOLDER',\n },\n ]\n : []),\n ],\n keepUnusedDataFor: CACHE_TIME,\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["CACHE_TIME","createBatchedCacheUpdater","updateCachedData","applyBatch","delay","queue","timeout","handler","topic","message","batch","draft","parseJSON","data","e","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","firstEdge","listEdge","node","parseJSONField","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","lists","page","list","projectName","cacheDataLoaded","cacheEntryRemoved","topics","handlePubSub","summary","id","getListFromSummary","l","newList","PubSub","t","sortBy","desc","rest","_e","listId","i","item","_args","dispatch","token","token2","unsubscribeThumbnails","entityType","subscribeToThumbnailUpdates","messages","listTopic","entityTypeTopic","invalidateListItems","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getLists.cjs.js","sources":["../../../../../../src/api/queries/entityLists/getLists.ts"],"sourcesContent":["import { entityListsApi, gqlApi } from '@shared/api/generated'\nimport {\n FetchBaseQueryError,\n DefinitionsFromApi,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport type {\n EntityList,\n GetListItemsQuery,\n GetListItemsQueryVariables,\n GetListsItemsForReviewSessionQuery,\n GetListsItemsForReviewSessionResult,\n GetListsQuery,\n GetListsQueryVariables,\n} from '@shared/api'\nimport { parseJSONField } from '../overview'\nimport {\n createRealtimeBatcher,\n PubSub,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n} from '@shared/util'\nimport {\n GetListItemsResult,\n GetListsResult,\n ListItemMessage,\n ListItemsPageParam,\n ListsPageParam,\n} from './types'\n\nconst CACHE_TIME = 10 // seconds\n\n// Helper function to safely parse entity list data field from JSON string to object\nconst parseJSON = (data: string | null | undefined): Record<string, any> => {\n if (!data) return {}\n\n try {\n if (typeof data !== 'string') {\n return (data as unknown as Record<string, any>) ?? {}\n }\n return JSON.parse(data)\n } catch (e) {\n console.warn('Failed to parse entity list data field:', e, data)\n return {}\n }\n}\n\n// GRAPHQL API (getLists and getListItems)\n// Define the LISTS_PER_PAGE constant for pagination\nexport const LISTS_PER_PAGE = 10000\nexport const LIST_ITEMS_PER_PAGE = 100\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetLists' | 'GetListItems'> & {\n GetLists: OverrideResultType<Definitions['GetLists'], GetListsResult>\n GetListItems: OverrideResultType<Definitions['GetListItems'], GetListItemsResult>\n GetListsItemsForReviewSession: OverrideResultType<\n Definitions['GetListsItemsForReviewSession'],\n GetListsItemsForReviewSessionResult\n >\n}\n\nconst getListsGqlApiEnhanced = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetLists: {\n transformResponse: (response: GetListsQuery): GetListsResult => {\n return {\n // @ts-expect-error - entityType is string\n lists: response.project.entityLists.edges.map((edge) => ({\n ...edge.node,\n data: parseJSON(edge.node.data),\n attrib: parseJSON(edge.node.allAttrib),\n })),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n GetListItems: {\n transformResponse: (response: GetListItemsQuery): GetListItemsResult => {\n const firstEdge = response.project.entityLists.edges[0]\n if (!firstEdge) {\n throw new Error('List does not exist, was it deleted?')\n }\n return {\n items: response.project.entityLists.edges.flatMap((listEdge) =>\n listEdge.node.items.edges.map(({ node, ...edge }) => {\n return {\n ...node,\n ...edge,\n attrib: parseJSONField(edge.allAttrib),\n } as GetListItemsResult['items'][number]\n }),\n ),\n pageInfo: firstEdge.node.items.pageInfo,\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n GetListsItemsForReviewSession: {\n transformResponse: (\n response: GetListsItemsForReviewSessionQuery,\n ): GetListsItemsForReviewSessionResult => {\n return {\n lists: response.project.entityLists.edges.map((edge) => edge.node),\n pageInfo: response.project.entityLists.pageInfo,\n }\n },\n keepUnusedDataFor: CACHE_TIME,\n },\n },\n})\n\nconst getListsGqlApiInjected = getListsGqlApiEnhanced.injectEndpoints({\n endpoints: (build) => ({\n getListsInfinite: build.infiniteQuery<\n GetListsResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetLists.initiate(queryParams, { forceRefetch: true }),\n )\n\n if (result.error) {\n // Preserve original error (e.g. 403) so the UI can react accordingly\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => {\n const lists = result?.pages.flatMap((page) => page.lists) || []\n return [\n { type: 'entityList', id: 'LIST' },\n ...lists.flatMap((list) => [\n { type: 'entityList' as const, id: list.id },\n { type: 'entityList' as const, id: list.entityListType },\n { type: 'entityList' as const, id: list.entityListFolderId || 'NO_FOLDER' },\n ]),\n ]\n },\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, updateCachedData },\n ) {\n const topics = new Set([\n 'entity_list.changed',\n 'entity_list.created',\n 'entity_list.deleted',\n ])\n let token: any\n\n const batcher = createRealtimeBatcher(\n (batch: { topic: string; message: ListItemMessage }[]) => {\n updateCachedData((draft: any) => {\n batch.forEach(({ topic, message }) => {\n const summary = message.summary\n const id = summary.id\n if (!id) return\n\n const getListFromSummary = (list?: EntityList): EntityList => {\n return {\n projectName: projectName,\n tags: [],\n data: {},\n allAttrib: '',\n attrib: {},\n createdAt: new Date().toISOString(),\n updatedAt: '',\n active: true,\n access: '',\n accessLevel: 30,\n ...(list || {}),\n id: summary.id as string,\n label: summary.label,\n entityType: summary.entity_type,\n entityListType: summary.entity_list_type,\n count: summary.count,\n entityListFolderId: summary.entity_list_folder_id ?? null,\n updatedBy: message.createdAt, // estimate the event creation time is about the same as list updated at\n owner: list?.owner || '', // mainly to shut up typescript\n }\n }\n\n if (topic === 'entity_list.changed') {\n const list = draft.pages\n .flatMap((page: any) => page.lists)\n .find((item: any) => item.id === id)\n if (!list) return\n Object.assign(list, getListFromSummary(list))\n } else if (topic === 'entity_list.created') {\n if (draft.pages.length !== 0) {\n draft.pages[0].lists.unshift(getListFromSummary())\n }\n } else if (topic === 'entity_list.deleted') {\n draft.pages.forEach((page: any) => {\n page.lists = page.lists.filter((item: any) => item.id !== id)\n })\n }\n })\n })\n },\n ({ topic, message }) => `${topic}:${message.summary?.id ?? ''}`,\n )\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n const handlePubSub = (topic: string, message: ListItemMessage) => {\n if (!topics.has(topic) || !message?.summary?.id) return\n batcher.add({ topic, message })\n }\n\n token = PubSub.subscribe('entity_list', 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 batcher.clear()\n },\n keepUnusedDataFor: CACHE_TIME,\n }),\n getListItemsInfinite: build.infiniteQuery<\n GetListItemsResult,\n Omit<GetListItemsQueryVariables, 'first' | 'after' | 'before' | 'last'> & { desc?: boolean },\n ListItemsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n // ascending paginates via hasNextPage, descending (last/before) via\n // hasPreviousPage — the backend only sets one depending on direction\n const hasMore = pageInfo.hasNextPage || pageInfo.hasPreviousPage\n if (!hasMore || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams: GetListItemsQueryVariables = {\n ...rest,\n first: LIST_ITEMS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Add cursor-based pagination\n queryParams.after = cursor || undefined\n queryParams.first = LIST_ITEMS_PER_PAGE\n\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.after = undefined\n queryParams.last = LIST_ITEMS_PER_PAGE\n queryParams.first = undefined\n }\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListItems.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n items: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityListItem', id: 'LIST' },\n { type: 'entityListItem', id: listId },\n { type: 'entityListItem', id: projectName },\n ...(result?.pages.flatMap((page) => page.items) || [])\n .filter((i) => !!i)\n .flatMap((item) => [\n {\n type: 'entityListItem',\n id: item.id,\n },\n {\n type: 'entityListItem',\n id: item.entityId,\n },\n ]),\n ],\n async onCacheEntryAdded(\n _args,\n { cacheDataLoaded, cacheEntryRemoved, dispatch, updateCachedData },\n ) {\n let token, token2\n const batcher = createRealtimeBatcher(\n (items: { id: string }[]) => {\n dispatch(\n gqlApi.util.invalidateTags(items.map(({ id }) => ({ type: 'entityListItem', id }))),\n )\n },\n ({ id }) => id,\n )\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n const cache = await cacheDataLoaded\n const pages = cache.data.pages\n const items = pages.flatMap((page) => page.items)\n // get entityType of first item\n const entityType = items[0]?.entityType\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n updateCachedData((draft: any) => {\n if (!draft?.pages) return\n messages.forEach((message) => {\n draft.pages.forEach((page: any) => {\n const pageItems = page.items || []\n pageItems.forEach((item: any) => {\n if (\n item.entityId === message.summary.entityId &&\n item.entityType === message.summary.entityType &&\n message.summary.thumbnailHash\n ) {\n item.thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n })\n })\n },\n )\n\n const listTopic = `entity_list.changed`\n const entityTypeTopic = `entity.${entityType}`\n\n const handleListMessage = (topic: string, message: ListItemMessage) => {\n if (topic !== listTopic) return\n const summary = message.summary\n const id = summary.id\n if (!id) return\n batcher.add({ id })\n }\n\n const handleEntityMessage = (topic: string, message: ListItemMessage) => {\n if (!topic.startsWith(entityTypeTopic)) return\n const summary = message.summary\n const id = summary.entityId\n // check for id\n if (!id) return\n batcher.add({ id })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe(listTopic, handleListMessage)\n if (entityType) token2 = PubSub.subscribe(entityTypeTopic, handleEntityMessage)\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 PubSub.unsubscribe(token2)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n keepUnusedDataFor: CACHE_TIME,\n }),\n getListsItemsForReviewSession: build.infiniteQuery<\n GetListsItemsForReviewSessionResult,\n Omit<GetListsQueryVariables, 'first' | 'after' | 'before' | 'filter'>,\n ListsPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage) => {\n const { pageInfo } = lastPage\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { cursor } = pageParam\n\n // Build the query parameters for GetLists\n const queryParams = {\n ...queryArg,\n first: LISTS_PER_PAGE,\n after: cursor || undefined,\n }\n\n // Call the existing GetLists endpoint\n const result = await api.dispatch(\n getListsGqlApiEnhanced.endpoints.GetListsItemsForReviewSession.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) {\n return { error: result.error as FetchBaseQueryError }\n }\n\n return {\n data: result.data || {\n lists: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n },\n }\n } catch (e: any) {\n console.error('Error in getListsInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n providesTags: (result) => [\n { type: 'entityList', id: 'LIST' },\n ...(result?.pages.flatMap((page) => page.lists) || []).map((list) => ({\n type: 'entityList' as const,\n id: list.id,\n })),\n ],\n keepUnusedDataFor: CACHE_TIME,\n }),\n }),\n})\n\nexport const getListsApiEnhanced = entityListsApi.enhanceEndpoints({\n endpoints: {\n getEntityList: {\n providesTags: (result, _e, { listId, projectName }) => [\n { type: 'entityList', id: listId },\n { type: 'entityList', id: projectName },\n ...(result\n ? [\n { type: 'entityList', id: result.entityListType },\n {\n type: 'entityList',\n id: result.entityListFolderId || 'NO_FOLDER',\n },\n ]\n : []),\n ],\n keepUnusedDataFor: CACHE_TIME,\n },\n },\n})\n\nexport default getListsGqlApiInjected\n\nexport const {\n useGetListsInfiniteInfiniteQuery,\n useGetListItemsInfiniteInfiniteQuery,\n useGetListsItemsForReviewSessionInfiniteQuery,\n useLazyGetListsItemsForReviewSessionQuery,\n useLazyGetListItemsQuery,\n} = getListsGqlApiInjected\n\nexport const { useGetEntityListQuery } = getListsApiEnhanced\n"],"names":["CACHE_TIME","parseJSON","data","e","LISTS_PER_PAGE","LIST_ITEMS_PER_PAGE","getListsGqlApiEnhanced","gqlApi","response","edge","firstEdge","listEdge","node","parseJSONField","getListsGqlApiInjected","build","lastPage","pageInfo","queryArg","pageParam","api","cursor","queryParams","result","lists","page","list","projectName","cacheDataLoaded","cacheEntryRemoved","updateCachedData","topics","token","batcher","createRealtimeBatcher","batch","draft","topic","message","summary","id","getListFromSummary","item","handlePubSub","PubSub","sortBy","desc","rest","_e","listId","i","_args","dispatch","token2","items","unsubscribeThumbnails","entityType","subscribeToThumbnailUpdates","messages","listTopic","entityTypeTopic","handleListMessage","handleEntityMessage","getListsApiEnhanced","entityListsApi","useGetListsInfiniteInfiniteQuery","useGetListItemsInfiniteInfiniteQuery","useGetListsItemsForReviewSessionInfiniteQuery","useLazyGetListsItemsForReviewSessionQuery","useLazyGetListItemsQuery","useGetEntityListQuery"],"mappings":"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"}
|