@ynput/ayon-frontend-shared 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +37 -198
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +248 -496
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +31 -230
- package/dist/Slicer.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +93 -93
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +131 -126
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +33 -128
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +45 -25
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +54 -34
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -201
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -142
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +151 -202
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +80 -129
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +111 -167
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +344 -345
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +105 -86
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +151 -184
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +486 -490
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
- package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
- package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.es.js +18 -17
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -307
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
- package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +27 -180
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -192
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -197
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -313
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +13 -311
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +86 -270
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -332
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -307
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -290
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
- package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -343
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -209
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -202
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -182
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +48 -340
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +20 -313
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +74 -370
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -312
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -343
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +226 -368
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -375
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -296
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -331
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -328
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -369
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -312
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +66 -362
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -313
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -323
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +441 -523
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -326
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -352
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -391
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
- package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -331
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -297
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -259
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -207
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +51 -247
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +20 -320
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +143 -324
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -326
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -233
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -252
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -314
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -351
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -303
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -199
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -317
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -214
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -320
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -304
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -206
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -370
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +20 -321
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -335
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -315
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -225
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +65 -242
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -306
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -418
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -314
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -328
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -369
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -338
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -321
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -321
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
- package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +63 -359
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -353
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -307
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -235
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +116 -282
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +58 -188
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -340
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
- package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -456
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -311
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +603 -869
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +605 -579
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -372
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -201
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +28 -122
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +107 -299
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +334 -515
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +158 -329
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -205
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +121 -418
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +73 -244
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -314
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +60 -231
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +75 -246
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +149 -438
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +25 -196
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -203
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -329
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +174 -371
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +29 -200
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -201
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +78 -279
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +31 -229
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -196
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +39 -221
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -464
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +41 -212
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -312
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +121 -399
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -329
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +198 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +50 -343
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -361
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -199
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +36 -330
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -421
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +80 -176
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -214
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +231 -524
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -364
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -315
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -325
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -367
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -225
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -233
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -306
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -308
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -311
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -313
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -335
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -313
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -365
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -333
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -351
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -332
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +59 -259
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -213
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/types.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
- package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonContext.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
- package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +66 -359
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.es.js +79 -356
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +42 -341
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -228
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -321
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +2 -2
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +28 -226
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -205
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -311
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -330
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -209
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
- package/dist/shared/src/util/checkName.cjs.js.map +1 -1
- package/dist/shared/src/util/checkName.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.es.js +16 -112
- package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
- package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
- package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/iconUtils.es.js.map +1 -1
- package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
- package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
- package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
- package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
- package/dist/shared/src/util/parseFilename.cjs.js +2 -0
- package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
- package/dist/shared/src/util/parseFilename.es.js +8 -0
- package/dist/shared/src/util/parseFilename.es.js.map +1 -0
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
- package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/uriUtils.es.js.map +1 -1
- package/dist/types/api/base/index.d.ts +1 -1
- package/dist/types/api/generated/graphql.d.ts +50 -4
- package/dist/types/api/generated/graphqlLinks.d.ts +15 -2
- package/dist/types/api/generated/views.d.ts +13 -4
- package/dist/types/api/queries/activities/getActivities.d.ts +28 -2
- package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -4
- package/dist/types/api/queries/entities/getEntity.d.ts +14 -1
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +14 -1
- package/dist/types/api/queries/entities/updateEntity.d.ts +14 -1
- package/dist/types/api/queries/entityLists/getLists.d.ts +317 -312
- package/dist/types/api/queries/entityLists/types.d.ts +7 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +49 -20
- package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
- package/dist/types/api/queries/project/getProject.d.ts +74 -61
- package/dist/types/api/queries/system/getSystem.d.ts +1 -1
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +14 -1
- package/dist/types/api/queries/users/getUsers.d.ts +14 -1
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +159 -2
- package/dist/types/api/queries/views/getViews.d.ts +1 -1
- package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
- package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
- package/dist/types/components/Menu/Menu.d.ts +1 -1
- package/dist/types/components/Menu/MenuList.d.ts +1 -1
- package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +10 -2
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
- package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +5 -3
- package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
- package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
- package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
- package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
- package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +6 -3
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
- package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/config/plannerFeatures.d.ts +1 -1
- package/dist/types/config/powerpackFeatures.d.ts +1 -1
- package/dist/types/containers/Actions/Actions.d.ts +2 -2
- package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
- package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
- package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
- package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
- package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
- package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
- package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
- package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
- package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
- package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
- package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
- package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
- package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
- package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
- package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
- package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
- package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
- package/dist/types/containers/Slicer/types.d.ts +1 -1
- package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
- package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
- package/dist/types/containers/Views/types.d.ts +1 -1
- package/dist/types/context/AddonContext.d.ts +1 -1
- package/dist/types/context/AddonProjectContext.d.ts +2 -2
- package/dist/types/context/DetailsPanelContext.d.ts +2 -2
- package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
- package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
- package/dist/types/util/buildHierarchicalTableRows.d.ts +1 -1
- package/dist/types/util/columnConfigConverter.d.ts +1 -1
- package/dist/types/util/getBundleMode.d.ts +1 -1
- package/dist/types/util/getGroupByDataType.d.ts +1 -1
- package/dist/types/util/index.d.ts +2 -0
- package/dist/types/util/mentionTypeOptions.d.ts +12 -0
- package/dist/types/util/parseFilename.d.ts +1 -0
- package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
- package/dist/types/util/uriUtils.d.ts +1 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +52 -47
- package/dist/util.es.js.map +1 -1
- package/package.json +4 -4
- package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
- package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
- package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
- package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnStats.es.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"columnStats.es.js","sources":["../../../../../../src/api/queries/columnStats/columnStats.ts"],"sourcesContent":["import type { ColumnStats } from '@shared/api/generated'\n// Shape of the backend GraphQL `ColumnStats` (connection.fieldStats).\n// `sum` and `distribution` are typed ahead of backend support so wiring them is a no-op.\nexport interface FieldStats extends ColumnStats {\n primaryCount?: number | null\n secondaryCount?: number | null\n}\n\nconst snakeToCamel = (s: string): string => s.replace(/_([a-z0-9])/g, (_, c) => c.toUpperCase())\n\n// Per-entity \"type\" columns all map to the unified `subType` column in the table.\n// (`product_base_type` is a separate column — productBaseType — so not aliased.)\nconst COLUMN_ALIASES: Record<string, string> = {\n task_type: 'subType',\n folder_type: 'subType',\n product_type: 'subType',\n}\n\n// Canonical frontend column id for a backend column name. Attribute columns keep\n// their `attrib_` form; everything else is snake_case on the backend but camelCase\n// in the table (product_base_type → productBaseType, created_at → createdAt).\nexport const canonicalColumnId = (name: string): string => {\n if (name in COLUMN_ALIASES) return COLUMN_ALIASES[name]\n if (name.startsWith('project_attributes_')) {\n return 'attrib_' + name.slice('project_attributes_'.length)\n }\n if (name.startsWith('inherited_attributes_')) {\n return 'attrib_' + name.slice('inherited_attributes_'.length)\n }\n if (name.startsWith('attrib_')) return name\n return snakeToCamel(name)\n}\n\n// list_of_strings attrs arrive as one bucket keyed by the whole array serialized\n// to text (backend GROUP BY on attrib->>'name'); split it so each element counts.\nconst toDistributionValues = (v: unknown): unknown[] => {\n if (Array.isArray(v)) return v\n if (typeof v === 'string') {\n const t = v.trim()\n if (t.startsWith('[') && t.endsWith(']')) {\n try {\n const parsed = JSON.parse(t)\n if (Array.isArray(parsed)) return parsed\n } catch {}\n }\n }\n return [v]\n}\n\nconst normalizeDistribution = (raw: unknown): FieldStats['distribution'] => {\n if (raw == null) return undefined\n let value = raw\n if (typeof value === 'string') {\n try {\n value = JSON.parse(value)\n } catch {\n return undefined\n }\n }\n if (Array.isArray(value)) {\n // dedupe by value; array buckets (tags/assignees combos) unnest per value\n const byValue = new Map<string, { value: string; count: number }>()\n for (const d of value) {\n if (!d || d.value == null) continue\n const vals = toDistributionValues(d.value)\n for (const raw of vals) {\n const v = String(raw)\n const prev = byValue.get(v)\n byValue.set(v, { ...d, value: v, count: (prev?.count ?? 0) + (Number(d.count) || 0) })\n }\n }\n return [...byValue.values()]\n }\n if (typeof value === 'object') {\n return Object.entries(value as Record<string, unknown>).map(([v, count]) => ({\n value: v,\n count: Number(count) || 0,\n }))\n }\n return undefined\n}\n\nconst sumN = (a?: number | null, b?: number | null): number | undefined =>\n a == null && b == null ? undefined : (a ?? 0) + (b ?? 0)\nconst lowest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a < b ? a : b\nconst highest = <T>(a?: T | null, b?: T | null): T | undefined =>\n a == null ? b ?? undefined : b == null ? a : a > b ? a : b\nconst pct = (part?: number, rest?: number): number | undefined =>\n part != null && rest != null && part + rest > 0\n ? Math.round((part / (part + rest)) * 10000) / 100\n : undefined\n\n// Additive combine of one column's stats from two entity sets (e.g. folder +\n// task). Counts sum, min/max widen, percentages recompute, avg is weighted by\n// filled counts when available.\nconst combineTwo = (a: FieldStats, b: FieldStats): FieldStats => {\n const filled = sumN(a.valueFilledCount, b.valueFilledCount)\n const notFilled = sumN(a.valueNotFilledCount, b.valueNotFilledCount)\n const checked = sumN(a.checkedCount, b.checkedCount)\n const notChecked = sumN(a.notCheckedCount, b.notCheckedCount)\n\n let avg: number | undefined\n if (a.avg != null && b.avg != null) {\n const wa = a.valueFilledCount\n const wb = b.valueFilledCount\n avg =\n wa != null && wb != null && wa + wb > 0\n ? (a.avg * wa + b.avg * wb) / (wa + wb)\n : (a.avg + b.avg) / 2\n avg = Math.round(avg * 100) / 100\n } else {\n avg = a.avg ?? b.avg ?? undefined\n }\n\n let distribution: FieldStats['distribution']\n if (a.distribution?.length || b.distribution?.length) {\n const byValue = new Map<string, NonNullable<FieldStats['distribution']>[number]>()\n for (const d of [...(a.distribution ?? []), ...(b.distribution ?? [])]) {\n const prev = byValue.get(d.value)\n byValue.set(d.value, prev ? { ...prev, count: prev.count + d.count } : { ...d })\n }\n distribution = [...byValue.values()]\n }\n\n return {\n columnName: a.columnName,\n min: lowest(a.min, b.min),\n max: highest(a.max, b.max),\n avg,\n sum: sumN(a.sum, b.sum),\n valueFilledCount: filled,\n valueNotFilledCount: notFilled,\n percentageFilled: pct(filled, notFilled),\n percentageNotFilled: pct(notFilled, filled),\n checkedCount: checked,\n notCheckedCount: notChecked,\n checkedPercentage: pct(checked, notChecked),\n notCheckedPercentage: pct(notChecked, checked),\n distribution,\n primaryCount: a.primaryCount ?? b.primaryCount,\n secondaryCount: a.secondaryCount ?? b.secondaryCount,\n }\n}\n\n// Normalize a raw fieldStats response (apply in transformResponse).\nexport const normalizeFieldStats = (stats: FieldStats[]): FieldStats[] =>\n stats.map((s) => ({\n ...s,\n columnName: canonicalColumnId(s.columnName),\n distribution: normalizeDistribution(s.distribution),\n }))\n\n// Merge stats lists by canonical column id, field-wise: overlay's non-null values\n// win, base fills the gaps. A single list also dedupes its own repeated columns.\nexport const mergeFieldStats = (\n overlay: FieldStats[] = [],\n base: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of base) byId.set(canonicalColumnId(s.columnName), { ...s })\n for (const s of overlay) {\n const id = canonicalColumnId(s.columnName)\n const merged: FieldStats = { ...(byId.get(id) || { columnName: s.columnName }) }\n for (const [k, v] of Object.entries(s)) {\n if (v !== null && v !== undefined) (merged as any)[k] = v\n }\n byId.set(id, merged)\n }\n return [...byId.values()]\n}\n\n// Total row count for an entity set = max(filled + not-filled) across its\n// stat columns. Feeds the main folders/tasks count cell.\nexport const totalRowsFromStats = (stats: FieldStats[]): number =>\n stats.reduce(\n (max, s) => Math.max(max, (s.valueFilledCount ?? 0) + (s.valueNotFilledCount ?? 0)),\n 0,\n )\n\n// Combine primary-entity stats (tasks/versions) with group-entity stats\n// (folders/products) for the \"include groups & folders\" row scope.\nexport const combineFieldStats = (\n primary: FieldStats[],\n group: FieldStats[] = [],\n): FieldStats[] => {\n const byId = new Map<string, FieldStats>()\n for (const s of primary) byId.set(canonicalColumnId(s.columnName), s)\n const out = new Map(byId)\n for (const g of group) {\n const id = canonicalColumnId(g.columnName)\n const p = byId.get(id)\n out.set(id, p ? combineTwo(p, g) : g)\n }\n return [...out.values()]\n}\n\nexport const transformStatsError = (error: any, entityType: string): string => {\n const message = error?.message ?? 'Unknown stats error'\n console.error(`Error fetching ${entityType} stats:`, error)\n return message\n}\n"],"names":["snakeToCamel","s","_","c","COLUMN_ALIASES","canonicalColumnId","name","toDistributionValues","v","t","parsed","normalizeDistribution","raw","value","byValue","d","vals","prev","count","sumN","a","b","lowest","highest","pct","part","rest","combineTwo","filled","notFilled","checked","notChecked","avg","wa","wb","distribution","normalizeFieldStats","stats","mergeFieldStats","overlay","base","byId","id","merged","k","totalRowsFromStats","max","combineFieldStats","primary","group","out","g","p","transformStatsError","error","entityType","message"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metricTargets.cjs.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose (backend SQL can't aggregate them safely yet):\n// datetime (numeric cast fails), boolean attribs (text-vs-bool compare on\n// JSONB), and list-type attribs.\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"+2DAcMA,EAAgBC,GAA0C,CAC9D,MAAMC,EAAID,GAAK,QACf,OAAO,MAAM,QAAQC,CAAC,EAAIA,EAAIA,EAAI,CAACA,CAAC,EAAI,CAAA,CAC1C,EAEaC,EAAkB,CAC7BC,EACAC,EACAC,IACY,CACZ,MAAMC,EAAOF,IAAkBD,CAAQ,EACjCI,EAAQF,IAAsBF,CAAQ,EAC5C,OAAIG,IAAS,QAAUC,IAAU,OAAe,GACzCD,GAAQ,MAAQC,GAAS,IAClC,EAMaC,EAAmB,CAC9BJ,EACAC,EACAI,EACAC,IACY,CACZ,MAAMC,MAAU,IAAI,CAClB,GAAG,OAAO,KAAKP,GAAmB,EAAE,EACpC,GAAG,OAAO,KAAKC,GAAuB,CAAA,CAAE,CAAA,CACzC,EACD,UAAWO,KAAMD,EACf,GAAI,EAAAF,GAAoB,CAACI,EAAAA,sBAAsBJ,EAAkBG,EAAIF,CAAuB,IAGxFR,EAAgBU,EAAIR,EAAiBC,CAAmB,EAAG,MAAO,GAExE,MAAO,EACT,EAMaS,EAAwB,CACnCV,EACAC,EACAI,EACAC,IAEAL,GAAsB,OAAY,QAClC,CAACG,EAAiBJ,EAAiBC,EAAqBI,EAAkBC,CAAuB,EAGtFK,EAAqB,CAACC,EAAsBC,IAAmC,CAC1F,GAAI,CAACD,EAAS,MAAO,GACrB,GAAI,CAACC,EAAU,MAAO,GACtB,MAAMC,EAAa,IAAI,IAAInB,EAAakB,CAAQ,EAAE,IAAKhB,GAAMA,EAAE,KAAK,CAAC,EACrE,OAAOF,EAAaiB,CAAO,EAAE,KAAMf,GAAM,CAACiB,EAAW,IAAIjB,EAAE,KAAK,CAAC,CACnE,EAEMkB,EAA2B,CAACC,EAAAA,eAAe,OAAQA,EAAAA,eAAe,SAAS,EAE3EC,EAA4B,CAChCD,EAAAA,eAAe,IACfA,EAAAA,eAAe,IACfA,EAAAA,eAAe,IACfA,EAAAA,eAAe,IACfA,EAAAA,eAAe,OACfA,iBAAe,SACjB,EAEME,EAAyB,CAC7BF,EAAAA,eAAe,OACfA,EAAAA,eAAe,UACfA,iBAAe,YACjB,EAIMG,EAAqD,CACzD,OAAQ,cACR,KAAM,YACN,QAAS,eACT,QAAS,IACX,EA2BaC,EAAqB,CAAC,CACjC,OAAAC,EACA,QAAAC,EACA,iBAAAjB,EACA,wBAAAC,EACA,gBAAAN,EACA,oBAAAC,EACA,YAAAsB,EAAc,CAAA,CAChB,IAA8C,CAC5C,MAAMC,EAAazB,GACjBU,EAAAA,sBAAsBJ,EAAkBN,EAAUO,CAAuB,EACtEmB,EAAY1B,GACfyB,EAAUzB,CAAQ,GAAKD,EAAgBC,EAAUC,EAAiBC,CAAmB,EAEjFyB,EAA0B,CAAA,EAC5BL,IAAW,UAGbK,EAAQ,KAAK,CAAE,MAAO,SAAU,aAAcD,EAAS,QAAQ,EAAIP,EAAOH,EAAQ,GAGlFW,EAAQ,KAAK,CAAE,MAAO,OAAQ,aAAcX,EAAQ,EAChDU,EAAS,QAAQ,GAAGC,EAAQ,KAAK,CAAE,MAAO,SAAU,aAAcR,EAAM,GAE1EO,EAAS,MAAM,GAAGC,EAAQ,KAAK,CAAE,MAAO,OAAQ,aAAcR,EAAM,EACpEG,IAAW,QAAUI,EAAS,WAAW,GAC3CC,EAAQ,KAAK,CAAE,MAAO,YAAa,aAAcR,EAAM,EAGzD,MAAMS,EAAeR,EAAeE,CAAM,EACtCM,GAAgBF,EAAS,SAAS,GACpCC,EAAQ,KAAK,CAAE,MAAOC,EAAc,aAAcT,EAAM,EAG1D,UAAWU,KAASL,EAClBG,EAAQ,KAAK,CAAE,MAAAE,EAAO,aAAcV,EAAM,EAG5C,UAAWW,KAAUP,EAAS,CAE5B,GADIO,EAAO,OAAS,CAACA,EAAO,MAAM,SAASR,CAAM,GAC7C,CAACI,EAAS,UAAUI,EAAO,IAAI,EAAE,EAAG,SAExC,IAAID,EAAQ,UAAUC,EAAO,IAAI,GAC7B,CAAC,SAAU,MAAM,EAAE,SAASR,CAAM,IACpCO,EAAQ,wBAAwBC,EAAO,IAAI,IAE7C,MAAMC,EAAOD,EAAO,MAAM,KACtBC,IAAS,WAAaA,IAAS,QACjCJ,EAAQ,KAAK,CAAE,MAAAE,EAAO,aAAcX,EAAS,EACpCa,IAAS,UAClBJ,EAAQ,KAAK,CAAE,MAAAE,EAAO,aAAcC,EAAO,MAAM,MAAM,OAASX,EAAOH,CAAA,CAAQ,CAEnF,CAEA,OAAOW,CACT"}
|
|
1
|
+
{"version":3,"file":"metricTargets.cjs.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose (backend SQL can't aggregate them safely yet):\n// datetime (numeric cast fails), boolean attribs (text-vs-bool compare on\n// JSONB), and list-type attribs.\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metricTargets.es.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose (backend SQL can't aggregate them safely yet):\n// datetime (numeric cast fails), boolean attribs (text-vs-bool compare on\n// JSONB), and list-type attribs.\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metricTargets.es.js","sources":["../../../../../../src/api/queries/columnStats/metricTargets.ts"],"sourcesContent":["import type { VisibilityState } from '@tanstack/react-table'\nimport { StatsOperation } from '@shared/api/generated'\nimport { checkColumnVisibility } from '@shared/containers/ProjectTreeTable/utils/checkColumnVisibility'\nimport type { SummaryCalc, RowScope } from '@shared/containers/ProjectTreeTable/types/summaryTypes'\n\nexport type MetricTarget = {\n field: string // column or dot-path for JSONB, e.g. 'status' / 'attrib.fps'\n aggregations: StatsOperation[]\n}\n\nexport type StatsEntity = 'folder' | 'task' | 'product' | 'version'\n\n// matches both MetricTarget[] and the codegen'd single-or-array variables type\ntype TargetsArg = { targets?: { field: string }[] | { field: string } | null }\nconst targetFields = (arg?: TargetsArg): { field: string }[] => {\n const t = arg?.targets\n return Array.isArray(t) ? t : t ? [t] : []\n}\n\nexport const isSummaryActive = (\n columnId: string,\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n): boolean => {\n const calc = columnSummaries?.[columnId]\n const scope = columnSummaryScopes?.[columnId]\n if (calc === 'none' || scope === 'none') return false\n return calc != null || scope != null\n}\n\n// True when at least one *visible* column has an active summary — lets callers\n// skip the whole column-stats query when the user has every summary switched off.\n// Visibility matters: a hidden column can still carry a stale summary value, but\n// buildMetricTargets skips it, so it must not keep the query alive either.\nexport const anySummaryActive = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean => {\n const ids = new Set([\n ...Object.keys(columnSummaries ?? {}),\n ...Object.keys(columnSummaryScopes ?? {}),\n ])\n for (const id of ids) {\n if (columnVisibility && !checkColumnVisibility(columnVisibility, id, defaultColumnVisibility)) {\n continue\n }\n if (isSummaryActive(id, columnSummaries, columnSummaryScopes)) return true\n }\n return false\n}\n\n// The main count (name column) is on by default, so the footer always has at\n// least that to show. Skip the stats fetch only when the user has explicitly\n// turned the name count off too AND no other column has an active summary —\n// otherwise the name cell has no data and can't be re-enabled.\nexport const shouldSkipColumnStats = (\n columnSummaries?: Record<string, SummaryCalc>,\n columnSummaryScopes?: Record<string, RowScope>,\n columnVisibility?: VisibilityState,\n defaultColumnVisibility?: VisibilityState,\n): boolean =>\n columnSummaryScopes?.['name'] === 'none' &&\n !anySummaryActive(columnSummaries, columnSummaryScopes, columnVisibility, defaultColumnVisibility)\n\n// refetch only when a target was added — hiding a column needs no query\nexport const hasNewTargetFields = (current?: TargetsArg, previous?: TargetsArg): boolean => {\n if (!current) return false\n if (!previous) return true\n const prevFields = new Set(targetFields(previous).map((t) => t.field))\n return targetFields(current).some((t) => !prevFields.has(t.field))\n}\n\nconst COUNTS: StatsOperation[] = [StatsOperation.Filled, StatsOperation.NotFilled]\n// FILLED rides along so combined-scope averages can be weighted exactly\nconst NUMERIC: StatsOperation[] = [\n StatsOperation.Min,\n StatsOperation.Max,\n StatsOperation.Avg,\n StatsOperation.Sum,\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n]\n// enum columns: counts power the fallback display, distribution the colored bar\nconst ENUM: StatsOperation[] = [\n StatsOperation.Filled,\n StatsOperation.NotFilled,\n StatsOperation.Distribution,\n]\n\n// The table's unified subType column per entity (result columnName maps back\n// to subType via COLUMN_ALIASES in columnStats).\nconst SUB_TYPE_FIELD: Record<StatsEntity, string | null> = {\n folder: 'folder_type',\n task: 'task_type',\n product: 'product_type',\n version: null,\n}\n\n// Structural subset of ProjectTableAttribute — two near-identical versions of\n// that type exist (types/index vs hooks/useAttributesList, data.type optional\n// in the latter); only these fields are needed here so accept both.\ntype AttribFieldLike = {\n name: string\n scope?: string[] | null\n data?: { type?: string; enum?: unknown[] }\n}\n\ntype BuildMetricTargetsArgs = {\n entity: StatsEntity\n attribs: AttribFieldLike[]\n columnVisibility: VisibilityState\n // resolved the same way the table resolves it (opt-in): a column absent from\n // both maps is hidden, so it must NOT be aggregated\n defaultColumnVisibility?: VisibilityState\n columnSummaries?: Record<string, SummaryCalc>\n columnSummaryScopes?: Record<string, RowScope>\n extraFields?: string[] // visible, summary-active page columns, e.g. 'product_base_type'\n}\n\n// Targets for the footer over the columns the user can actually see.\n// Skipped on purpose (backend SQL can't aggregate them safely yet):\n// datetime (numeric cast fails), boolean attribs (text-vs-bool compare on\n// JSONB), and list-type attribs.\nexport const buildMetricTargets = ({\n entity,\n attribs,\n columnVisibility,\n defaultColumnVisibility,\n columnSummaries,\n columnSummaryScopes,\n extraFields = [],\n}: BuildMetricTargetsArgs): MetricTarget[] => {\n const isVisible = (columnId: string) =>\n checkColumnVisibility(columnVisibility, columnId, defaultColumnVisibility)\n const isActive = (columnId: string) =>\n isVisible(columnId) && isSummaryActive(columnId, columnSummaries, columnSummaryScopes)\n\n const targets: MetricTarget[] = []\n if (entity === 'version') {\n // versions have no `name` column (display name derives from the version\n // number) — status is non-null and doubles as the row-count anchor, so it\n targets.push({ field: 'status', aggregations: isActive('status') ? ENUM : COUNTS })\n } else {\n // name counts always — they feed the main folders/tasks count cell\n targets.push({ field: 'name', aggregations: COUNTS })\n if (isActive('status')) targets.push({ field: 'status', aggregations: ENUM })\n }\n if (isActive('tags')) targets.push({ field: 'tags', aggregations: ENUM })\n if (entity === 'task' && isActive('assignees')) {\n targets.push({ field: 'assignees', aggregations: ENUM })\n }\n\n const subTypeField = SUB_TYPE_FIELD[entity]\n if (subTypeField && isActive('subType')) {\n targets.push({ field: subTypeField, aggregations: ENUM })\n }\n\n for (const field of extraFields) {\n targets.push({ field, aggregations: ENUM })\n }\n\n for (const attrib of attribs) {\n if (attrib.scope && !attrib.scope.includes(entity)) continue\n if (!isActive(`attrib_${attrib.name}`)) continue\n\n let field = `attrib.${attrib.name}`\n if (['folder', 'task'].includes(entity)) {\n field = `inherited_attributes.${attrib.name}`\n }\n const type = attrib.data?.type\n if (type === 'integer' || type === 'float') {\n targets.push({ field, aggregations: NUMERIC })\n } else if (type === 'string') {\n targets.push({ field, aggregations: attrib.data?.enum?.length ? ENUM : COUNTS })\n }\n }\n\n return targets\n}\n"],"names":["targetFields","arg","t","isSummaryActive","columnId","columnSummaries","columnSummaryScopes","calc","scope","anySummaryActive","columnVisibility","defaultColumnVisibility","ids","id","checkColumnVisibility","shouldSkipColumnStats","hasNewTargetFields","current","previous","prevFields","COUNTS","StatsOperation","NUMERIC","ENUM","SUB_TYPE_FIELD","buildMetricTargets","entity","attribs","extraFields","isVisible","isActive","targets","subTypeField","field","attrib","type"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport {
|
|
1
|
+
{"version":3,"file":"getEntity.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport type { GetSearchedTasksQuery } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n useGetSearchedEntitiesInfiniteQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["buildEventTileQuery","type","buildEntityTilesQuery","entities","query","acc","ids","fragments","FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","getNonObjectValue","value","keys","formatEntityTiles","project","obj","entity","allEntities","node","attrib","injectedApi","gqlApi","build","projectName","id","response","meta","entityType","entityId","res","error","getEntityApi","useGetEventTileQuery","useGetEntityTilesQuery","useGetEntityQuery","useLazyGetEntityQuery","useGetProductVersionsQuery","useGetSearchedEntitiesInfiniteQuery"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntity.es.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport {
|
|
1
|
+
{"version":3,"file":"getEntity.es.js","sources":["../../../../../../src/api/queries/entities/getEntity.ts"],"sourcesContent":["// @ts-nocheck\nimport { gqlApi } from '@shared/api/generated'\nimport type { GetSearchedTasksQuery } from '@shared/api/generated'\nimport {\n PRODUCT_TILE_FRAGMENT,\n FOLDER_TILE_FRAGMENT,\n VERSION_TILE_FRAGMENT,\n TASK_TILE_FRAGMENT,\n} from './entityQueries'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\n\nconst buildEventTileQuery = (type) => {\n return `\n query EventTile($projectName: String!, $id: String!) {\n project(name: $projectName) {\n ${type}(id: $id) {\n id\n name\n status\n updatedAt\n }\n }\n }\n `\n}\n\nconst buildEntityTilesQuery = (entities) => {\n // const entities = {[type]: [id, id, id]}\n\n const typesQuery = Object.entries(entities).reduce(\n (acc, [type, ids]) =>\n acc +\n ` ${type}s(ids: ${JSON.stringify(ids)}) {\n edges {\n node {\n ...${type}TileFragment\n }\n }\n }\n `,\n '',\n )\n\n let query = `\n query EntityTiles($projectName: String!) {\n project(name: $projectName) {\n ${typesQuery}\n }\n }\n `\n\n const fragments = {\n folder: FOLDER_TILE_FRAGMENT,\n product: PRODUCT_TILE_FRAGMENT,\n version: VERSION_TILE_FRAGMENT,\n task: TASK_TILE_FRAGMENT,\n }\n\n // Add fragments\n for (const type in entities) {\n query += fragments[type]\n }\n\n return query\n}\n\nfunction getNonObjectValue(value) {\n if (typeof value !== 'object' || value === null) {\n return value\n }\n\n // If value is an object, get the first non-object value from its properties\n let keys = Object.keys(value)\n if (keys.length > 0) {\n return getNonObjectValue(value[keys[0]])\n }\n\n // If no non-object value found, return undefined\n return undefined\n}\n\nexport const formatEntityTiles = (project, entities) => {\n // data = {project: {folders: {edges: [{node: {id}}]}}}\n\n // if entities is an array, convert to object\n if (Array.isArray(entities)) {\n const obj = {}\n for (const entity of entities) {\n obj[entity] = []\n }\n entities = obj\n }\n\n const allEntities = []\n for (const type in entities) {\n if (!project) continue\n let entities = project[type + 's']\n // If no entities of this type\n if (!entities) continue\n entities = entities.edges.map(({ node }) => ({ ...node, type }))\n allEntities.push(...entities)\n }\n\n // loop through each entity and child and if it is an array or object, use first child value as value\n for (const entity of allEntities) {\n for (const attrib in entity) {\n if (!entity[attrib]) continue\n if (Array.isArray(entity[attrib])) {\n entity[attrib] = entity[attrib][0]\n } else if (typeof entity[attrib] === 'object') {\n entity[attrib] = getNonObjectValue(Object.values(entity[attrib])[0])\n }\n // if entity type is version, add 0 prefix to version number 1 -> v001, 12 -> v012\n if (entity.type === 'version' && attrib === 'version') {\n entity[attrib] = 'v' + entity[attrib].toString().padStart(3, '0')\n }\n }\n entity.thumbnailEntityType = entity.type\n if (entity.type === 'product') {\n entity.thumbnailEntityId = entity.latestVersion.thumbnailEntityId\n entity.thumbnailId = entity.latestVersion.thumbnailId\n entity.thumbnailEntityType = 'version'\n }\n }\n\n return allEntities\n}\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getEventTile: build.query({\n query: ({ projectName, id, type }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEventTileQuery(type),\n variables: { projectName, id },\n },\n }),\n transformResponse: (response, meta, { type }) => response.data?.project[type],\n }),\n getEntityTiles: build.query({\n query: ({ projectName, entities }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: buildEntityTilesQuery(entities),\n variables: { projectName },\n },\n }),\n transformResponse: (response, meta, { entities }) =>\n formatEntityTiles(response.data?.project, entities),\n }),\n getEntity: build.query({\n query: ({ projectName, entityType, entityId }) => ({\n url: `/api/projects/${projectName}/${entityType}s/${entityId}`,\n }),\n providesTags: (res, error, { entityId }) => [{ type: 'entity', id: entityId }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst getEntityApi = injectedApi.enhanceEndpoints({\n endpoints: {\n GetProductVersions: {},\n },\n})\n\nexport const {\n useGetEventTileQuery,\n useGetEntityTilesQuery,\n useGetEntityQuery,\n useLazyGetEntityQuery,\n useGetProductVersionsQuery,\n useGetSearchedEntitiesInfiniteQuery,\n} = getEntityApi\nexport default getEntityApi\n"],"names":["buildEventTileQuery","type","buildEntityTilesQuery","entities","query","acc","ids","fragments","FOLDER_TILE_FRAGMENT","PRODUCT_TILE_FRAGMENT","VERSION_TILE_FRAGMENT","TASK_TILE_FRAGMENT","getNonObjectValue","value","keys","formatEntityTiles","project","obj","entity","allEntities","node","attrib","injectedApi","gqlApi","build","projectName","id","response","meta","entityType","entityId","res","error","getEntityApi","useGetEventTileQuery","useGetEntityTilesQuery","useGetEntityQuery","useLazyGetEntityQuery","useGetProductVersionsQuery","useGetSearchedEntitiesInfiniteQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAMA,IAAsB,CAACC,MACpB;AAAA;AAAA;AAAA,QAGDA,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAWNC,IAAwB,CAACC,MAAa;AAiB1C,MAAIC,IAAQ;AAAA;AAAA;AAAA,QAdO,OAAO,QAAQD,CAAQ,EAAE;AAAA,IAC1C,CAACE,GAAK,CAACJ,GAAMK,CAAG,MACdD,IACA,IAAIJ,CAAI,UAAU,KAAK,UAAUK,CAAG,CAAC;AAAA;AAAA;AAAA,eAG5BL,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA,IAKf;AAAA,EAAA,CAMc;AAAA;AAAA;AAAA;AAKhB,QAAMM,IAAY;AAAA,IAChB,QAAQC;AAAA,IACR,SAASC;AAAA,IACT,SAASC;AAAA,IACT,MAAMC;AAAA,EAAA;AAIR,aAAWV,KAAQE;AACjB,IAAAC,KAASG,EAAUN,CAAI;AAGzB,SAAOG;AACT;AAEA,SAASQ,EAAkBC,GAAO;AAChC,MAAI,OAAOA,KAAU,YAAYA,MAAU;AACzC,WAAOA;AAIT,MAAIC,IAAO,OAAO,KAAKD,CAAK;AAC5B,MAAIC,EAAK,SAAS;AAChB,WAAOF,EAAkBC,EAAMC,EAAK,CAAC,CAAC,CAAC;AAK3C;AAEO,MAAMC,IAAoB,CAACC,GAASb,MAAa;AAItD,MAAI,MAAM,QAAQA,CAAQ,GAAG;AAC3B,UAAMc,IAAM,CAAA;AACZ,eAAWC,KAAUf;AACnB,MAAAc,EAAIC,CAAM,IAAI,CAAA;AAEhB,IAAAf,IAAWc;AAAA,EACb;AAEA,QAAME,IAAc,CAAA;AACpB,aAAWlB,KAAQE,GAAU;AAC3B,QAAI,CAACa,EAAS;AACd,QAAIb,IAAWa,EAAQf,IAAO,GAAG;AAEjC,IAAKE,MACLA,IAAWA,EAAS,MAAM,IAAI,CAAC,EAAE,MAAAiB,EAAA,OAAY,EAAE,GAAGA,GAAM,MAAAnB,EAAA,EAAO,GAC/DkB,EAAY,KAAK,GAAGhB,CAAQ;AAAA,EAC9B;AAGA,aAAWe,KAAUC,GAAa;AAChC,eAAWE,KAAUH;AACnB,MAAKA,EAAOG,CAAM,MACd,MAAM,QAAQH,EAAOG,CAAM,CAAC,IAC9BH,EAAOG,CAAM,IAAIH,EAAOG,CAAM,EAAE,CAAC,IACxB,OAAOH,EAAOG,CAAM,KAAM,aACnCH,EAAOG,CAAM,IAAIT,EAAkB,OAAO,OAAOM,EAAOG,CAAM,CAAC,EAAE,CAAC,CAAC,IAGjEH,EAAO,SAAS,aAAaG,MAAW,cAC1CH,EAAOG,CAAM,IAAI,MAAMH,EAAOG,CAAM,EAAE,WAAW,SAAS,GAAG,GAAG;AAGpE,IAAAH,EAAO,sBAAsBA,EAAO,MAChCA,EAAO,SAAS,cAClBA,EAAO,oBAAoBA,EAAO,cAAc,mBAChDA,EAAO,cAAcA,EAAO,cAAc,aAC1CA,EAAO,sBAAsB;AAAA,EAEjC;AAEA,SAAOC;AACT,GAEMG,IAAcC,EAAO,gBAAgB;AAAA,EACzC,WAAW,CAACC,OAAW;AAAA,IACrB,cAAcA,EAAM,MAAM;AAAA,MACxB,OAAO,CAAC,EAAE,aAAAC,GAAa,IAAAC,GAAI,MAAAzB,SAAY;AAAA,QACrC,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOD,EAAoBC,CAAI;AAAA,UAC/B,WAAW,EAAE,aAAAwB,GAAa,IAAAC,EAAA;AAAA,QAAG;AAAA,MAC/B;AAAA,MAEF,mBAAmB,CAACC,GAAUC,GAAM,EAAE,MAAA3B,QAAW0B,EAAS,MAAM,QAAQ1B,CAAI;AAAA,IAAA,CAC7E;AAAA,IACD,gBAAgBuB,EAAM,MAAM;AAAA,MAC1B,OAAO,CAAC,EAAE,aAAAC,GAAa,UAAAtB,SAAgB;AAAA,QACrC,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,UACJ,OAAOD,EAAsBC,CAAQ;AAAA,UACrC,WAAW,EAAE,aAAAsB,EAAA;AAAA,QAAY;AAAA,MAC3B;AAAA,MAEF,mBAAmB,CAACE,GAAUC,GAAM,EAAE,UAAAzB,QACpCY,EAAkBY,EAAS,MAAM,SAASxB,CAAQ;AAAA,IAAA,CACrD;AAAA,IACD,WAAWqB,EAAM,MAAM;AAAA,MACrB,OAAO,CAAC,EAAE,aAAAC,GAAa,YAAAI,GAAY,UAAAC,SAAgB;AAAA,QACjD,KAAK,iBAAiBL,CAAW,IAAII,CAAU,KAAKC,CAAQ;AAAA,MAAA;AAAA,MAE9D,cAAc,CAACC,GAAKC,GAAO,EAAE,UAAAF,EAAA,MAAe,CAAC,EAAE,MAAM,UAAU,IAAIA,GAAU;AAAA,IAAA,CAC9E;AAAA,EAAA;AAAA,EAEH,kBAAkB;AACpB,CAAC,GAEKG,IAAeX,EAAY,iBAAiB;AAAA,EAChD,WAAW;AAAA,IACT,oBAAoB,CAAA;AAAA,EAAC;AAEzB,CAAC,GAEY;AAAA,EACX,sBAAAY;AAAA,EACA,wBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,qCAAAC;AACF,IAAIN;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const Q=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");const w=require("../../../util/thumbnailWebsocket.cjs.js");require("../users/updateUsers.cjs.js");const b=require("../../../util/realtimeUpdatesUtils.cjs.js"),k=require("../../../util/pubsub.cjs.js"),j=require("./transformDetailsPanelData.cjs.js"),N=Q.api.enhanceEndpoints({endpoints:{GetDetailsPanelFolder:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.folder;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"folder"}):null}},GetDetailsPanelTask:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.task;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"task"}):null}},GetDetailsPanelVersion:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.version;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"version"}):null}},GetDetailsPanelRepresentation:{transformResponse:(o,u,r)=>{const{projectName:s}=r,e=o?.project?.representation;return e?j.transformDetailsPanelQueriesData({projectName:s,entity:e,entityType:"representation"}):null}}}}),G=o=>{switch(o){case"task":return"GetDetailsPanelTask";case"version":return"GetDetailsPanelVersion";case"folder":return"GetDetailsPanelFolder";case"representation":return"GetDetailsPanelRepresentation"}},S=N.injectEndpoints({endpoints:o=>({getEntitiesDetailsPanel:o.query({async queryFn({entities:u=[],entityType:r},{dispatch:s}){if(!j.detailsPanelEntityTypes.includes(r))return{error:{status:"CUSTOM_ERROR",error:"Entity type not supported"}};try{const e=u.map(p=>s(N.endpoints[G(r)].initiate({projectName:p.projectName,entityId:p.id},{forceRefetch:!0})));return{data:(await Promise.all(e)).filter(p=>!!p.data).map(p=>p.data)}}catch(e){return console.error(e),{error:{status:"FETCH_ERROR",error:e.message}}}},async onCacheEntryAdded({entityType:u},{updateCachedData:r,cacheDataLoaded:s,cacheEntryRemoved:e,dispatch:T,getCacheEntry:R}){let p,I;const g=async(h,f)=>{const E=R().data??[],y=new Set(E.map(i=>`${i.projectName}:${i.id}`)),P=new Map,c=[];h.forEach(({topic:i,message:t})=>{const a=t.summary?.entityId,n=t.project;if(!a||!n)return;const m=`${n}:${a}`;if(!y.has(m))return;const d=i.split(".")[2]?.replace("_changed",""),q=b.getSupportedEntityPatch(d,t.summary,b.REALTIME_TASK_SUPPORTED_VALUE_FIELDS);q?c.push({id:a,projectName:n,field:q.field,value:q.value}):P.set(m,{id:a,projectName:n})}),c.length&&r(i=>{c.forEach(({id:t,projectName:a,field:n,value:m})=>{const d=i.find(q=>q.id===t&&q.projectName===a);d&&(Object.assign(d,{...n==="status"||n==="tags"?{[n]:m}:{},...n==="type"?{entitySubType:m}:{}}),n==="assignees"&&d.task&&(d.task.assignees=m),n==="type"&&d.task&&(d.task.taskType=m))})});const l=Array.from(P.values());if(!l.length||l.length>b.REALTIME_REST_CALL_LIMIT)return;await b.waitForRealtimeJitter();const D=await Promise.all(l.map(async i=>{try{const t=await T(N.endpoints[G(u)].initiate({projectName:i.projectName,entityId:i.id},{forceRefetch:!0}));if(t.status!=="fulfilled")return console.error(t?.error||"No entity found"),null;const a=t.data;return a||(console.error("No entity found"),null)}catch(t){return console.error("Entity task realtime update failed",t),null}}));f()&&r(i=>{D.forEach(t=>{if(!t)return;const a=i.findIndex(n=>n.id===t.id&&n.projectName===t.projectName);if(a===-1){console.error("Entity not found in cache");return}i[a]=t})})},_=b.createRealtimeBatcher(g,({topic:h,message:f})=>`${f.project}:${f.summary?.entityId}:${h}`);try{await s,I=w.subscribeToThumbnailUpdates(E=>{const y=R().data??[],P=E.filter(c=>y.some(l=>l.id===c.summary.entityId&&l.projectName===c.project));P.length!==0&&r(c=>{P.forEach(l=>{const D=c.findIndex(i=>i.id===l.summary.entityId);D!==-1&&c[D]&&l.summary.thumbnailHash&&(c[D].thumbnailHash=l.summary.thumbnailHash)})})},[u]);const h=(E,y)=>{!y?.project||!y?.summary?.entityId||_.add({topic:E,message:y})},f=`entity.${u}`;p=k.subscribe(f,h)}catch{}await e,k.unsubscribe(p),I&&I(),_.clear()},providesTags:(u,r,{entities:s,entityType:e})=>[...s.map(({id:T})=>({id:T,type:"entities"})),{type:"entities",id:e.toUpperCase()},{type:"entities",id:"LIST"}]})})}),{useGetEntitiesDetailsPanelQuery:L,useLazyGetEntitiesDetailsPanelQuery:A}=S;exports.detailsPanelQueries=S;exports.useGetEntitiesDetailsPanelQuery=L;exports.useLazyGetEntitiesDetailsPanelQuery=A;
|
|
2
2
|
//# sourceMappingURL=getEntityPanel.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityPanel.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import {\n gqlApi,\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entities, entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const matchedMessages = messages.filter((m) =>\n entities.some((e) => e.id === m.summary.entityId && e.projectName === m.project),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex((e: any) => e.id === message.summary.entityId)\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = async (_topic: string, message: any) => {\n const messageEntityId = message.summary?.entityId\n const matchedEntity = entities.find((entity) => entity.id === messageEntityId)\n // check if the message is relevant to the current query\n if (!matchedEntity) return\n\n try {\n // get the new data for the entity\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: matchedEntity.projectName,\n entityId: matchedEntity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // check the res\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return\n }\n\n const updatedEntity = res.data\n\n if (!updatedEntity) {\n console.error('No entity found')\n return\n }\n\n updateCachedData((draft) => {\n // find the entity in the cache\n const entityIndex = draft.findIndex((entity: any) => entity.id === updatedEntity.id)\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // update the entity in the cache\n draft[entityIndex] = updatedEntity\n })\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return\n }\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","updateCachedData","cacheDataLoaded","cacheEntryRemoved","token","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","matchedMessages","m","e","draft","message","entityIndex","handlePubSub","_topic","messageEntityId","matchedEntity","updatedEntity","error","topic","PubSub","_res","_error","id","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"mzIA4CMA,EAAqBC,EAAAA,IAAO,iBAA+C,CAC/E,UAAW,CACT,sBAAuB,CACrB,kBAAmB,CAACC,EAAsCC,EAAOC,IAAS,CACxE,KAAM,CAAE,YAAAC,GAAgBD,EAClBE,EAASJ,GAAU,SAAS,OAClC,OAAKI,EACEC,mCAAiC,CACtC,YAAAF,EACA,OAAAC,EACA,WAAY,QAAA,CACb,EALmB,IAMtB,CAAA,EAEF,oBAAqB,CACnB,kBAAmB,CAACJ,EAAoCC,EAAOC,IAAS,CACtE,KAAM,CAAE,YAAAC,GAAgBD,EAClBE,EAASJ,GAAU,SAAS,KAClC,OAAKI,EACEC,mCAAiC,CACtC,YAAAF,EACA,OAAAC,EACA,WAAY,MAAA,CACb,EALmB,IAMtB,CAAA,EAEF,uBAAwB,CACtB,kBAAmB,CAACJ,EAAuCC,EAAOC,IAAS,CACzE,KAAM,CAAE,YAAAC,GAAgBD,EAClBE,EAASJ,GAAU,SAAS,QAClC,OAAKI,EACEC,mCAAiC,CACtC,YAAAF,EACA,OAAAC,EACA,WAAY,SAAA,CACb,EALmB,IAMtB,CAAA,EAEF,8BAA+B,CAC7B,kBAAmB,CAACJ,EAA8CC,EAAOC,IAAS,CAChF,KAAM,CAAE,YAAAC,GAAgBD,EAClBE,EAASJ,GAAU,SAAS,eAClC,OAAKI,EACEC,mCAAiC,CACtC,YAAAF,EACA,OAAAC,EACA,WAAY,gBAAA,CACb,EALmB,IAMtB,CAAA,CACF,CAEJ,CAAC,EAaKE,EAA0BC,GAAsD,CACpF,OAAQA,EAAA,CACN,IAAK,OACH,MAAO,sBAET,IAAK,UACH,MAAO,yBAET,IAAK,SACH,MAAO,wBAET,IAAK,iBACH,MAAO,+BAAA,CAEb,EAEMC,EAAuBV,EAAmB,gBAAgB,CAC9D,UAAYW,IAAW,CACrB,wBAAyBA,EAAM,MAA6D,CAC1F,MAAM,QAAQ,CAAE,SAAAC,EAAW,CAAA,EAAI,WAAAH,CAAA,EAAc,CAAE,SAAAI,GAAY,CACzD,GAAI,CAACC,EAAAA,wBAAwB,SAASL,CAAU,EAC9C,MAAO,CACL,MAAO,CACL,OAAQ,eACR,MAAO,2BAAA,CACT,EAIJ,GAAI,CACF,MAAMM,EAAWH,EAAS,IAAKN,GACtBO,EACLb,EAAmB,UAAUQ,EAAuBC,CAAU,CAAC,EAAE,SAC/D,CACE,YAAaH,EAAO,YACpB,SAAUA,EAAO,EAAA,EAEnB,CAAE,aAAc,EAAA,CAAK,CACvB,CAEH,EAQD,MAAO,CAAE,MANG,MAAM,QAAQ,IAAIS,CAAQ,GAGnC,OAAQC,GAAQ,CAAC,CAACA,EAAI,IAAI,EAC1B,IAAKA,GAAQA,EAAI,IAAI,CAET,CACjB,OAAS,EAAQ,CACf,eAAQ,MAAM,CAAC,EACR,CAAE,MAAO,CAAE,OAAQ,cAAe,MAAO,EAAE,QAAQ,CAC5D,CACF,EACA,MAAM,kBACJ,CAAE,SAAAJ,EAAU,WAAAH,CAAA,EACZ,CAAE,iBAAAQ,EAAkB,gBAAAC,EAAiB,kBAAAC,EAAmB,SAAAN,GACxD,CACA,IAAIO,EACAC,EACJ,GAAI,CAEF,MAAMH,EAENG,EAAwBC,EAAAA,4BACrBC,GAAuC,CACtC,MAAMC,EAAkBD,EAAS,OAAQE,GACvCb,EAAS,KAAMc,GAAMA,EAAE,KAAOD,EAAE,QAAQ,UAAYC,EAAE,cAAgBD,EAAE,OAAO,CAAA,EAE7ED,EAAgB,SAAW,GAE/BP,EAAkBU,GAAU,CAC1BH,EAAgB,QAASI,GAAY,CACnC,MAAMC,EAAcF,EAAM,UAAWD,GAAWA,EAAE,KAAOE,EAAQ,QAAQ,QAAQ,EAC7EC,IAAgB,IAAMF,EAAME,CAAW,GAAKD,EAAQ,QAAQ,gBAC9DD,EAAME,CAAW,EAAE,cAAgBD,EAAQ,QAAQ,cAEvD,CAAC,CACH,CAAC,CACH,EACA,CAACnB,CAAU,CAAA,EAGb,MAAMqB,EAAe,MAAOC,EAAgBH,IAAiB,CAC3D,MAAMI,EAAkBJ,EAAQ,SAAS,SACnCK,EAAgBrB,EAAS,KAAMN,GAAWA,EAAO,KAAO0B,CAAe,EAE7E,GAAKC,EAEL,GAAI,CAEF,MAAMjB,EAAM,MAAMH,EAChBb,EAAmB,UAAUQ,EAAuBC,CAAU,CAAC,EAAE,SAC/D,CACE,YAAawB,EAAc,YAC3B,SAAUA,EAAc,EAAA,EAE1B,CAAE,aAAc,EAAA,CAAK,CACvB,EAIF,GAAIjB,EAAI,SAAW,YAAa,CAC9B,QAAQ,MAAMA,GAAK,OAAS,iBAAiB,EAC7C,MACF,CAEA,MAAMkB,EAAgBlB,EAAI,KAE1B,GAAI,CAACkB,EAAe,CAClB,QAAQ,MAAM,iBAAiB,EAC/B,MACF,CAEAjB,EAAkBU,GAAU,CAE1B,MAAME,EAAcF,EAAM,UAAWrB,GAAgBA,EAAO,KAAO4B,EAAc,EAAE,EAEnF,GAAIL,IAAgB,GAAI,CACtB,QAAQ,MAAM,2BAA2B,EACzC,MACF,CAGAF,EAAME,CAAW,EAAIK,CACvB,CAAC,CACH,OAASC,EAAO,CACd,QAAQ,MAAM,qCAAsCA,CAAK,EACzD,MACF,CACF,EAEMC,EAAQ,UAAU3B,CAAU,GAElCW,EAAQiB,EAAO,UAAUD,EAAON,CAAY,CAC9C,MAAQ,CAGR,CAEA,MAAMX,EAENkB,EAAO,YAAYjB,CAAK,EACpBC,GACFA,EAAA,CAEJ,EACA,aAAc,CAACiB,EAAMC,EAAQ,CAAE,SAAA3B,EAAU,WAAAH,KAAiB,CACxD,GAAGG,EAAS,IAAI,CAAC,CAAE,GAAA4B,CAAA,KAA0B,CAAE,GAAAA,EAAI,KAAM,UAAA,EAAa,EACtE,CAAE,KAAM,WAAY,GAAI/B,EAAW,aAAY,EAC/C,CAAE,KAAM,WAAY,GAAI,MAAA,CAAO,CACjC,CACD,CAAA,EAEL,CAAC,EAEY,CAAE,gCAAAgC,EAAiC,oCAAAC,GAC9ChC"}
|
|
1
|
+
{"version":3,"file":"getEntityPanel.cjs.js","sources":["../../../../../../src/api/queries/entities/getEntityPanel.ts"],"sourcesContent":["import { gqlApi } from '@shared/api/generated'\nimport type {\n GetDetailsPanelFolderQuery,\n GetDetailsPanelRepresentationQuery,\n GetDetailsPanelTaskQuery,\n GetDetailsPanelVersionQuery,\n} from '@shared/api/generated'\nimport {\n createRealtimeBatcher,\n getSupportedEntityPatch,\n PubSub,\n REALTIME_REST_CALL_LIMIT,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n RealtimeBatchProcessor,\n subscribeToThumbnailUpdates,\n SupportedTaskField,\n ThumbnailUpdateMessage,\n waitForRealtimeJitter,\n} from '@shared/util'\nimport { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n detailsPanelEntityTypes,\n transformDetailsPanelQueriesData,\n} from './transformDetailsPanelData'\nimport type { DetailsPanelEntityData, DetailsPanelEntityType } from './transformDetailsPanelData'\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<\n Definitions,\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelRepresentation'\n> & {\n GetDetailsPanelFolder: OverrideResultType<\n Definitions['GetDetailsPanelFolder'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelTask: OverrideResultType<\n Definitions['GetDetailsPanelTask'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelVersion: OverrideResultType<\n Definitions['GetDetailsPanelVersion'],\n DetailsPanelEntityData | null\n >\n GetDetailsPanelRepresentation: OverrideResultType<\n Definitions['GetDetailsPanelRepresentation'],\n DetailsPanelEntityData | null\n >\n}\n\nconst enhancedDetailsApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetDetailsPanelFolder: {\n transformResponse: (response: GetDetailsPanelFolderQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.folder\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'folder',\n })\n },\n },\n GetDetailsPanelTask: {\n transformResponse: (response: GetDetailsPanelTaskQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.task\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'task',\n })\n },\n },\n GetDetailsPanelVersion: {\n transformResponse: (response: GetDetailsPanelVersionQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.version\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'version',\n })\n },\n },\n GetDetailsPanelRepresentation: {\n transformResponse: (response: GetDetailsPanelRepresentationQuery, _meta, args) => {\n const { projectName } = args\n const entity = response?.project?.representation\n if (!entity) return null\n return transformDetailsPanelQueriesData({\n projectName,\n entity,\n entityType: 'representation',\n })\n },\n },\n },\n})\n\ntype GetEntitiesDetailsPanelArgs = {\n entities: { id: string; projectName: string }[]\n entityType: DetailsPanelEntityType\n}\n\ntype QueryNameType =\n | 'GetDetailsPanelTask'\n | 'GetDetailsPanelVersion'\n | 'GetDetailsPanelFolder'\n | 'GetDetailsPanelRepresentation'\n\nconst getEntityTypeQueryName = (entityType: DetailsPanelEntityType): QueryNameType => {\n switch (entityType) {\n case 'task':\n return 'GetDetailsPanelTask'\n\n case 'version':\n return 'GetDetailsPanelVersion'\n\n case 'folder':\n return 'GetDetailsPanelFolder'\n\n case 'representation':\n return 'GetDetailsPanelRepresentation'\n }\n}\n\nconst detailsPanelQueries2 = enhancedDetailsApi.injectEndpoints({\n endpoints: (build) => ({\n getEntitiesDetailsPanel: build.query<DetailsPanelEntityData[], GetEntitiesDetailsPanelArgs>({\n async queryFn({ entities = [], entityType }, { dispatch }) {\n if (!detailsPanelEntityTypes.includes(entityType)) {\n return {\n error: {\n status: 'CUSTOM_ERROR',\n error: 'Entity type not supported',\n } as FetchBaseQueryError,\n }\n }\n\n try {\n const promises = entities.map((entity) => {\n return dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n })\n\n const res = await Promise.all(promises)\n\n const entitiesData = res\n .filter((res) => !!res.data)\n .map((res) => res.data) as DetailsPanelEntityData[]\n\n return { data: entitiesData }\n } catch (e: any) {\n console.error(e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n { entityType },\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n let token\n let unsubscribeThumbnails: (() => void) | undefined\n const batchProcessMessages: RealtimeBatchProcessor<{\n topic: string\n message: any\n }> = async (updates, isActive) => {\n const cachedEntities = getCacheEntry().data ?? []\n const cachedEntityKeys = new Set(\n cachedEntities.map((entity) => `${entity.projectName}:${entity.id}`),\n )\n const entitiesToFetch = new Map<string, { id: string; projectName: string }>()\n const patches: {\n id: string\n projectName: string\n field: SupportedTaskField\n value: string | string[]\n }[] = []\n\n updates.forEach(({ topic, message }) => {\n const entityId = message.summary?.entityId\n const projectName = message.project\n if (!entityId || !projectName) return\n\n const entityKey = `${projectName}:${entityId}`\n // Only refresh entities that are currently displayed in this panel.\n if (!cachedEntityKeys.has(entityKey)) return\n\n const field = topic.split('.')[2]?.replace('_changed', '')\n const patch = getSupportedEntityPatch(\n field,\n message.summary,\n REALTIME_TASK_SUPPORTED_VALUE_FIELDS,\n )\n if (patch) {\n patches.push({\n id: entityId,\n projectName,\n field: patch.field as SupportedTaskField,\n value: patch.value,\n })\n } else {\n entitiesToFetch.set(entityKey, { id: entityId, projectName })\n }\n })\n\n if (patches.length) {\n updateCachedData((draft) => {\n patches.forEach(({ id, projectName, field, value }) => {\n const entity = draft.find(\n (item) => item.id === id && item.projectName === projectName,\n )\n if (!entity) return\n\n Object.assign(entity, {\n ...(field === 'status' || field === 'tags' ? { [field]: value } : {}),\n ...(field === 'type' ? { entitySubType: value } : {}),\n })\n\n if (field === 'assignees' && entity.task) {\n entity.task.assignees = value as string[]\n }\n if (field === 'type' && entity.task) {\n entity.task.taskType = value as string\n }\n })\n })\n }\n\n const entitiesToRefresh = Array.from(entitiesToFetch.values())\n if (!entitiesToRefresh.length || entitiesToRefresh.length > REALTIME_REST_CALL_LIMIT) {\n return\n }\n\n // Avoid sending a burst of requests immediately after a realtime event.\n await waitForRealtimeJitter()\n const updatedEntities = await Promise.all(\n entitiesToRefresh.map(async (entity) => {\n try {\n // Get the new data for the entity.\n const res = await dispatch(\n enhancedDetailsApi.endpoints[getEntityTypeQueryName(entityType)].initiate(\n {\n projectName: entity.projectName,\n entityId: entity.id,\n },\n { forceRefetch: true },\n ),\n )\n\n // Check the response.\n if (res.status !== 'fulfilled') {\n console.error(res?.error || 'No entity found')\n return null\n }\n\n const updatedEntity = res.data\n if (!updatedEntity) {\n console.error('No entity found')\n return null\n }\n\n return updatedEntity\n } catch (error) {\n console.error('Entity task realtime update failed', error)\n return null\n }\n }),\n )\n if (!isActive()) return\n\n updateCachedData((draft) => {\n updatedEntities.forEach((updatedEntity) => {\n if (!updatedEntity) return\n\n // Find the entity in the cache.\n const entityIndex = draft.findIndex(\n (entity) =>\n entity.id === updatedEntity.id &&\n entity.projectName === updatedEntity.projectName,\n )\n\n if (entityIndex === -1) {\n console.error('Entity not found in cache')\n return\n }\n\n // Update the entity in the cache.\n draft[entityIndex] = updatedEntity\n })\n })\n }\n const batcher = createRealtimeBatcher(\n batchProcessMessages,\n ({ topic, message }) => `${message.project}:${message.summary?.entityId}:${topic}`,\n )\n\n try {\n // wait for the initial query to resolve before proceeding\n await cacheDataLoaded\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const cachedEntities = getCacheEntry().data ?? []\n const matchedMessages = messages.filter((m) =>\n cachedEntities.some(\n (entity) => entity.id === m.summary.entityId && entity.projectName === m.project,\n ),\n )\n if (matchedMessages.length === 0) return\n\n updateCachedData((draft) => {\n matchedMessages.forEach((message) => {\n const entityIndex = draft.findIndex(\n (entity) => entity.id === message.summary.entityId,\n )\n if (entityIndex !== -1 && draft[entityIndex] && message.summary.thumbnailHash) {\n draft[entityIndex].thumbnailHash = message.summary.thumbnailHash\n }\n })\n })\n },\n [entityType],\n )\n\n const handlePubSub = (_topic: string, message: any) => {\n if (!message?.project || !message?.summary?.entityId) return\n batcher.add({ topic: _topic, message })\n }\n\n const topic = `entity.${entityType}`\n // sub to websocket topic\n token = PubSub.subscribe(topic, handlePubSub)\n } catch {\n // no-op in case `cacheEntryRemoved` resolves before `cacheDataLoaded`,\n // in which case `cacheDataLoaded` will throw\n }\n // cacheEntryRemoved will resolve when the cache subscription is no longer active\n await cacheEntryRemoved\n // perform cleanup steps once the `cacheEntryRemoved` promise resolves\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n batcher.clear()\n },\n providesTags: (_res, _error, { entities, entityType }) => [\n ...entities.map(({ id }: { id: string }) => ({ id, type: 'entities' })),\n { type: 'entities', id: entityType.toUpperCase() },\n { type: 'entities', id: 'LIST' },\n ],\n }),\n }),\n})\n\nexport const { useGetEntitiesDetailsPanelQuery, useLazyGetEntitiesDetailsPanelQuery } =\n detailsPanelQueries2\nexport { detailsPanelQueries2 as detailsPanelQueries }\n"],"names":["enhancedDetailsApi","gqlApi","response","_meta","args","projectName","entity","transformDetailsPanelQueriesData","getEntityTypeQueryName","entityType","detailsPanelQueries2","build","entities","dispatch","detailsPanelEntityTypes","promises","res","updateCachedData","cacheDataLoaded","cacheEntryRemoved","getCacheEntry","token","unsubscribeThumbnails","batchProcessMessages","updates","isActive","cachedEntities","cachedEntityKeys","entitiesToFetch","patches","topic","message","entityId","entityKey","field","patch","getSupportedEntityPatch","REALTIME_TASK_SUPPORTED_VALUE_FIELDS","draft","id","value","item","entitiesToRefresh","REALTIME_REST_CALL_LIMIT","waitForRealtimeJitter","updatedEntities","updatedEntity","error","entityIndex","batcher","createRealtimeBatcher","subscribeToThumbnailUpdates","messages","matchedMessages","m","handlePubSub","_topic","PubSub","_res","_error","useGetEntitiesDetailsPanelQuery","useLazyGetEntitiesDetailsPanelQuery"],"mappings":"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"}
|