@ynput/ayon-frontend-shared 0.4.1 → 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 -201
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +248 -512
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +31 -233
- package/dist/Slicer.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +83 -82
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +32 -130
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +8 -7
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +18 -17
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/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.map +1 -1
- 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 +55 -151
- 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 +58 -113
- 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 +67 -118
- 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 +68 -119
- 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 +73 -128
- package/dist/shared/src/api/queries/links/getEntityLinks.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 +229 -282
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.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 +95 -152
- 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 +88 -141
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- 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 +30 -80
- 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/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 -310
- 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 +26 -182
- 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 -195
- 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 -200
- 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 -316
- 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 +12 -314
- 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 -273
- 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 -335
- 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 -310
- 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 -293
- 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 -346
- 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 -212
- 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 -205
- 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 -185
- 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 -343
- 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 -316
- 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 -373
- 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 -315
- 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 -346
- 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 +134 -304
- 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 +74 -367
- 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 -299
- 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 -334
- 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 -331
- 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 -372
- 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 -309
- 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 -365
- 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 -316
- 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 -326
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -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 +335 -534
- 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 -329
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.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 -355
- 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 -394
- 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 -334
- 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 -300
- 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 -262
- 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 -210
- 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 -250
- 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 -323
- 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 -327
- 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 -329
- 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 -236
- 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 -255
- 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 -317
- 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 -354
- 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 -306
- 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 -202
- 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.map +1 -1
- 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 -320
- 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 -217
- 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 -323
- 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 -307
- 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 -209
- 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 -373
- 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 -324
- 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 -338
- 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 -318
- 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 -228
- 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 -245
- 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 -309
- 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 -421
- 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 -317
- 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 -331
- 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 -372
- 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 -341
- 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 -324
- 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 -324
- 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 +62 -361
- 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 -356
- 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 -310
- 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 -238
- 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 +115 -284
- 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 +44 -177
- 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 -343
- 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 -459
- 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 -314
- 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 +590 -859
- 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 +245 -391
- 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 -375
- 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 -204
- 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 +27 -124
- 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 +97 -292
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +243 -441
- 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 +156 -330
- 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 -208
- 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 +120 -420
- 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 +71 -245
- 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 -317
- 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 +59 -233
- 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 +74 -248
- 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 +147 -439
- 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 +23 -197
- 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 -206
- 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 -332
- 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 +135 -335
- 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 -203
- 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 -204
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.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 -282
- 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 -232
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +24 -198
- 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 +29 -203
- 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 -467
- 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 -215
- 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/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/getTableFieldOptions.cjs.js.map +1 -1
- 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 -315
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +113 -398
- 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 -332
- 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 +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +22 -194
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -1
- 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 +52 -348
- 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 -364
- 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 -202
- 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 -333
- 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 -424
- 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 -217
- 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 -527
- 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 -367
- 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 -318
- 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 -328
- 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 -370
- 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 -228
- 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 -236
- 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 -309
- 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 -311
- 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 -314
- 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 -316
- 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 -338
- 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 -316
- 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 -368
- 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 -336
- 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 -354
- 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 -335
- 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 -262
- 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 -216
- 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 -362
- 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 +61 -358
- 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 -344
- 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 -231
- 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 -324
- 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 -229
- 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 -208
- 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 -314
- 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 -333
- 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 -212
- 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.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js +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/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 +5 -2
- package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +4 -2
- package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -1
- package/dist/types/api/queries/entities/getEntity.d.ts +2 -1
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +2 -1
- package/dist/types/api/queries/entities/updateEntity.d.ts +2 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +305 -305
- package/dist/types/api/queries/overview/getOverview.d.ts +35 -18
- package/dist/types/api/queries/project/getProject.d.ts +62 -61
- package/dist/types/api/queries/system/getSystem.d.ts +1 -1
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +2 -1
- package/dist/types/api/queries/users/getUsers.d.ts +2 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +4 -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/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 +1 -1
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
- package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
- package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +4 -2
- 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 +1 -1
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
- package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
- package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
- 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 +1 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -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/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/overviewContext.d.ts +6 -5
- 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/linksToTableData.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
- 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/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/uriUtils.d.ts +1 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +24 -20
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- 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":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '../project'\nimport PubSub from '@shared/util/pubsub'\nimport {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nexport interface MessageSummary {\n entityId: string\n entityPath: string\n parentId: string\n value: any\n}\n\nexport interface Message {\n id: string\n topic: string\n project: string\n user: string\n sender: string\n senderType: string\n description: string\n status: string\n progress: number\n store: boolean\n createdAt: string\n updatedAt: string\n dependsOn: string | null\n summary: MessageSummary\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees = [] }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n projects = projects ?? []\n taskIds = taskIds ?? []\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n args = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: Message\n }> = async (updates, isActive) => {\n const selectedProjects: string[] = Array.isArray(args?.projects) ? args.projects : []\n const selectedAssignees: string[] = Array.isArray(args?.assignees) ? args.assignees : []\n // Current tasks on the board. Re-read the cache when the batch runs because it may\n // have changed while the realtime updates were waiting in the debounce window.\n const cacheTasks = getCacheEntry().data ?? []\n const cachedTaskKeys = new Set(cacheTasks.map((task) => `${task.projectName}:${task.id}`))\n const taskUpdatesToFetch = new Map<string, { taskId: string; project: string }>()\n const patches: {\n taskId: string\n project: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n // First check the project name as selected.\n const project = message.project\n if (!project || !selectedProjects.includes(project)) return\n\n const taskId = message.summary?.entityId\n if (!taskId) return\n\n // Only patch the task for the fields supported by the Kanban view.\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (!patch) return\n\n const taskKey = `${project}:${taskId}`\n const isTaskOnMyBoard = cachedTaskKeys.has(taskKey)\n const patchValue = patch.value\n const isValueMe =\n patch.field === 'assignees' &&\n (patchValue as string[]).some((assignee) => selectedAssignees.includes(assignee))\n\n // A task not currently on the board only matters when an assignee update\n // makes it relevant to the selected users.\n if (!isTaskOnMyBoard && !isValueMe) return\n\n if (!isTaskOnMyBoard) {\n taskUpdatesToFetch.set(taskKey, { taskId, project })\n return\n }\n\n patches.push({\n taskId,\n project,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ taskId, project, field, value }) => {\n const task = draft.find(\n (item) => item.id === taskId && item.projectName === project,\n )\n if (!task) return\n\n // Patch the Kanban cache directly for supported fields.\n Object.assign(task, { [field === 'type' ? 'taskType' : field]: value })\n if (\n field === 'assignees' &&\n selectedAssignees.length > 0 &&\n !(value as string[]).some((assignee) => selectedAssignees.includes(assignee))\n ) {\n const index = draft.indexOf(task)\n if (index !== -1) draft.splice(index, 1)\n }\n })\n })\n }\n\n const fetchUpdates = Array.from(taskUpdatesToFetch.values())\n if (!fetchUpdates.length || fetchUpdates.length > REALTIME_REST_CALL_LIMIT) return\n\n // Fetch tasks that have just become relevant to the selected assignees.\n await waitForRealtimeJitter()\n const tasks = await getKanbanTasks(\n {\n projects: [...new Set(fetchUpdates.map(({ project }) => project))],\n taskIds: [...new Set(fetchUpdates.map(({ taskId }) => taskId))],\n },\n dispatch,\n )\n if (!isActive()) return\n\n // Get all tasks that have been ADDED to the assignees.\n const tasksWithArgAssignees = tasks.filter(\n (task) =>\n !selectedAssignees.length ||\n (task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n // Get all tasks that have been REMOVED from the assignees.\n const tasksWithoutArgAssignees = tasks.filter(\n (task) =>\n selectedAssignees.length > 0 &&\n !(task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n\n // Patch the Kanban query by adding new tasks and removing old tasks.\n updateCachedData((draft) => {\n // Add new tasks or update existing tasks.\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index === -1) draft.push(task)\n else draft[index] = task\n })\n // Remove old tasks.\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index !== -1) draft.splice(index, 1)\n })\n })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project ?? ''}:${message.summary?.entityId}:${topic}`,\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 cacheTasks = getCacheEntry().data ?? []\n if (!cacheTasks.length) return\n\n const matchedMessages = messages.filter((m) =>\n cacheTasks.some((t) => t.id === m.summary.entityId && t.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((t) => t.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = (_topic: string, message: Message) => {\n if (!message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(projectQueries.endpoints.getProject.initiate({ projectName })).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate({ projectName }),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","batchProcessMessages","updates","isActive","selectedProjects","selectedAssignees","cacheTasks","cachedTaskKeys","task","taskUpdatesToFetch","patches","topic","message","project","taskId","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","taskKey","isTaskOnMyBoard","patchValue","isValueMe","draft","value","item","index","fetchUpdates","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","tasks","tasksWithArgAssignees","tasksWithoutArgAssignees","cachedTask","batcher","createRealtimeBatcher","subscribeToThumbnailUpdates","messages","matchedMessages","m","t","entityIndex","handlePubSub","_topic","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getUserDashboard.cjs.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '../project'\nimport PubSub from '@shared/util/pubsub'\nimport {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nexport interface MessageSummary {\n entityId: string\n entityPath: string\n parentId: string\n value: any\n}\n\nexport interface Message {\n id: string\n topic: string\n project: string\n user: string\n sender: string\n senderType: string\n description: string\n status: string\n progress: number\n store: boolean\n createdAt: string\n updatedAt: string\n dependsOn: string | null\n summary: MessageSummary\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees = [] }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n projects = projects ?? []\n taskIds = taskIds ?? []\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n args = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: Message\n }> = async (updates, isActive) => {\n const selectedProjects: string[] = Array.isArray(args?.projects) ? args.projects : []\n const selectedAssignees: string[] = Array.isArray(args?.assignees) ? args.assignees : []\n // Current tasks on the board. Re-read the cache when the batch runs because it may\n // have changed while the realtime updates were waiting in the debounce window.\n const cacheTasks = getCacheEntry().data ?? []\n const cachedTaskKeys = new Set(cacheTasks.map((task) => `${task.projectName}:${task.id}`))\n const taskUpdatesToFetch = new Map<string, { taskId: string; project: string }>()\n const patches: {\n taskId: string\n project: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n // First check the project name as selected.\n const project = message.project\n if (!project || !selectedProjects.includes(project)) return\n\n const taskId = message.summary?.entityId\n if (!taskId) return\n\n // Only patch the task for the fields supported by the Kanban view.\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (!patch) return\n\n const taskKey = `${project}:${taskId}`\n const isTaskOnMyBoard = cachedTaskKeys.has(taskKey)\n const patchValue = patch.value\n const isValueMe =\n patch.field === 'assignees' &&\n (patchValue as string[]).some((assignee) => selectedAssignees.includes(assignee))\n\n // A task not currently on the board only matters when an assignee update\n // makes it relevant to the selected users.\n if (!isTaskOnMyBoard && !isValueMe) return\n\n if (!isTaskOnMyBoard) {\n taskUpdatesToFetch.set(taskKey, { taskId, project })\n return\n }\n\n patches.push({\n taskId,\n project,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ taskId, project, field, value }) => {\n const task = draft.find(\n (item) => item.id === taskId && item.projectName === project,\n )\n if (!task) return\n\n // Patch the Kanban cache directly for supported fields.\n Object.assign(task, { [field === 'type' ? 'taskType' : field]: value })\n if (\n field === 'assignees' &&\n selectedAssignees.length > 0 &&\n !(value as string[]).some((assignee) => selectedAssignees.includes(assignee))\n ) {\n const index = draft.indexOf(task)\n if (index !== -1) draft.splice(index, 1)\n }\n })\n })\n }\n\n const fetchUpdates = Array.from(taskUpdatesToFetch.values())\n if (!fetchUpdates.length || fetchUpdates.length > REALTIME_REST_CALL_LIMIT) return\n\n // Fetch tasks that have just become relevant to the selected assignees.\n await waitForRealtimeJitter()\n const tasks = await getKanbanTasks(\n {\n projects: [...new Set(fetchUpdates.map(({ project }) => project))],\n taskIds: [...new Set(fetchUpdates.map(({ taskId }) => taskId))],\n },\n dispatch,\n )\n if (!isActive()) return\n\n // Get all tasks that have been ADDED to the assignees.\n const tasksWithArgAssignees = tasks.filter(\n (task) =>\n !selectedAssignees.length ||\n (task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n // Get all tasks that have been REMOVED from the assignees.\n const tasksWithoutArgAssignees = tasks.filter(\n (task) =>\n selectedAssignees.length > 0 &&\n !(task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n\n // Patch the Kanban query by adding new tasks and removing old tasks.\n updateCachedData((draft) => {\n // Add new tasks or update existing tasks.\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index === -1) draft.push(task)\n else draft[index] = task\n })\n // Remove old tasks.\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index !== -1) draft.splice(index, 1)\n })\n })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project ?? ''}:${message.summary?.entityId}:${topic}`,\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 cacheTasks = getCacheEntry().data ?? []\n if (!cacheTasks.length) return\n\n const matchedMessages = messages.filter((m) =>\n cacheTasks.some((t) => t.id === m.summary.entityId && t.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((t) => t.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = (_topic: string, message: Message) => {\n if (!message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(projectQueries.endpoints.getProject.initiate({ projectName })).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate({ projectName }),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","batchProcessMessages","updates","isActive","selectedProjects","selectedAssignees","cacheTasks","cachedTaskKeys","task","taskUpdatesToFetch","patches","topic","message","project","taskId","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","taskKey","isTaskOnMyBoard","patchValue","isValueMe","draft","value","item","index","fetchUpdates","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","tasks","tasksWithArgAssignees","tasksWithoutArgAssignees","cachedTask","batcher","createRealtimeBatcher","subscribeToThumbnailUpdates","messages","matchedMessages","m","t","entityIndex","handlePubSub","_topic","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
|
|
@@ -45,92 +45,39 @@ import "lodash";
|
|
|
45
45
|
import "react-toastify";
|
|
46
46
|
import "uuid";
|
|
47
47
|
import { subscribeToThumbnailUpdates as N } from "../../../util/thumbnailWebsocket.es.js";
|
|
48
|
-
import "../actions/getActions.es.js";
|
|
49
|
-
import "../activities/getActivities.es.js";
|
|
50
|
-
import "../activities/updateReaction.es.js";
|
|
51
|
-
import "../activities/getMentions.es.js";
|
|
52
|
-
import "../activities/getCategories.es.js";
|
|
53
|
-
import "../addons/getAddons.es.js";
|
|
54
|
-
import "../addons/updateAddons.es.js";
|
|
55
|
-
import "../attributes/getAttributes.es.js";
|
|
56
|
-
import "../attributes/updateAttributes.es.js";
|
|
57
|
-
import "../authentication/getAuthentication.es.js";
|
|
58
|
-
import "../bundles/getBundles.es.js";
|
|
59
|
-
import "../bundles/updateBundles.es.js";
|
|
60
|
-
import "../cloud/cloud.es.js";
|
|
61
|
-
import "../columnStats/metricTargets.es.js";
|
|
62
|
-
import "../columnStats/groupCounts.es.js";
|
|
63
|
-
import "../config/getConfig.es.js";
|
|
64
|
-
import "../config/updateConfig.es.js";
|
|
65
|
-
import "../entities/getEntity.es.js";
|
|
66
|
-
import "../entities/getEntityPanel.es.js";
|
|
67
|
-
import "../overview/getOverview.es.js";
|
|
68
|
-
import "../overview/updateOverview.es.js";
|
|
69
|
-
import "../versions/getVersionsProducts.es.js";
|
|
70
|
-
import "../links/getEntityLinks.es.js";
|
|
71
|
-
import "../entities/updateEntity.es.js";
|
|
72
|
-
import "../entityLists/getLists.es.js";
|
|
73
|
-
import "../entityLists/updateLists.es.js";
|
|
74
|
-
import "../entityLists/getListsAttributes.es.js";
|
|
75
|
-
import "../entityLists/listItemsColumnStats.es.js";
|
|
76
|
-
import "../entityLists/updateListsAttributes.es.js";
|
|
77
|
-
import "../entityLists/listFolders.es.js";
|
|
78
|
-
import "../folders/getFolders.es.js";
|
|
79
|
-
import "../folders/getFolderDeleteInfo.es.js";
|
|
80
|
-
import "../grouping/getGrouping.es.js";
|
|
81
|
-
import "../links/updateLinks.es.js";
|
|
82
|
-
import "../links/getLinks.es.js";
|
|
83
|
-
import "../permissions/getPermissions.es.js";
|
|
84
|
-
import "../products/createProduct.es.js";
|
|
85
|
-
import "../products/getFolderProducts.es.js";
|
|
86
|
-
import "../projectFolders/projectFolders.es.js";
|
|
87
|
-
import "../review/getReview.es.js";
|
|
88
|
-
import "../review/updateReview.es.js";
|
|
89
|
-
import "../share/share.es.js";
|
|
90
|
-
import "../system/getSystem.es.js";
|
|
91
|
-
import "../tasks/getTasks.es.js";
|
|
92
|
-
import "../tasks/updateTasks.es.js";
|
|
93
|
-
import "../teams/getTeams.es.js";
|
|
94
|
-
import "../users/getUsers.es.js";
|
|
95
48
|
import "../users/updateUsers.es.js";
|
|
96
|
-
import "../users/guests.es.js";
|
|
97
|
-
import "../versions/updateVersions.es.js";
|
|
98
|
-
import "../views/getViews.es.js";
|
|
99
|
-
import "../views/updateViews.es.js";
|
|
100
|
-
import "../watchers/getWatchers.es.js";
|
|
101
|
-
import "../uris/getUris.es.js";
|
|
102
49
|
import { createRealtimeBatcher as O, getSupportedEntityPatch as B, REALTIME_TASK_SUPPORTED_VALUE_FIELDS as F, REALTIME_REST_CALL_LIMIT as Q, waitForRealtimeJitter as q } from "../../../util/realtimeUpdatesUtils.es.js";
|
|
103
50
|
import H from "./convertAccessGroupsData.es.js";
|
|
104
51
|
import V from "./getUserProjectsAccess.es.js";
|
|
105
|
-
const K = (
|
|
106
|
-
const t =
|
|
107
|
-
return t.localeCompare(
|
|
108
|
-
}), _ = (
|
|
52
|
+
const K = (r) => r.kanban.edges.map(({ node: s }) => s).sort((s, i) => {
|
|
53
|
+
const t = s.label || s.name, o = i.label || i.name;
|
|
54
|
+
return t.localeCompare(o);
|
|
55
|
+
}), _ = (r, s, i) => r?.length ? [
|
|
109
56
|
{ type: "kanBanTask", id: "LIST" },
|
|
110
|
-
...
|
|
57
|
+
...r.flatMap(({ id: t, projectName: o, assignees: h = [] }) => [
|
|
111
58
|
{ type: "task", id: t },
|
|
112
|
-
{ type: "kanban", id: "project-" +
|
|
113
|
-
...h.map((
|
|
114
|
-
...h.map((
|
|
59
|
+
{ type: "kanban", id: "project-" + o },
|
|
60
|
+
...h.map((n) => ({ type: "kanban", id: "user-" + n })),
|
|
61
|
+
...h.map((n) => ({
|
|
115
62
|
type: "kanban",
|
|
116
|
-
id: "user-" +
|
|
63
|
+
id: "user-" + n + "-project-" + o
|
|
117
64
|
})),
|
|
118
|
-
{ type: "kanban", id: JSON.stringify(
|
|
65
|
+
{ type: "kanban", id: JSON.stringify(i) }
|
|
119
66
|
])
|
|
120
67
|
] : [{ type: "kanBanTask", id: "LIST" }], J = async ({
|
|
121
|
-
projects:
|
|
122
|
-
taskIds:
|
|
123
|
-
},
|
|
68
|
+
projects: r = [],
|
|
69
|
+
taskIds: s = []
|
|
70
|
+
}, i) => {
|
|
124
71
|
try {
|
|
125
|
-
|
|
126
|
-
const t = await
|
|
72
|
+
r = r ?? [], s = s ?? [];
|
|
73
|
+
const t = await i(
|
|
127
74
|
P.endpoints.GetKanbanTasks.initiate(
|
|
128
|
-
{ projects:
|
|
75
|
+
{ projects: r, taskIds: s },
|
|
129
76
|
{ forceRefetch: !0 }
|
|
130
77
|
)
|
|
131
78
|
);
|
|
132
79
|
if (t.status === "rejected" || !t.data)
|
|
133
|
-
throw console.error("No tasks found",
|
|
80
|
+
throw console.error("No tasks found", s), new Error(`No tasks found ${s.join(", ")}`);
|
|
134
81
|
return t.status !== "fulfilled" ? [] : t.data;
|
|
135
82
|
} catch (t) {
|
|
136
83
|
return console.error(t), [];
|
|
@@ -140,43 +87,43 @@ const K = (o) => o.kanban.edges.map(({ node: e }) => e).sort((e, a) => {
|
|
|
140
87
|
GetKanban: {
|
|
141
88
|
transformResponse: K,
|
|
142
89
|
providesTags: _,
|
|
143
|
-
async onCacheEntryAdded(
|
|
144
|
-
let
|
|
90
|
+
async onCacheEntryAdded(r = {}, { updateCachedData: s, cacheDataLoaded: i, cacheEntryRemoved: t, dispatch: o, getCacheEntry: h }) {
|
|
91
|
+
let n, j;
|
|
145
92
|
const k = O(
|
|
146
|
-
async (
|
|
147
|
-
const g = Array.isArray(
|
|
148
|
-
|
|
149
|
-
const
|
|
150
|
-
if (!
|
|
151
|
-
const
|
|
152
|
-
if (!
|
|
153
|
-
const E =
|
|
93
|
+
async (m, d) => {
|
|
94
|
+
const g = Array.isArray(r?.projects) ? r.projects : [], u = Array.isArray(r?.assignees) ? r.assignees : [], y = h().data ?? [], b = new Set(y.map((e) => `${e.projectName}:${e.id}`)), T = /* @__PURE__ */ new Map(), A = [];
|
|
95
|
+
m.forEach(({ topic: e, message: a }) => {
|
|
96
|
+
const c = a.project;
|
|
97
|
+
if (!c || !g.includes(c)) return;
|
|
98
|
+
const p = a.summary?.entityId;
|
|
99
|
+
if (!p) return;
|
|
100
|
+
const E = e.split(".")[2]?.replace("_changed", ""), f = B(
|
|
154
101
|
E,
|
|
155
|
-
|
|
102
|
+
a.summary,
|
|
156
103
|
F
|
|
157
104
|
);
|
|
158
105
|
if (!f) return;
|
|
159
|
-
const l = `${
|
|
106
|
+
const l = `${c}:${p}`, w = b.has(l), U = f.value, x = f.field === "assignees" && U.some(($) => u.includes($));
|
|
160
107
|
if (!(!w && !x)) {
|
|
161
108
|
if (!w) {
|
|
162
|
-
T.set(l, { taskId:
|
|
109
|
+
T.set(l, { taskId: p, project: c });
|
|
163
110
|
return;
|
|
164
111
|
}
|
|
165
112
|
A.push({
|
|
166
|
-
taskId:
|
|
167
|
-
project:
|
|
113
|
+
taskId: p,
|
|
114
|
+
project: c,
|
|
168
115
|
field: f.field,
|
|
169
116
|
value: f.value
|
|
170
117
|
});
|
|
171
118
|
}
|
|
172
|
-
}), A.length &&
|
|
173
|
-
A.forEach(({ taskId:
|
|
174
|
-
const f =
|
|
175
|
-
(l) => l.id ===
|
|
119
|
+
}), A.length && s((e) => {
|
|
120
|
+
A.forEach(({ taskId: a, project: c, field: p, value: E }) => {
|
|
121
|
+
const f = e.find(
|
|
122
|
+
(l) => l.id === a && l.projectName === c
|
|
176
123
|
);
|
|
177
|
-
if (f && (Object.assign(f, { [
|
|
178
|
-
const l =
|
|
179
|
-
l !== -1 &&
|
|
124
|
+
if (f && (Object.assign(f, { [p === "type" ? "taskType" : p]: E }), p === "assignees" && u.length > 0 && !E.some((l) => u.includes(l)))) {
|
|
125
|
+
const l = e.indexOf(f);
|
|
126
|
+
l !== -1 && e.splice(l, 1);
|
|
180
127
|
}
|
|
181
128
|
});
|
|
182
129
|
});
|
|
@@ -185,38 +132,38 @@ const K = (o) => o.kanban.edges.map(({ node: e }) => e).sort((e, a) => {
|
|
|
185
132
|
await q();
|
|
186
133
|
const S = await J(
|
|
187
134
|
{
|
|
188
|
-
projects: [...new Set(I.map(({ project:
|
|
189
|
-
taskIds: [...new Set(I.map(({ taskId:
|
|
135
|
+
projects: [...new Set(I.map(({ project: e }) => e))],
|
|
136
|
+
taskIds: [...new Set(I.map(({ taskId: e }) => e))]
|
|
190
137
|
},
|
|
191
|
-
|
|
138
|
+
o
|
|
192
139
|
);
|
|
193
140
|
if (!d()) return;
|
|
194
141
|
const G = S.filter(
|
|
195
|
-
(
|
|
142
|
+
(e) => !u.length || (e.assignees ?? []).some((a) => u.includes(a))
|
|
196
143
|
), M = S.filter(
|
|
197
|
-
(
|
|
144
|
+
(e) => u.length > 0 && !(e.assignees ?? []).some((a) => u.includes(a))
|
|
198
145
|
);
|
|
199
|
-
|
|
200
|
-
G.forEach((
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
}), M.forEach((
|
|
204
|
-
const
|
|
205
|
-
|
|
146
|
+
s((e) => {
|
|
147
|
+
G.forEach((a) => {
|
|
148
|
+
const c = e.findIndex((p) => p.id === a.id);
|
|
149
|
+
c === -1 ? e.push(a) : e[c] = a;
|
|
150
|
+
}), M.forEach((a) => {
|
|
151
|
+
const c = e.findIndex((p) => p.id === a.id);
|
|
152
|
+
c !== -1 && e.splice(c, 1);
|
|
206
153
|
});
|
|
207
154
|
});
|
|
208
155
|
},
|
|
209
|
-
({ topic:
|
|
156
|
+
({ topic: m, message: d }) => `${d.project ?? ""}:${d.summary?.entityId}:${m}`
|
|
210
157
|
);
|
|
211
158
|
try {
|
|
212
|
-
await
|
|
159
|
+
await i, j = N(
|
|
213
160
|
(d) => {
|
|
214
161
|
const g = h().data ?? [];
|
|
215
162
|
if (!g.length) return;
|
|
216
163
|
const u = d.filter(
|
|
217
164
|
(y) => g.some((b) => b.id === y.summary.entityId && b.projectName === y.project)
|
|
218
165
|
);
|
|
219
|
-
u.length !== 0 &&
|
|
166
|
+
u.length !== 0 && s((y) => {
|
|
220
167
|
u.forEach((b) => {
|
|
221
168
|
const T = y.findIndex((A) => A.id === b.summary.entityId);
|
|
222
169
|
T !== -1 && y[T] && b.summary.thumbnailHash && (y[T].thumbnailHash = b.summary.thumbnailHash);
|
|
@@ -225,14 +172,14 @@ const K = (o) => o.kanban.edges.map(({ node: e }) => e).sort((e, a) => {
|
|
|
225
172
|
},
|
|
226
173
|
["task"]
|
|
227
174
|
);
|
|
228
|
-
const
|
|
175
|
+
const m = (d, g) => {
|
|
229
176
|
g?.summary?.entityId && k.add({ topic: d, message: g });
|
|
230
177
|
};
|
|
231
|
-
|
|
232
|
-
} catch (
|
|
233
|
-
console.error(
|
|
178
|
+
n = R.subscribe("entity.task", m);
|
|
179
|
+
} catch (m) {
|
|
180
|
+
console.error(m);
|
|
234
181
|
}
|
|
235
|
-
await t, R.unsubscribe(
|
|
182
|
+
await t, R.unsubscribe(n), j && j(), k.clear();
|
|
236
183
|
}
|
|
237
184
|
// // there is only one cache for kanban
|
|
238
185
|
// serializeQueryArgs: () => '',
|
|
@@ -254,58 +201,58 @@ const K = (o) => o.kanban.edges.map(({ node: e }) => e).sort((e, a) => {
|
|
|
254
201
|
},
|
|
255
202
|
// get all users on all selected projects
|
|
256
203
|
GetKanbanProjectUsers: {
|
|
257
|
-
transformResponse: (
|
|
258
|
-
const
|
|
259
|
-
let
|
|
260
|
-
(typeof
|
|
204
|
+
transformResponse: (r, s, { projects: i } = {}) => r.users.edges.map(({ node: t }) => {
|
|
205
|
+
const o = H(t.accessGroups);
|
|
206
|
+
let n = !t.isManager && !t.isAdmin ? V(o) : i;
|
|
207
|
+
(typeof n == "string" || !n) && (n = []);
|
|
261
208
|
const j = `/api/users/${t.name}/avatar`;
|
|
262
209
|
return {
|
|
263
210
|
...t,
|
|
264
|
-
accessGroups:
|
|
265
|
-
projects:
|
|
211
|
+
accessGroups: o,
|
|
212
|
+
projects: n,
|
|
266
213
|
avatarUrl: j
|
|
267
214
|
};
|
|
268
215
|
}),
|
|
269
|
-
providesTags: (
|
|
216
|
+
providesTags: (r) => r?.length ? [
|
|
270
217
|
{ type: "user", id: "LIST" },
|
|
271
|
-
...
|
|
218
|
+
...r.map(({ name: s }) => ({ type: "user", id: s }))
|
|
272
219
|
] : [{ type: "user", id: "LIST" }]
|
|
273
220
|
}
|
|
274
221
|
}
|
|
275
|
-
}), { useGetKanbanQuery:
|
|
276
|
-
endpoints: (
|
|
277
|
-
getProjectsInfo:
|
|
278
|
-
async queryFn({ projects:
|
|
222
|
+
}), { useGetKanbanQuery: Vt, useGetKanbanProjectUsersQuery: Jt } = P, W = P.injectEndpoints({
|
|
223
|
+
endpoints: (r) => ({
|
|
224
|
+
getProjectsInfo: r.query({
|
|
225
|
+
async queryFn({ projects: s = [], anatomy: i = !0 }, { dispatch: t }) {
|
|
279
226
|
try {
|
|
280
|
-
const
|
|
281
|
-
for (const h of
|
|
282
|
-
const
|
|
283
|
-
t(L.endpoints.getProject.initiate({ projectName:
|
|
284
|
-
...
|
|
227
|
+
const o = {};
|
|
228
|
+
for (const h of s) {
|
|
229
|
+
const n = h, j = [
|
|
230
|
+
t(L.endpoints.getProject.initiate({ projectName: n })).unwrap(),
|
|
231
|
+
...i ? [
|
|
285
232
|
t(
|
|
286
|
-
L.endpoints.getProjectAnatomy.initiate({ projectName:
|
|
233
|
+
L.endpoints.getProjectAnatomy.initiate({ projectName: n })
|
|
287
234
|
).unwrap()
|
|
288
235
|
] : []
|
|
289
|
-
], v = await Promise.allSettled(j), k = v[0],
|
|
290
|
-
|
|
291
|
-
...
|
|
236
|
+
], v = await Promise.allSettled(j), k = v[0], m = k.status === "fulfilled" ? k.value : void 0, d = i && v[1]?.status === "fulfilled" ? v[1].value : void 0;
|
|
237
|
+
m && (o[n] = {
|
|
238
|
+
...m,
|
|
292
239
|
anatomy: d
|
|
293
240
|
});
|
|
294
241
|
}
|
|
295
|
-
return { data:
|
|
296
|
-
} catch (
|
|
297
|
-
return console.error(
|
|
242
|
+
return { data: o, meta: void 0, error: void 0 };
|
|
243
|
+
} catch (o) {
|
|
244
|
+
return console.error(o), { error: o, meta: void 0, data: void 0 };
|
|
298
245
|
}
|
|
299
246
|
},
|
|
300
|
-
providesTags: (
|
|
247
|
+
providesTags: (s, i, { projects: t }) => t.map((o) => ({ type: "project", id: o }))
|
|
301
248
|
})
|
|
302
249
|
})
|
|
303
|
-
}), { useGetProjectsInfoQuery:
|
|
250
|
+
}), { useGetProjectsInfoQuery: Wt } = W;
|
|
304
251
|
export {
|
|
305
252
|
W as dashboardQueries,
|
|
306
253
|
J as getKanbanTasks,
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
254
|
+
Jt as useGetKanbanProjectUsersQuery,
|
|
255
|
+
Vt as useGetKanbanQuery,
|
|
256
|
+
Wt as useGetProjectsInfoQuery
|
|
310
257
|
};
|
|
311
258
|
//# sourceMappingURL=getUserDashboard.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserDashboard.es.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '../project'\nimport PubSub from '@shared/util/pubsub'\nimport {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nexport interface MessageSummary {\n entityId: string\n entityPath: string\n parentId: string\n value: any\n}\n\nexport interface Message {\n id: string\n topic: string\n project: string\n user: string\n sender: string\n senderType: string\n description: string\n status: string\n progress: number\n store: boolean\n createdAt: string\n updatedAt: string\n dependsOn: string | null\n summary: MessageSummary\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees = [] }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n projects = projects ?? []\n taskIds = taskIds ?? []\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n args = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: Message\n }> = async (updates, isActive) => {\n const selectedProjects: string[] = Array.isArray(args?.projects) ? args.projects : []\n const selectedAssignees: string[] = Array.isArray(args?.assignees) ? args.assignees : []\n // Current tasks on the board. Re-read the cache when the batch runs because it may\n // have changed while the realtime updates were waiting in the debounce window.\n const cacheTasks = getCacheEntry().data ?? []\n const cachedTaskKeys = new Set(cacheTasks.map((task) => `${task.projectName}:${task.id}`))\n const taskUpdatesToFetch = new Map<string, { taskId: string; project: string }>()\n const patches: {\n taskId: string\n project: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n // First check the project name as selected.\n const project = message.project\n if (!project || !selectedProjects.includes(project)) return\n\n const taskId = message.summary?.entityId\n if (!taskId) return\n\n // Only patch the task for the fields supported by the Kanban view.\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (!patch) return\n\n const taskKey = `${project}:${taskId}`\n const isTaskOnMyBoard = cachedTaskKeys.has(taskKey)\n const patchValue = patch.value\n const isValueMe =\n patch.field === 'assignees' &&\n (patchValue as string[]).some((assignee) => selectedAssignees.includes(assignee))\n\n // A task not currently on the board only matters when an assignee update\n // makes it relevant to the selected users.\n if (!isTaskOnMyBoard && !isValueMe) return\n\n if (!isTaskOnMyBoard) {\n taskUpdatesToFetch.set(taskKey, { taskId, project })\n return\n }\n\n patches.push({\n taskId,\n project,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ taskId, project, field, value }) => {\n const task = draft.find(\n (item) => item.id === taskId && item.projectName === project,\n )\n if (!task) return\n\n // Patch the Kanban cache directly for supported fields.\n Object.assign(task, { [field === 'type' ? 'taskType' : field]: value })\n if (\n field === 'assignees' &&\n selectedAssignees.length > 0 &&\n !(value as string[]).some((assignee) => selectedAssignees.includes(assignee))\n ) {\n const index = draft.indexOf(task)\n if (index !== -1) draft.splice(index, 1)\n }\n })\n })\n }\n\n const fetchUpdates = Array.from(taskUpdatesToFetch.values())\n if (!fetchUpdates.length || fetchUpdates.length > REALTIME_REST_CALL_LIMIT) return\n\n // Fetch tasks that have just become relevant to the selected assignees.\n await waitForRealtimeJitter()\n const tasks = await getKanbanTasks(\n {\n projects: [...new Set(fetchUpdates.map(({ project }) => project))],\n taskIds: [...new Set(fetchUpdates.map(({ taskId }) => taskId))],\n },\n dispatch,\n )\n if (!isActive()) return\n\n // Get all tasks that have been ADDED to the assignees.\n const tasksWithArgAssignees = tasks.filter(\n (task) =>\n !selectedAssignees.length ||\n (task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n // Get all tasks that have been REMOVED from the assignees.\n const tasksWithoutArgAssignees = tasks.filter(\n (task) =>\n selectedAssignees.length > 0 &&\n !(task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n\n // Patch the Kanban query by adding new tasks and removing old tasks.\n updateCachedData((draft) => {\n // Add new tasks or update existing tasks.\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index === -1) draft.push(task)\n else draft[index] = task\n })\n // Remove old tasks.\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index !== -1) draft.splice(index, 1)\n })\n })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project ?? ''}:${message.summary?.entityId}:${topic}`,\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 cacheTasks = getCacheEntry().data ?? []\n if (!cacheTasks.length) return\n\n const matchedMessages = messages.filter((m) =>\n cacheTasks.some((t) => t.id === m.summary.entityId && t.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((t) => t.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = (_topic: string, message: Message) => {\n if (!message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(projectQueries.endpoints.getProject.initiate({ projectName })).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate({ projectName }),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","batcher","createRealtimeBatcher","updates","isActive","selectedProjects","selectedAssignees","cacheTasks","cachedTaskKeys","task","taskUpdatesToFetch","patches","topic","message","project","taskId","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","taskKey","isTaskOnMyBoard","patchValue","isValueMe","draft","value","item","index","fetchUpdates","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","tasks","tasksWithArgAssignees","tasksWithoutArgAssignees","cachedTask","subscribeToThumbnailUpdates","messages","matchedMessages","m","t","entityIndex","handlePubSub","_topic","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getUserDashboard.es.js","sources":["../../../../../../src/api/queries/userDashboard/getUserDashboard.ts"],"sourcesContent":["import {\n gqlApi,\n GetKanbanProjectUsersQuery,\n GetKanbanQuery,\n ProjectModel,\n KanbanNode,\n Anatomy,\n} from '@shared/api/generated'\nimport { projectQueries } from '../project'\nimport PubSub from '@shared/util/pubsub'\nimport {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport convertAccessGroupsData, { AccessGroups } from './convertAccessGroupsData'\n\n// GetKanban response type\nexport type GetKanbanResponse = KanbanNode[]\n\n// GetKanbanProjectUsers response type\nexport type KanbanProjectUserNode = Omit<\n GetKanbanProjectUsersQuery['users']['edges'][0]['node'],\n 'accessGroups'\n> & { accessGroups: AccessGroups; projects: string[]; avatarUrl: string }\nexport type GetKanbanProjectUsersResponse = KanbanProjectUserNode[]\n\nexport interface MessageSummary {\n entityId: string\n entityPath: string\n parentId: string\n value: any\n}\n\nexport interface Message {\n id: string\n topic: string\n project: string\n user: string\n sender: string\n senderType: string\n description: string\n status: string\n progress: number\n store: boolean\n createdAt: string\n updatedAt: string\n dependsOn: string | null\n summary: MessageSummary\n}\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport getUserProjectsAccess from './getUserProjectsAccess'\nimport { ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n 'GetKanban' | 'GetKanbanTasks' | 'GetKanbanProjectUsers'\n> & {\n GetKanban: OverrideResultType<Definitions['GetKanban'], GetKanbanResponse>\n GetKanbanTasks: OverrideResultType<Definitions['GetKanbanTasks'], GetKanbanResponse>\n GetKanbanProjectUsers: OverrideResultType<\n Definitions['GetKanbanProjectUsers'],\n GetKanbanProjectUsersResponse\n >\n}\n\n// get edges and sort by task label || name\nconst transformKanban = (response: GetKanbanQuery) =>\n response.kanban.edges\n .map(({ node }) => node)\n .sort((a, b) => {\n const aLabel = a.label || a.name\n const bLabel = b.label || b.name\n return aLabel.localeCompare(bLabel)\n })\n\nconst provideKanbanTags = (result: GetKanbanResponse | undefined, _error: any, args: any) =>\n result?.length\n ? [\n { type: 'kanBanTask', id: 'LIST' },\n ...result.flatMap(({ id, projectName, assignees = [] }) => [\n { type: 'task', id },\n { type: 'kanban', id: 'project-' + projectName },\n ...assignees.map((assignee) => ({ type: 'kanban', id: 'user-' + assignee })),\n ...assignees.map((assignee) => ({\n type: 'kanban',\n id: 'user-' + assignee + '-project-' + projectName,\n })),\n { type: 'kanban', id: JSON.stringify(args) },\n ]),\n ]\n : [{ type: 'kanBanTask', id: 'LIST' }]\n\nexport const getKanbanTasks = async (\n {\n projects = [],\n taskIds = [],\n }: {\n projects: string[]\n taskIds: string[]\n },\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n try {\n projects = projects ?? []\n taskIds = taskIds ?? []\n // get the task\n const response = await dispatch(\n enhancedDashboardGraphqlApi.endpoints.GetKanbanTasks.initiate(\n { projects, taskIds },\n { forceRefetch: true },\n ),\n )\n\n if (response.status === 'rejected' || !response.data) {\n console.error('No tasks found', taskIds)\n throw new Error(`No tasks found ${taskIds.join(', ')}`)\n }\n\n if (response.status !== 'fulfilled') return []\n // get tasks from response (usually only one task)\n return response.data\n } catch (error) {\n console.error(error)\n return []\n }\n}\n\nconst enhancedDashboardGraphqlApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetKanban: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n async onCacheEntryAdded(\n args = {},\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: Message\n }> = async (updates, isActive) => {\n const selectedProjects: string[] = Array.isArray(args?.projects) ? args.projects : []\n const selectedAssignees: string[] = Array.isArray(args?.assignees) ? args.assignees : []\n // Current tasks on the board. Re-read the cache when the batch runs because it may\n // have changed while the realtime updates were waiting in the debounce window.\n const cacheTasks = getCacheEntry().data ?? []\n const cachedTaskKeys = new Set(cacheTasks.map((task) => `${task.projectName}:${task.id}`))\n const taskUpdatesToFetch = new Map<string, { taskId: string; project: string }>()\n const patches: {\n taskId: string\n project: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n // First check the project name as selected.\n const project = message.project\n if (!project || !selectedProjects.includes(project)) return\n\n const taskId = message.summary?.entityId\n if (!taskId) return\n\n // Only patch the task for the fields supported by the Kanban view.\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (!patch) return\n\n const taskKey = `${project}:${taskId}`\n const isTaskOnMyBoard = cachedTaskKeys.has(taskKey)\n const patchValue = patch.value\n const isValueMe =\n patch.field === 'assignees' &&\n (patchValue as string[]).some((assignee) => selectedAssignees.includes(assignee))\n\n // A task not currently on the board only matters when an assignee update\n // makes it relevant to the selected users.\n if (!isTaskOnMyBoard && !isValueMe) return\n\n if (!isTaskOnMyBoard) {\n taskUpdatesToFetch.set(taskKey, { taskId, project })\n return\n }\n\n patches.push({\n taskId,\n project,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ taskId, project, field, value }) => {\n const task = draft.find(\n (item) => item.id === taskId && item.projectName === project,\n )\n if (!task) return\n\n // Patch the Kanban cache directly for supported fields.\n Object.assign(task, { [field === 'type' ? 'taskType' : field]: value })\n if (\n field === 'assignees' &&\n selectedAssignees.length > 0 &&\n !(value as string[]).some((assignee) => selectedAssignees.includes(assignee))\n ) {\n const index = draft.indexOf(task)\n if (index !== -1) draft.splice(index, 1)\n }\n })\n })\n }\n\n const fetchUpdates = Array.from(taskUpdatesToFetch.values())\n if (!fetchUpdates.length || fetchUpdates.length > REALTIME_REST_CALL_LIMIT) return\n\n // Fetch tasks that have just become relevant to the selected assignees.\n await waitForRealtimeJitter()\n const tasks = await getKanbanTasks(\n {\n projects: [...new Set(fetchUpdates.map(({ project }) => project))],\n taskIds: [...new Set(fetchUpdates.map(({ taskId }) => taskId))],\n },\n dispatch,\n )\n if (!isActive()) return\n\n // Get all tasks that have been ADDED to the assignees.\n const tasksWithArgAssignees = tasks.filter(\n (task) =>\n !selectedAssignees.length ||\n (task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n // Get all tasks that have been REMOVED from the assignees.\n const tasksWithoutArgAssignees = tasks.filter(\n (task) =>\n selectedAssignees.length > 0 &&\n !(task.assignees ?? []).some((assignee) => selectedAssignees.includes(assignee)),\n )\n\n // Patch the Kanban query by adding new tasks and removing old tasks.\n updateCachedData((draft) => {\n // Add new tasks or update existing tasks.\n tasksWithArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index === -1) draft.push(task)\n else draft[index] = task\n })\n // Remove old tasks.\n tasksWithoutArgAssignees.forEach((task) => {\n const index = draft.findIndex((cachedTask) => cachedTask.id === task.id)\n if (index !== -1) draft.splice(index, 1)\n })\n })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project ?? ''}:${message.summary?.entityId}:${topic}`,\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 cacheTasks = getCacheEntry().data ?? []\n if (!cacheTasks.length) return\n\n const matchedMessages = messages.filter((m) =>\n cacheTasks.some((t) => t.id === m.summary.entityId && t.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((t) => t.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n ['task'],\n )\n\n const handlePubSub = (_topic: string, message: Message) => {\n if (!message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\n }\n\n // sub to websocket topic\n token = PubSub.subscribe('entity.task', handlePubSub)\n } catch (error) {\n console.error(error)\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n // // there is only one cache for kanban\n // serializeQueryArgs: () => '',\n // // whenever the assignees or projects change, we need to refetch the one query\n // forceRefetch: (params) => {\n // const { currentArg, previousArg } = params\n // // if the assignees are different, we need to refetch the query\n // if (!isEqual(currentArg?.assignees, previousArg?.assignees)) return true\n // // if the projects are different, we need to refetch the query\n // if (!isEqual(currentArg?.projects, previousArg?.projects)) return true\n // return false\n // },\n },\n // same query as GetKanban but for specific tasks\n // used mainly for patching tasks into the kanban cache\n GetKanbanTasks: {\n transformResponse: transformKanban,\n providesTags: provideKanbanTags,\n },\n // get all users on all selected projects\n GetKanbanProjectUsers: {\n transformResponse: (response: GetKanbanProjectUsersQuery, _meta, { projects } = {}) =>\n response.users.edges.map(({ node: user }) => {\n const accessGroups = convertAccessGroupsData(user.accessGroups)\n // parse access groups json\n const isUser = !user.isManager && !user.isAdmin\n // get the projects that the user has access to\n let projectsAccess = isUser ? getUserProjectsAccess(accessGroups) : projects\n if (typeof projectsAccess === 'string' || !projectsAccess) projectsAccess = []\n\n // assignees select requires avatarUrl\n const avatarUrl = `/api/users/${user.name}/avatar`\n\n return {\n ...user,\n accessGroups: accessGroups,\n projects: projectsAccess,\n avatarUrl,\n }\n }),\n providesTags: (result) =>\n result?.length\n ? [\n { type: 'user', id: 'LIST' },\n ...result.map(({ name }) => ({ type: 'user', id: name })),\n ]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const { useGetKanbanQuery, useGetKanbanProjectUsersQuery } = enhancedDashboardGraphqlApi\n\ntype GetProjectsInfoParams = {\n projects: string[]\n anatomy?: boolean\n}\n\nexport type ProjectModeWithAnatomy = ProjectModel & { anatomy?: Anatomy }\n\nexport type GetProjectsInfoResponse = { [projectName: string]: ProjectModeWithAnatomy | undefined }\n\nconst injectedDashboardRestApi = enhancedDashboardGraphqlApi.injectEndpoints({\n endpoints: (build) => ({\n getProjectsInfo: build.query<GetProjectsInfoResponse, GetProjectsInfoParams>({\n async queryFn({ projects = [], anatomy = true }, { dispatch }) {\n try {\n // get project info for each project\n const projectInfo: Record<string, ProjectModeWithAnatomy | undefined> = {}\n for (const project of projects) {\n const projectName = project as string\n // hopefully this will be cached\n // it also allows for different combination of projects but still use the cache\n const responses = [\n dispatch(projectQueries.endpoints.getProject.initiate({ projectName })).unwrap(),\n ...(anatomy\n ? [\n dispatch(\n projectQueries.endpoints.getProjectAnatomy.initiate({ projectName }),\n ).unwrap(),\n ]\n : []),\n ]\n\n const settled = await Promise.allSettled(responses)\n\n const projectDataResult = settled[0]\n const projectData =\n projectDataResult.status === 'fulfilled'\n ? (projectDataResult.value as ProjectModel)\n : undefined\n const anatomyData =\n anatomy && settled[1]?.status === 'fulfilled'\n ? (settled[1].value as Anatomy)\n : undefined\n\n if (projectData) {\n projectInfo[projectName] = {\n ...projectData,\n anatomy: anatomyData,\n } as ProjectModeWithAnatomy\n }\n }\n\n return { data: projectInfo, meta: undefined, error: undefined }\n } catch (error: any) {\n console.error(error)\n return { error, meta: undefined, data: undefined }\n }\n },\n providesTags: (_res, _error, { projects }) =>\n projects.map((projectName) => ({ type: 'project', id: projectName })),\n }),\n }),\n})\n\nexport const { useGetProjectsInfoQuery } = injectedDashboardRestApi\nexport { injectedDashboardRestApi as dashboardQueries }\n"],"names":["transformKanban","response","node","a","b","aLabel","bLabel","provideKanbanTags","result","_error","args","id","projectName","assignees","assignee","getKanbanTasks","projects","taskIds","dispatch","enhancedDashboardGraphqlApi","error","gqlApi","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","batcher","createRealtimeBatcher","updates","isActive","selectedProjects","selectedAssignees","cacheTasks","cachedTaskKeys","task","taskUpdatesToFetch","patches","topic","message","project","taskId","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","taskKey","isTaskOnMyBoard","patchValue","isValueMe","draft","value","item","index","fetchUpdates","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","tasks","tasksWithArgAssignees","tasksWithoutArgAssignees","cachedTask","subscribeToThumbnailUpdates","messages","matchedMessages","m","t","entityIndex","handlePubSub","_topic","PubSub","_meta","user","accessGroups","convertAccessGroupsData","projectsAccess","getUserProjectsAccess","avatarUrl","name","useGetKanbanQuery","useGetKanbanProjectUsersQuery","injectedDashboardRestApi","build","anatomy","projectInfo","responses","projectQueries","settled","projectDataResult","projectData","anatomyData","_res","useGetProjectsInfoQuery"],"mappings":"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"}
|