@ynput/ayon-frontend-shared 0.4.0 → 0.4.2
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 +37 -198
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +248 -496
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +31 -230
- package/dist/Slicer.es.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 +131 -126
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +33 -128
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +45 -25
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +54 -34
- 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/actions/getActions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.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/getCategories.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.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 -201
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.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 -142
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.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 +151 -202
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.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 +80 -129
- 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 +111 -167
- 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/links/updateLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.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 +344 -345
- 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/products/getFolderProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +105 -86
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.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 +151 -184
- 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 +486 -490
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
- package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
- package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.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 +3 -3
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -307
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +27 -180
- 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 +9 -192
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -197
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -313
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.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 +13 -311
- 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 +86 -270
- 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 +34 -332
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/EntityPath.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 +15 -307
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.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 +89 -290
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -343
- 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 +7 -209
- 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 +2 -202
- 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 +4 -182
- 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 +48 -340
- 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 +20 -313
- 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 +74 -370
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -312
- 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 +48 -343
- 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 +226 -368
- 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 -375
- 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 +3 -296
- 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 +34 -331
- 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 +30 -328
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -369
- 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 +114 -312
- 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 +66 -362
- 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 +14 -313
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -323
- 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 +441 -523
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -326
- 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 +4 -4
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -352
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -391
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
- package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -331
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -297
- 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 +61 -259
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -207
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.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 +51 -247
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.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 +20 -320
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.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 +143 -324
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
- 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 +27 -326
- 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 +39 -233
- 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 +65 -252
- 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 +16 -314
- 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 +61 -351
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -303
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.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 +2 -199
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.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.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
- 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 +18 -317
- 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 +13 -214
- 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 +22 -320
- 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 -304
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -206
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -370
- 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 +20 -321
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -335
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -315
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -225
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.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 +65 -242
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.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 +8 -306
- 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 +145 -418
- 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 +18 -314
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.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 +42 -328
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.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 +227 -369
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.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 +38 -338
- 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 +22 -321
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -321
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
- package/dist/shared/src/containers/Feed/components/CommentInput/types.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 +63 -359
- 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 +57 -353
- 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 +14 -307
- 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 +34 -235
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +116 -282
- 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 +58 -188
- 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 +46 -340
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
- package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -456
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/TypeEditor.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 +117 -311
- 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 +603 -869
- 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 +605 -579
- 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 +75 -372
- 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 +32 -201
- 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 +28 -122
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +107 -299
- 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 +334 -515
- 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 +158 -329
- 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 +4 -205
- 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 +121 -418
- 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 +73 -244
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -314
- 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 +60 -231
- 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 +75 -246
- 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 +149 -438
- 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 +25 -196
- 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 +32 -203
- 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 +32 -329
- 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 +174 -371
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.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 +29 -200
- 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 +36 -201
- 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 +78 -279
- 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 +31 -229
- 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 -196
- 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 +39 -221
- 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 +167 -464
- 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 +41 -212
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.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/getEntityViewerIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
- 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/utils/getTypeDefaultValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -312
- 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 +121 -399
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -329
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.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 +198 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +50 -343
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -361
- 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 +28 -199
- 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 +36 -330
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -421
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +80 -176
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -214
- 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 +231 -524
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -364
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -315
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -325
- 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 +69 -367
- 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 +27 -225
- 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 +34 -233
- 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 +5 -306
- 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 +7 -308
- 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 +11 -311
- 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 +13 -313
- 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 +34 -335
- 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 +11 -313
- 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 +72 -365
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.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 +35 -333
- 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 +55 -351
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -332
- 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 +59 -259
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.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 +22 -213
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/types.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.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 +66 -359
- 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 +79 -356
- 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 +42 -341
- 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 +26 -228
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -321
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +2 -2
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +28 -226
- 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 +2 -205
- 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 +11 -311
- 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 +30 -330
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.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 +6 -209
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
- package/dist/shared/src/util/checkName.cjs.js.map +1 -1
- package/dist/shared/src/util/checkName.es.js.map +1 -1
- package/dist/shared/src/util/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/getBundleMode.cjs.js +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.es.js +16 -112
- package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
- package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/iconUtils.es.js.map +1 -1
- package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
- package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
- package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
- package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
- package/dist/shared/src/util/parseFilename.cjs.js +2 -0
- package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
- package/dist/shared/src/util/parseFilename.es.js +8 -0
- package/dist/shared/src/util/parseFilename.es.js.map +1 -0
- 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/shared/src/util/uriUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/uriUtils.es.js.map +1 -1
- package/dist/types/api/base/index.d.ts +1 -1
- package/dist/types/api/generated/graphql.d.ts +50 -4
- package/dist/types/api/generated/graphqlLinks.d.ts +15 -2
- package/dist/types/api/generated/views.d.ts +13 -4
- package/dist/types/api/queries/activities/getActivities.d.ts +28 -2
- package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -4
- package/dist/types/api/queries/entities/getEntity.d.ts +14 -1
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +14 -1
- package/dist/types/api/queries/entities/updateEntity.d.ts +14 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +317 -312
- package/dist/types/api/queries/entityLists/types.d.ts +7 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +49 -20
- package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
- package/dist/types/api/queries/project/getProject.d.ts +74 -61
- package/dist/types/api/queries/system/getSystem.d.ts +1 -1
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +14 -1
- package/dist/types/api/queries/users/getUsers.d.ts +14 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +159 -2
- package/dist/types/api/queries/views/getViews.d.ts +1 -1
- package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
- package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
- package/dist/types/components/Menu/Menu.d.ts +1 -1
- package/dist/types/components/Menu/MenuList.d.ts +1 -1
- package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +10 -2
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
- package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +5 -3
- package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
- package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
- package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
- package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
- package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +6 -3
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
- package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/config/plannerFeatures.d.ts +1 -1
- package/dist/types/config/powerpackFeatures.d.ts +1 -1
- package/dist/types/containers/Actions/Actions.d.ts +2 -2
- package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
- package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
- package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
- package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
- package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
- package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
- package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
- package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
- 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/getEntityViewerIds.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
- 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/utils/linksToTableData.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
- package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
- package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
- package/dist/types/containers/Slicer/types.d.ts +1 -1
- package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
- package/dist/types/containers/Views/types.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +1 -1
- package/dist/types/context/AddonProjectContext.d.ts +2 -2
- package/dist/types/context/DetailsPanelContext.d.ts +2 -2
- package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
- package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
- package/dist/types/util/buildHierarchicalTableRows.d.ts +1 -1
- package/dist/types/util/columnConfigConverter.d.ts +1 -1
- package/dist/types/util/getBundleMode.d.ts +1 -1
- package/dist/types/util/getGroupByDataType.d.ts +1 -1
- package/dist/types/util/index.d.ts +2 -0
- package/dist/types/util/mentionTypeOptions.d.ts +12 -0
- package/dist/types/util/parseFilename.d.ts +1 -0
- package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
- package/dist/types/util/uriUtils.d.ts +1 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +52 -47
- package/dist/util.es.js.map +1 -1
- package/package.json +4 -4
- package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
- package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
- package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchTableLatestComments.cjs.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (method === 'create'
|
|
1
|
+
{"version":3,"file":"patchTableLatestComments.cjs.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api/generated/graphql'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (\n method === 'create' &&\n !(patch?.activityType === 'comment' && patch?.referenceType === 'origin')\n )\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchTableLatestComments.es.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (method === 'create'
|
|
1
|
+
{"version":3,"file":"patchTableLatestComments.es.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api/generated/graphql'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (\n method === 'create' &&\n !(patch?.activityType === 'comment' && patch?.referenceType === 'origin')\n )\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport type { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport type { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: [\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'attrib.change',\n 'tags.change',\n 'subtype.change',\n ],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const D=require("../../../../util/thumbnailWebsocket.cjs.js");require("../../users/updateUsers.cjs.js");const A=require("../../../../util/realtimeUpdatesUtils.cjs.js"),H=require("../../../../util/pubsub.cjs.js"),O=a=>a?a.includes("* [ ]")||a.includes("* [x]"):!1,P=async(a,{updateCachedData:m,cacheDataLoaded:j,cacheEntryRemoved:x,dispatch:T,getCacheEntry:B,gqlApi:g})=>{let p,b;const E=A.createRealtimeBatcher(async(c,l)=>{const o=Array.isArray(a.entityIds)?a.entityIds:[a.entityIds],f=["origin","mention","relation"],r=a.activityTypes,u=Array.isArray(r)?r:r?[r]:[],e=[],R=new Map,w=new Set,I=new Set;c.forEach(({topic:d,message:t})=>{const y=t.summary?.activity_id;if(!y)return;const h=(t.summary?.references||[]).filter(i=>f.includes(i.reference_type)).map(i=>i.entity_id);if(!(!o.some(i=>h.includes(i))&&o.length>0)){if(d==="activity.deleted"){e.push(y);return}t.summary?.activity_type&&(w.add(y),R.set(y,d),h.forEach(i=>I.add(i)))}}),e.length&&m(d=>{d.pages?.forEach(t=>{t.activities=t.activities?.filter(y=>!e.includes(y.activityId))})});const _=[...w];if(_.length)try{await A.waitForRealtimeJitter();const d=c.find(({message:s})=>s.summary?.activity_id),t=await T(g.endpoints.GetActivitiesById.initiate({projectName:d?.message.project||"",activityIds:_,entityIds:[...I]},{forceRefetch:!0}));if("error"in t&&t.error)throw new Error("Failed to fetch activities");if(!l())return;const y=t.data?.activities||[],h=new Map(y.map(s=>[s.activityId,s]));m(s=>{h.forEach((i,S)=>{const q=[i.activityType];if(i.activityType==="comment"&&O(i.body||"")&&q.push("checklist"),u.length>0&&!u.some(v=>q.includes(v)))return;let U=!1;if(s.pages?.forEach(v=>{const n=v.activities?.findIndex(M=>M.activityId===S);n!==void 0&&n!==-1&&v.activities&&(v.activities[n]=i,U=!0)}),!U&&R.get(S)==="activity.created"&&s.pages?.[0]?.activities?.unshift(i),i.activityType!=="status.change"||i.origin?.type!=="version")return;const F=i.origin.id,k=i.activityData?.newValue;k&&s.pages?.forEach(v=>{v.activities?.forEach(n=>{n.activityType==="version.publish"&&n.origin?.id===F&&(n.version||(n.version={}),n.version.status=k)})})})})}catch(d){console.error("[Activity RT] Error fetching activity data for real-time update:",d),T(g.util.invalidateTags([...new Set([...o,...I])].map(t=>({type:"entityActivities",id:t}))))}},({topic:c,message:l})=>`${c}:${l.summary?.activity_id??""}`,500);try{await j,b=D.subscribeToThumbnailUpdates(l=>{if(!B().data?.pages?.length)return;const f=l.reduce((r,u)=>(u.summary.entityType==="version"&&(r[u.summary.entityId]=u.summary.thumbnailHash||""),r),{});Object.keys(f).length!==0&&m(r=>{!r||!r.pages||r.pages.forEach(u=>{u.activities?.forEach(e=>{e.referenceType==="version"&&e.referenceId&&f[e.referenceId]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=f[e.referenceId]),e.origin.type==="version"&&e.origin.id&&f[e.origin.id]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=f[e.origin.id])})})})},["version"]);const c=(l,o)=>{if(!o.summary?.activity_id){console.warn("[Activity RT] Activity message missing activity_id",o);return}E.add({topic:l,message:o})};p=H.subscribe(["activity"],c)}catch(c){console.error("[Activity RT] Error in activity real-time handler setup:",c)}await x,p&&H.unsubscribe(p),b&&b(),E.clear()};exports.handleActivityRealtimeUpdates=P;
|
|
2
2
|
//# sourceMappingURL=activityRealtimeHandler.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activityRealtimeHandler.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { FeedActivity } from '../types'\n\ntype ActivitiesGqlApi = {\n endpoints: {\n GetActivitiesById: {\n initiate: (\n args: { projectName: string; activityIds: string[]; entityIds: string | string[] },\n options?: { forceRefetch?: boolean },\n ) => any\n }\n }\n util: {\n invalidateTags: (tags: { type: string; id: string }[]) => any\n }\n}\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n gqlApi: ActivitiesGqlApi\n}\n\n/**\n * Checks if a comment body contains a checklist\n */\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\n/**\n * Handles real-time activity updates for the infinite query cache\n */\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi,\n }: CacheLifecycleApi,\n) => {\n let token: string | undefined\n let unsubscribeThumbnails: (() => void) | undefined\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 draftData = getCacheEntry().data\n if (!draftData?.pages?.length) return\n\n // Map version ids/entity ids to their new thumbnail hashes\n const versionHashesData = messages.reduce((acc, message) => {\n if (message.summary.entityType === 'version') {\n acc[message.summary.entityId] = message.summary.thumbnailHash || '' // Use empty string if undefined\n }\n return acc\n }, {} as Record<string, string>)\n\n if (Object.keys(versionHashesData).length === 0) return\n\n updateCachedData((draft) => {\n if (!draft || !draft.pages) return\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n // Version hashes in activities exist when Activity is on a version.\n // Or the referenceId points to the version entity.\n if (\n activity.referenceType === 'version' &&\n activity.referenceId &&\n versionHashesData[activity.referenceId] !== undefined\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.thumbnailHash = versionHashesData[activity.referenceId]\n }\n // Add check for entityId as well\n if (\n activity.origin.type === 'version' &&\n activity.origin.id &&\n versionHashesData[activity.origin.id] !== undefined\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.thumbnailHash = versionHashesData[activity.origin.id]\n }\n })\n })\n })\n },\n ['version'],\n )\n\n const handlePubSub = async (topic: string, message: ActivityMessage) => {\n const activityId = message.summary?.activity_id\n if (!activityId) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n\n const projectName = message.project\n const references = message.summary?.references || []\n const relevantReferenceTypes = ['origin', 'mention', 'relation']\n const entityIds = references\n .filter((reference) => relevantReferenceTypes.includes(reference.reference_type))\n .map((reference) => reference.entity_id)\n\n // Check if this activity is relevant to the current cache\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n\n const isRelevant = queryEntityIds.some((qId) => entityIds.includes(qId))\n\n if (!isRelevant && queryEntityIds.length > 0) {\n return\n }\n\n const activityType = message.summary?.activity_type\n if (!activityType) {\n return\n }\n\n // Handle deletion\n if (topic === 'activity.deleted') {\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for deletion')\n return\n }\n\n let deleted = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n page.activities.splice(index, 1)\n deleted = true\n }\n }\n\n if (deleted) {\n } else {\n }\n })\n return\n }\n\n // Handle creation and updates\n try {\n // Fetch the updated activity data using the enhanced endpoint\n // The GetActivitiesById endpoint is enhanced to return ActivitiesResult via transformResponse\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName,\n activityIds: [activityId],\n entityIds,\n },\n {\n forceRefetch: true, // Always fetch fresh data\n },\n ),\n )\n\n // Check if we have an error\n if ('error' in result && result.error) {\n console.error('[Activity RT] Error fetching activity:', result.error)\n throw new Error('Failed to fetch activity')\n }\n\n // The transformResponse in enhanceActivitiesApi converts GetActivitiesByIdQuery to ActivitiesResult\n // TypeScript doesn't see this transformation, so we cast through unknown\n const unknownData: unknown = result.data\n const res = unknownData as ActivitiesResult\n const newActivities = res?.activities || []\n\n if (newActivities.length === 0) {\n console.warn('[Activity RT] No activities found for activity_id', activityId)\n return\n }\n\n const newActivity: FeedActivity = newActivities[0]\n\n // Determine activity types to check against\n const activityTypes = [activityType]\n if (activityType === 'comment') {\n const body = newActivity?.body\n const hasChecklist = bodyHasChecklist(body || '')\n if (hasChecklist) {\n activityTypes.push('checklist')\n }\n }\n\n // Check if this activity type is relevant to the query\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const isActivityTypeRelevant =\n queryActivityTypesArray.length === 0 ||\n queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n\n if (!isActivityTypeRelevant) {\n return\n }\n\n // Update the cache\n updateCachedData((draft) => {\n if (!draft || !draft.pages) {\n console.warn('[Activity RT] No draft or pages found for update')\n return\n }\n\n // Check if activity already exists in any page\n let existingActivityFound = false\n for (const page of draft.pages) {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== -1) {\n // Update existing activity\n page.activities[index] = newActivity\n existingActivityFound = true\n break\n }\n }\n\n // If it's a new activity (topic is 'activity.created'), add it to the first page\n if (!existingActivityFound && topic === 'activity.created') {\n if (draft.pages.length > 0 && draft.pages[0].activities) {\n // Add to the beginning of the first page (most recent activities first)\n // Since we're using reverse chronological order (last: N), prepend to the beginning\n draft.pages[0].activities.unshift(newActivity)\n } else {\n console.warn('[Activity RT] Cannot add activity: no pages or activities array')\n }\n }\n\n // If this is a status change, update any version.publish activities in the cache\n if (\n newActivity.activityType === 'status.change' &&\n newActivity.origin?.type === 'version'\n ) {\n const versionId = newActivity.origin.id\n const newStatus = newActivity.activityData?.newValue\n if (newStatus) {\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.activityType === 'version.publish' &&\n activity.origin?.id === versionId\n ) {\n if (!activity.version) {\n activity.version = {} as any\n }\n activity.version!.status = newStatus\n }\n })\n })\n }\n }\n })\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n\n // Invalidate the cache for these entities to trigger a refetch\n dispatch(\n gqlApi.util.invalidateTags(\n entityIds.map((entityId) => ({ type: 'entityActivities', id: entityId })),\n ),\n )\n }\n }\n\n // Subscribe to activity topic\n token = PubSub.subscribe(['activity'], handlePubSub)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`\n }\n\n // Wait for cache entry to be removed\n await cacheEntryRemoved\n\n // Cleanup: unsubscribe from PubSub\n if (token) {\n PubSub.unsubscribe(token)\n }\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","gqlApi","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","versionHashesData","acc","message","draft","page","activity","handlePubSub","topic","activityId","projectName","references","relevantReferenceTypes","entityIds","reference","queryEntityIds","qId","activityType","deleted","index","result","newActivities","newActivity","activityTypes","queryActivityTypes","queryActivityTypesArray","type","existingActivityFound","versionId","newStatus","error","entityId","PubSub"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activityRealtimeHandler.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activityRealtimeHandler.ts"],"sourcesContent":["import {\n createRealtimeBatcher,\n PubSub,\n subscribeToThumbnailUpdates,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport { ActivitiesResult } from './activitiesHelpers'\nimport type { GetActivitiesQueryVariables } from '@shared/api/generated/graphql'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport type { FeedActivity } from '../types'\n\ntype ActivitiesGqlApi = {\n endpoints: {\n GetActivitiesById: {\n initiate: (\n args: { projectName: string; activityIds: string[]; entityIds: string | string[] },\n options?: { forceRefetch?: boolean },\n ) => any\n }\n }\n util: {\n invalidateTags: (tags: { type: string; id: string }[]) => any\n }\n}\n\nexport type ActivityMessage = {\n topic: string\n project: string\n user: string\n createdAt: string\n updatedAt: string\n id: string\n status: string\n summary?: {\n activity_id: string\n activity_type: string\n references: {\n entity_id: string\n entity_type: string\n reference_type: string\n }[]\n }\n}\n\ntype InfiniteDataDraft = {\n pages: ActivitiesResult[]\n}\n\ntype CacheLifecycleApi = {\n updateCachedData: (updateRecipe: (draft: InfiniteDataDraft) => void) => void\n cacheDataLoaded: Promise<unknown>\n cacheEntryRemoved: Promise<void>\n dispatch: ThunkDispatch<unknown, unknown, UnknownAction>\n getCacheEntry: () => { data?: InfiniteDataDraft }\n gqlApi: ActivitiesGqlApi\n}\n\nconst bodyHasChecklist = (body: string): boolean => {\n if (!body) return false\n return body.includes('* [ ]') || body.includes('* [x]')\n}\n\nexport const handleActivityRealtimeUpdates = async (\n queryArg: Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi,\n }: CacheLifecycleApi,\n) => {\n let token: string | undefined\n let unsubscribeThumbnails: (() => void) | undefined\n const batcher = createRealtimeBatcher(\n async (updates: { topic: string; message: ActivityMessage }[], isActive) => {\n const queryEntityIds = Array.isArray(queryArg.entityIds)\n ? queryArg.entityIds\n : [queryArg.entityIds]\n const relevantReferenceTypes = ['origin', 'mention', 'relation']\n const queryActivityTypes = queryArg.activityTypes\n const queryActivityTypesArray = Array.isArray(queryActivityTypes)\n ? queryActivityTypes\n : queryActivityTypes\n ? [queryActivityTypes]\n : []\n const deletedIds: string[] = []\n const activityTopics = new Map<string, string>()\n const activityIds = new Set<string>()\n const activityEntityIds = new Set<string>()\n\n updates.forEach(({ topic, message }) => {\n const activityId = message.summary?.activity_id\n if (!activityId) return\n\n const entityIds = (message.summary?.references || [])\n .filter((reference) => relevantReferenceTypes.includes(reference.reference_type))\n .map((reference) => reference.entity_id)\n const isRelevant = queryEntityIds.some((entityId) => entityIds.includes(entityId))\n if (!isRelevant && queryEntityIds.length > 0) return\n\n if (topic === 'activity.deleted') {\n deletedIds.push(activityId)\n return\n }\n\n if (!message.summary?.activity_type) return\n activityIds.add(activityId)\n activityTopics.set(activityId, topic)\n entityIds.forEach((entityId) => activityEntityIds.add(entityId))\n })\n\n if (deletedIds.length) {\n updateCachedData((draft) => {\n draft.pages?.forEach((page) => {\n page.activities = page.activities?.filter(\n (activity) => !deletedIds.includes(activity.activityId),\n )\n })\n })\n }\n\n const activityIdList = [...activityIds]\n if (!activityIdList.length) return\n\n try {\n await waitForRealtimeJitter()\n const firstUpdate = updates.find(({ message }) => message.summary?.activity_id)\n const result = await dispatch(\n gqlApi.endpoints.GetActivitiesById.initiate(\n {\n projectName: firstUpdate?.message.project || '',\n activityIds: activityIdList,\n entityIds: [...activityEntityIds],\n },\n { forceRefetch: true },\n ),\n )\n\n if ('error' in result && result.error) throw new Error('Failed to fetch activities')\n if (!isActive()) return\n\n const newActivities = ((result.data as unknown as ActivitiesResult)?.activities ||\n []) as FeedActivity[]\n const activityById = new Map(\n newActivities.map((activity) => [activity.activityId, activity]),\n )\n\n updateCachedData((draft) => {\n activityById.forEach((newActivity, activityId) => {\n const activityTypes = [newActivity.activityType]\n if (\n newActivity.activityType === 'comment' &&\n bodyHasChecklist(newActivity.body || '')\n ) {\n activityTypes.push('checklist')\n }\n if (\n queryActivityTypesArray.length > 0 &&\n !queryActivityTypesArray.some((type: string) => activityTypes.includes(type))\n ) {\n return\n }\n\n let existingActivityFound = false\n draft.pages?.forEach((page) => {\n const index = page.activities?.findIndex(\n (activity) => activity.activityId === activityId,\n )\n if (index !== undefined && index !== -1 && page.activities) {\n page.activities[index] = newActivity\n existingActivityFound = true\n }\n })\n\n if (!existingActivityFound && activityTopics.get(activityId) === 'activity.created') {\n draft.pages?.[0]?.activities?.unshift(newActivity)\n }\n\n if (\n newActivity.activityType !== 'status.change' ||\n newActivity.origin?.type !== 'version'\n ) {\n return\n }\n\n const versionId = newActivity.origin.id\n const newStatus = newActivity.activityData?.newValue\n if (!newStatus) return\n\n draft.pages?.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.activityType === 'version.publish' &&\n activity.origin?.id === versionId\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.status = newStatus\n }\n })\n })\n })\n })\n } catch (error) {\n console.error('[Activity RT] Error fetching activity data for real-time update:', error)\n dispatch(\n gqlApi.util.invalidateTags(\n [...new Set([...queryEntityIds, ...activityEntityIds])].map((entityId) => ({\n type: 'entityActivities',\n id: entityId,\n })),\n ),\n )\n }\n },\n ({ topic, message }) => `${topic}:${message.summary?.activity_id ?? ''}`,\n 500,\n )\n\n try {\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const draftData = getCacheEntry().data\n if (!draftData?.pages?.length) return\n\n const versionHashesData = messages.reduce((acc, message) => {\n if (message.summary.entityType === 'version') {\n acc[message.summary.entityId] = message.summary.thumbnailHash || ''\n }\n return acc\n }, {} as Record<string, string>)\n\n if (Object.keys(versionHashesData).length === 0) return\n\n updateCachedData((draft) => {\n if (!draft || !draft.pages) return\n draft.pages.forEach((page) => {\n page.activities?.forEach((activity) => {\n if (\n activity.referenceType === 'version' &&\n activity.referenceId &&\n versionHashesData[activity.referenceId] !== undefined\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.thumbnailHash = versionHashesData[activity.referenceId]\n }\n if (\n activity.origin.type === 'version' &&\n activity.origin.id &&\n versionHashesData[activity.origin.id] !== undefined\n ) {\n if (!activity.version) activity.version = {} as any\n activity.version!.thumbnailHash = versionHashesData[activity.origin.id]\n }\n })\n })\n })\n },\n ['version'],\n )\n\n const handlePubSub = (topic: string, message: ActivityMessage) => {\n if (!message.summary?.activity_id) {\n console.warn('[Activity RT] Activity message missing activity_id', message)\n return\n }\n batcher.add({ topic, message })\n }\n\n token = PubSub.subscribe(['activity'], handlePubSub)\n } catch (error) {\n console.error('[Activity RT] Error in activity real-time handler setup:', error)\n }\n\n await cacheEntryRemoved\n\n if (token) PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) unsubscribeThumbnails()\n batcher.clear()\n}\n"],"names":["bodyHasChecklist","body","handleActivityRealtimeUpdates","queryArg","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","gqlApi","token","unsubscribeThumbnails","batcher","createRealtimeBatcher","updates","isActive","queryEntityIds","relevantReferenceTypes","queryActivityTypes","queryActivityTypesArray","deletedIds","activityTopics","activityIds","activityEntityIds","topic","message","activityId","entityIds","reference","entityId","draft","page","activity","activityIdList","waitForRealtimeJitter","firstUpdate","result","newActivities","activityById","newActivity","activityTypes","type","existingActivityFound","index","versionId","newStatus","error","subscribeToThumbnailUpdates","messages","versionHashesData","acc","handlePubSub","PubSub"],"mappings":"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"}
|