@ynput/ayon-frontend-shared 0.3.46 → 0.3.48
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 +38 -35
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +231 -228
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +193 -25
- package/dist/Slicer.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.es.js +27 -26
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs18.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs22.js +1 -1
- package/dist/_virtual/index.cjs23.js +1 -1
- package/dist/_virtual/index.cjs24.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es10.js +2 -2
- package/dist/_virtual/index.es11.js +2 -2
- package/dist/_virtual/index.es13.js +2 -2
- package/dist/_virtual/index.es14.js +2 -2
- package/dist/_virtual/index.es15.js +2 -2
- package/dist/_virtual/index.es16.js +2 -2
- package/dist/_virtual/index.es17.js +2 -2
- package/dist/_virtual/index.es18.js +5 -2
- package/dist/_virtual/index.es18.js.map +1 -1
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es22.js +3 -3
- package/dist/_virtual/index.es23.js +5 -5
- package/dist/_virtual/index.es24.js +5 -5
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es8.js +2 -2
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +347 -344
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +41 -39
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +55 -48
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +24 -21
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +3 -3
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +3 -3
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js +2 -0
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js +42 -0
- package/dist/shared/src/api/queries/actions/refreshActiveAndPurgeOthers.es.js.map +1 -0
- 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 +121 -156
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +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 +93 -68
- 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 +63 -56
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +120 -119
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +70 -62
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +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.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 +85 -85
- package/dist/shared/src/api/queries/links/getEntityLinks.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 +267 -259
- package/dist/shared/src/api/queries/overview/getOverview.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 +85 -79
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +170 -2
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +18 -15
- 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 +165 -2
- 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 +164 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +174 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +173 -2
- 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 +5 -2
- 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 +16 -13
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +168 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +260 -89
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +44 -78
- package/dist/shared/src/components/LinksManager/AddNewLinks.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 +172 -2
- 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 +5 -2
- 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 +173 -2
- 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 +158 -2
- 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 +171 -2
- 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 +167 -0
- 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 +209 -40
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +171 -2
- 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 +170 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +16 -13
- 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 +82 -79
- 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 +169 -3
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +12 -9
- 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 +5 -2
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +5 -2
- 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 +41 -38
- 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 +19 -16
- 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 +17 -14
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +18 -15
- package/dist/shared/src/components/ReviewablesSelector/Card.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 +453 -284
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +172 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +18 -15
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +18 -15
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +52 -0
- package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -0
- package/dist/shared/src/components/SyncButton/SyncButton.es.js +265 -0
- package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +171 -2
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +18 -15
- 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 +20 -17
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +18 -15
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +213 -44
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +18 -15
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +39 -36
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +18 -15
- 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 +19 -16
- 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 +51 -48
- 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 +173 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +18 -15
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +18 -15
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +168 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +32 -29
- 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 +18 -15
- 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 +81 -78
- 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 +144 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +174 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +18 -15
- 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 +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +18 -15
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +178 -7
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +206 -59
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +18 -15
- 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 +19 -16
- 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 -15
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +16 -16
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +30 -17
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js +11 -0
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js +27 -0
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +20 -17
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +218 -39
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +78 -75
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +22 -19
- 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 +173 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +173 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +181 -14
- 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 +169 -2
- 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 +80 -77
- 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 +197 -26
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +9 -8
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.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 +24 -21
- 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 +18 -15
- 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 +17 -14
- package/dist/shared/src/containers/ListTable/ListTableHeader.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 +5 -2
- 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 +18 -15
- 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 +5 -2
- 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 +84 -81
- 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 +17 -14
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +18 -15
- 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 +508 -321
- 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 +18 -15
- 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 +175 -4
- 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 +176 -6
- 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 +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +174 -2
- 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 +21 -18
- 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 +18 -15
- 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 +18 -15
- 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 +18 -15
- 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 +18 -15
- 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 +5 -2
- 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 +406 -396
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +18 -15
- 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 +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.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 +19 -17
- 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 +5 -2
- 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 +5 -2
- 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 +18 -15
- 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 +18 -15
- 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 +265 -95
- 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 +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +18 -15
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +94 -91
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +20 -17
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +188 -34
- 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 +18 -15
- 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 +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +225 -61
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +18 -15
- 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 +21 -18
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +37 -37
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.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 +353 -51
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +172 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +18 -15
- 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 +216 -45
- 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 +185 -13
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.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 +174 -2
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +40 -289
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +174 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.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 +173 -2
- 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 +174 -2
- 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 +174 -2
- 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 +227 -53
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +176 -6
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +5 -2
- 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 +185 -18
- 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 +209 -38
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +180 -10
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +107 -73
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.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 +210 -38
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +2 -0
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -0
- package/dist/shared/src/context/EntityUpdatesContext.es.js +392 -0
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.cjs.js +2 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.es.js +6 -0
- package/dist/shared/src/context/EntityUpdatesContextInstance.es.js.map +1 -0
- package/dist/shared/src/context/MenuContext.es.js +3 -3
- 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 +178 -6
- 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 +196 -24
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +176 -4
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +52 -45
- 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 +174 -2
- 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 +174 -2
- 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 +174 -2
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +174 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +3 -3
- package/dist/types/api/queries/actions/index.d.ts +1 -0
- package/dist/types/api/queries/actions/refreshActiveAndPurgeOthers.d.ts +11 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +65 -855
- package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +19 -0
- package/dist/types/api/queries/links/getEntityLinks.d.ts +4 -2
- package/dist/types/components/SyncButton/SyncButton.d.ts +11 -0
- package/dist/types/components/SyncButton/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.d.ts +7 -0
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +3 -0
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -42
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +10 -2
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +9 -2
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +1 -0
- package/dist/types/containers/Slicer/hooks/useSelectedEntityIds.d.ts +7 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -0
- package/dist/types/context/EntityUpdatesContext.d.ts +44 -0
- package/dist/types/context/EntityUpdatesContextInstance.d.ts +2 -0
- package/dist/types/context/ProjectFoldersContext.d.ts +2 -2
- package/dist/types/context/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActivities.es.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import {\n gqlApi,\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport { ChecklistCount } from './types'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n // @ts-expect-error - filter is not an query arg\n providesTags: (result, _e, { entityIds, activityTypes = [], filter }) =>\n result\n ? [\n ...result.activities.map((a) => ({ type: 'activity', id: a.activityId })),\n { type: 'activity', id: 'LIST' },\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: id,\n })),\n { type: 'entityActivities', id: 'LIST' },\n ...(Array.isArray(activityTypes) ? activityTypes : [activityTypes])?.map((type) => ({\n type: 'entityActivities',\n id: type as string,\n })),\n // filter is used when a comment is made, to refetch the activities of other filters\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n Omit<GetActivitiesQueryVariables, 'last' | 'first' | 'cursor'> & { filter?: any },\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\n providesTags: (result, _e, { entityIds, activityTypes, filter }) =>\n result\n ? [\n ...result.pages\n .flatMap((page) => page.activities)\n .map((a) => ({ type: 'activity', id: a.activityId })),\n { type: 'activity', id: 'LIST' },\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).filter(Boolean).map((id) => ({\n type: 'entityActivities',\n id: id as string,\n })),\n { type: 'entityActivities', id: 'LIST' },\n ...(Array.isArray(activityTypes) ? activityTypes : [activityTypes])\n ?.filter(Boolean)\n .map((type) => ({\n type: 'entityActivities',\n id: type as string,\n })),\n // filter is used when a comment is made, to refetch the activities of other filters\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).filter(Boolean).map((id) => ({\n type: 'entityActivities',\n id: `${id}-${filterKey(filter)}`,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","result","_e","entityIds","activityTypes","filter","a","id","type","filterKey","countChecklists","_error","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","args","queryParams","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","page","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","index","activityFound","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getActivities.es.js","sources":["../../../../../../src/api/queries/activities/getActivities.ts"],"sourcesContent":["import {\n gqlApi,\n GetActivitiesByIdQuery,\n GetActivitiesQuery,\n GetActivitiesQueryVariables,\n GetActivityUsersQuery,\n GetEntitiesChecklistsQuery,\n} from '@shared/api/generated'\nimport { provideSharedActivityTags, taskProvideTags } from './util/activitiesHelpers'\nimport {\n ActivitiesResult,\n countChecklists,\n filterKey,\n transformActivityData,\n transformTooltipData,\n} from './util/activitiesHelpers'\nimport { ENTITY_TOOLTIP, EntityTooltipQuery } from './activityQueries'\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport { ChecklistCount } from './types'\nimport { handleActivityRealtimeUpdates } from './util/activityRealtimeHandler'\n\ntype ActivityUserNode = GetActivityUsersQuery['users']['edges'][0]['node']\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetActivitiesById'> & {\n GetActivitiesById: OverrideResultType<Definitions['GetActivitiesById'], ActivitiesResult>\n GetActivities: OverrideResultType<Definitions['GetActivities'], ActivitiesResult>\n GetEntitiesChecklists: OverrideResultType<Definitions['GetEntitiesChecklists'], ChecklistCount>\n GetActivityUsers: OverrideResultType<Definitions['GetActivityUsers'], ActivityUserNode[]>\n}\n\nconst enhanceActivitiesApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // Only used by the infinite query below\n GetActivities: {\n transformResponse: (res: GetActivitiesQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n providesTags: provideSharedActivityTags, \n },\n GetActivitiesById: {\n transformResponse: (res: GetActivitiesByIdQuery) =>\n transformActivityData(res.project.activities.edges, res.project.activities.pageInfo),\n },\n GetEntitiesChecklists: {\n transformResponse: (res: GetEntitiesChecklistsQuery) => countChecklists(res),\n providesTags: (res, _error, { entityIds }) =>\n res\n ? [\n { type: 'activity', id: 'LIST' },\n ...res.ids.map((id) => ({ type: 'activity', id: 'checklist-' + id })),\n ...(Array.isArray(entityIds) ? entityIds : [entityIds]).map((id) => ({\n type: 'entityActivities',\n id: 'checklist-' + id,\n })),\n ]\n : [{ type: 'activity', id: 'LIST' }],\n },\n GetActivityUsers: {\n transformResponse: (res: GetActivityUsersQuery) => res.users.edges.map((edge) => edge.node),\n providesTags: (res) =>\n res?.length\n ? [{ type: 'user', id: 'LIST' }, ...res.map(({ name }) => ({ type: 'user', id: name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport type GetActivitiesInfiniteQueryArgs = Omit<\n GetActivitiesQueryVariables,\n 'last' | 'first' | 'cursor'\n> & { filter?: any }\n\nconst ACTIVITIES_INFINITE_QUERY_COUNT = 30\n\nconst getActivitiesGQLApi = enhanceActivitiesApi.injectEndpoints({\n endpoints: (build) => ({\n getActivitiesInfinite: build.infiniteQuery<\n ActivitiesResult,\n GetActivitiesInfiniteQueryArgs,\n { cursor: string; first?: number; last?: number }\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', last: ACTIVITIES_INFINITE_QUERY_COUNT },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage) => {\n const pageInfo = lastPage.pageInfo\n const hasPreviousPage = pageInfo.hasPreviousPage\n\n if (!hasPreviousPage || !pageInfo.endCursor) return undefined\n\n return {\n cursor: pageInfo.endCursor,\n last: ACTIVITIES_INFINITE_QUERY_COUNT,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { filter, ...args } = queryArg\n // Build the query parameters for GetActivities\n const queryParams: GetActivitiesQueryVariables = {\n ...args,\n before: pageParam?.cursor,\n last: pageParam?.last,\n }\n\n // Call the existing GetActivities endpoint\n const result = await api.dispatch(\n enhanceActivitiesApi.endpoints.GetActivities.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n activities: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the activities directly as required by the infinite query format\n return {\n data: result.data || fallback,\n }\n } catch (e: any) {\n console.error('Error in getActivitiesInfinite queryFn:', e)\n return { error: { status: 'FETCH_ERROR', error: e.message } as FetchBaseQueryError }\n }\n },\n async onCacheEntryAdded(\n queryArg,\n { updateCachedData, cacheDataLoaded, cacheEntryRemoved, dispatch, getCacheEntry },\n ) {\n await handleActivityRealtimeUpdates(queryArg, {\n updateCachedData,\n cacheDataLoaded,\n cacheEntryRemoved,\n dispatch,\n getCacheEntry,\n gqlApi: enhanceActivitiesApi,\n })\n },\nprovidesTags: provideSharedActivityTags,\n }),\n // get data for a reference tooltip based on type,id and projectName\n getEntityTooltip: build.query({\n query: ({ projectName, entityId, entityType }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: ENTITY_TOOLTIP(entityType),\n variables: { projectName, entityId },\n },\n }),\n transformResponse: (res: EntityTooltipQuery, _m, { entityType }) =>\n transformTooltipData(res?.data?.project, entityType),\n providesTags: (res: any, _e, { entityType }) => taskProvideTags([res], 'task', entityType),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useGetEntityTooltipQuery,\n useLazyGetActivitiesByIdQuery,\n useGetEntitiesChecklistsQuery,\n useGetActivitiesQuery,\n useGetActivitiesInfiniteInfiniteQuery,\n useGetActivityUsersQuery,\n} = getActivitiesGQLApi\n\nexport { getActivitiesGQLApi }\n\nimport { filterActivityTypes } from './util/activitiesHelpers'\nimport { patchTableLatestComments } from './patchTableLatestComments'\n\nconst updateCache = (activitiesDraft: any, patch: any, isDelete: boolean) => {\n // Handle paginated structure\n if (isDelete) {\n // Remove from any page where it exists\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n page.activities.splice(index, 1)\n return\n }\n }\n } else {\n // Try to update existing activity\n let activityFound = false\n\n for (const page of activitiesDraft.pages) {\n const index = page.activities.findIndex((a: any) => a.activityId === patch.activityId)\n if (index !== -1) {\n // Update the activity\n page.activities[index] = { ...page.activities[index], ...patch }\n activityFound = true\n break\n }\n }\n\n // If activity doesn't exist and this is not a delete operation, add to first page\n if (!activityFound && activitiesDraft.pages.length > 0) {\n activitiesDraft.pages[0].activities.unshift(patch)\n }\n }\n}\n\nconst serializeFilter = (filter: unknown): string => {\n if (filter === undefined || filter === null) return ''\n return typeof filter === 'string' ? filter : JSON.stringify(filter)\n}\n\nconst patchActivities = async (\n { patch, entityIds = [], filter, refs = [], ...rest }: any,\n api: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { dispatch, queryFulfilled, getState } = api\n const refIds = refs.map((ref: any) => ref.id) || []\n const serializedFilter = serializeFilter(filter)\n // build tags that would be affected by this activity\n const invalidatingTags = [...entityIds, ...refIds].map((id) => ({\n type: 'entityActivities',\n id: id + '-' + filterKey(filter),\n }))\n\n const state = getState()\n // get caches that would be affected by this activity\n const entries = getActivitiesGQLApi.util.selectInvalidatedBy(state, invalidatingTags)\n\n // ensure that data is mapped to activityData\n if (method !== 'delete' && patch.data) {\n patch.activityData = { ...patch.activityData, ...patch.data }\n }\n\n // now patch all the caches with the update\n const patches = entries.map(({ originalArgs }) =>\n dispatch(\n getActivitiesGQLApi.util.updateQueryData('getActivitiesInfinite', originalArgs, (draft) =>\n updateCache(draft, patch, method === 'delete'),\n ),\n ),\n )\n\n // patch latestComments in the table caches too (instead of refetching them)\n const tablePatches = patchTableLatestComments(\n { patch, entityIds, filter, refs, ...rest },\n api,\n method,\n )\n\n try {\n await queryFulfilled\n } catch (error: any) {\n for (const patchResult of [...patches, ...tablePatches]) {\n patchResult?.undo()\n }\n }\n}\n\n// get tags for other filter types\nconst getTags = ({ entityId, filter }: { entityId: string; filter: string }) => {\n const invalidateFilters = Object.keys(filterActivityTypes).filter((key) => key !== filter)\n\n const tags = invalidateFilters.map((filter) => ({\n type: 'entityActivities',\n id: entityId + '-' + filter,\n }))\n\n tags.push({ type: 'activity', id: 'LIST' })\n\n tags.push({ type: 'watchers', id: entityId })\n\n return tags\n}\n\nconst updateActivitiesApi = getActivitiesGQLApi.injectEndpoints({\n endpoints: (build) => ({\n createEntityActivity: build.mutation({\n query: ({ projectName, entityType, entityId, data = {} }) => ({\n url: `/api/projects/${projectName}/${entityType}/${entityId}/activities`,\n method: 'POST',\n // generate a new activityId if this is a new activity\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'create')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n\n updateActivity: build.mutation({\n query: ({ projectName, activityId, data }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'PATCH',\n body: data,\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'update')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n deleteActivity: build.mutation({\n query: ({ projectName, activityId }) => ({\n url: `/api/projects/${projectName}/activities/${activityId}`,\n method: 'DELETE',\n }),\n async onQueryStarted(args, api) {\n patchActivities(args, api, 'delete')\n },\n // invalidate other filters that might be affected by this new activity (comments, checklists, etc)\n invalidatesTags: (result, error, { entityId, filter }) => getTags({ entityId, filter }),\n }),\n }),\n overrideExisting: true,\n})\n\nexport const {\n useCreateEntityActivityMutation,\n useDeleteActivityMutation,\n useUpdateActivityMutation,\n} = updateActivitiesApi\nexport { updateActivitiesApi as activitiesQueries }\n"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","provideSharedActivityTags","countChecklists","_error","entityIds","id","edge","name","ACTIVITIES_INFINITE_QUERY_COUNT","getActivitiesGQLApi","build","lastPage","pageInfo","queryArg","pageParam","api","filter","args","queryParams","result","fallback","e","updateCachedData","cacheDataLoaded","cacheEntryRemoved","dispatch","getCacheEntry","handleActivityRealtimeUpdates","projectName","entityId","entityType","ENTITY_TOOLTIP","_m","transformTooltipData","_e","taskProvideTags","useGetEntityTooltipQuery","useLazyGetActivitiesByIdQuery","useGetEntitiesChecklistsQuery","useGetActivitiesQuery","useGetActivitiesInfiniteInfiniteQuery","useGetActivityUsersQuery","updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","serializeFilter","patchActivities","refs","rest","method","queryFulfilled","getState","refIds","ref","invalidatingTags","filterKey","state","entries","patches","originalArgs","draft","tablePatches","patchTableLatestComments","patchResult","getTags","tags","filterActivityTypes","key","updateActivitiesApi","data","error","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=(t,a)=>a.split(".").reduce((e,i)=>e&&e[i]!==void 0?e[i]:void 0,t),m=(t,a)=>{const e=a.split("."),i=e.pop(),c=e.reduce((r,s)=>r&&r[s]!==void 0?r[s]:void 0,t);c&&i&&delete c[i]};function h(t,a){const e={...t};for(const[i,c]of Object.entries(a)){const r=d(e,i);r!==void 0&&(e[c]=r,m(e,i))}return e}const f=(t=[],a)=>{const e=[];return t.forEach(i=>{const c=i.node;if(!c)return;const r=c,o=h(r,{"author.name":"authorName","author.attrib.fullName":"authorFullName","author.attrib.avatarUrl":"authorAvatarUrl"});if(typeof r.activityData=="string")try{o.activityData=JSON.parse(r.activityData)}catch{console.error("Error parsing JSON field activityData",r.activityData)}e.push(o)}),{activities:e,pageInfo:a}},g=t=>{const{id:a,label:e,name:i,status:c,thumbnailId:r,thumbnailHash:s,assignees:o,taskType:p,updatedAt:v,folder:n}=t||{};return{id:a,name:i,title:e||i,type:"task",subTitle:n?.label||n?.name||"",status:c,thumbnailId:r,thumbnailHash:s,updatedAt:v,taskType:p,users:o?.map(l=>({name:l,avatarUrl:`/api/users/${l}/avatar`}))||[],path:n?.path.split("/").splice(-2,1).join("")}},T=t=>{const{id:a,name:e,status:i,thumbnailId:c,author:r,updatedAt:s,product:o}=t;return{id:a,type:"version",name:e,title:e,subTitle:o?.name||"",status:i,thumbnailId:c,updatedAt:s,users:[{name:r||"",avatarUrl:`/api/users/${r}/avatar`}],productType:o?.productType,path:o?.folder?.path?.split("/").pop()}},A=(t,a)=>{switch(a){case"task":return g(t.task);case"version":return T(t.version);default:return{}}},k=t=>{const a=t?.project?.activities?.edges?.map(s=>s?.node),e=a.map(s=>s.body),i=a.map(s=>s.activityId),c=e.reduce((s,o)=>{if(!o)return s;const p=o.match(/\*\s\[\s\]/g);return s+(p?p.length:0)},0),r=e.reduce((s,o)=>{if(!o)return s;const p=o.match(/\*\s\[x\]/g);return s+(p?p.length:0)},0);return{total:c+r,checked:r,unChecked:c,ids:i}},b=(t,a="task",e="task")=>t?.length?[...t.map(({id:i})=>({type:a,id:i})),{type:a,id:e.toUpperCase()+"S"},{type:`kanBan${e.charAt(0).toUpperCase()+e.slice(1)}`,id:e.toUpperCase()+"S"}]:[{type:a,id:e.toUpperCase()+"S"}],y=t=>{if(typeof t=="string")return t;try{return JSON.stringify(t)??""}catch{return""}},S=(t,a,e)=>{if(!t)return[{type:"activity",id:"LIST"}];const{entityIds:i,activityTypes:c,filter:r}=e,s=n=>(Array.isArray(n)?n:[n]).filter(Boolean),o=s(i),p=s(c),v=t.pages?t.pages.flatMap(n=>n.activities):t.activities||[];return[...v.map(n=>({type:"activity",id:n.activityId})),{type:"activity",id:"LIST"},...o.map(n=>({type:"entityActivities",id:n})),{type:"entityActivities",id:"LIST"},...p.map(n=>({type:"entityActivities",id:n})),...o.map(n=>({type:"entityActivities",id:`${n}-${y(r)}`})),...v.filter(n=>n.activityType==="version.publish").map(n=>({type:"entityActivities",id:`version.publish-${n.origin.id}`}))]},u={activity:["comment","version.publish","status.change","assignee.add","assignee.remove","version.review"],comments:["comment"],versions:["version.publish"],updates:["status.change","assignee.add","assignee.remove"],checklists:["checklist"]},I=t=>{if(typeof t=="string")return t in u?u[t]:null;if(t&&typeof t=="object"&&t.conditions){const a=[];let e=!1;return t.conditions.forEach(i=>{i&&i.key&&i.value===!0&&i.key in u&&(a.push(...u[i.key]),e=!0)}),e?Array.from(new Set(a)):u.activity}return u.activity};exports.countChecklists=k;exports.filterActivityTypes=u;exports.filterKey=y;exports.getFilterActivityTypes=I;exports.provideSharedActivityTags=S;exports.taskProvideTags=b;exports.transformActivityData=f;exports.transformTooltipData=A;
|
|
2
2
|
//# sourceMappingURL=activitiesHelpers.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activitiesHelpers.cjs.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
const
|
|
2
|
-
const e = a.split("."),
|
|
3
|
-
|
|
1
|
+
const l = (t, a) => a.split(".").reduce((e, i) => e && e[i] !== void 0 ? e[i] : void 0, t), y = (t, a) => {
|
|
2
|
+
const e = a.split("."), i = e.pop(), c = e.reduce((r, s) => r && r[s] !== void 0 ? r[s] : void 0, t);
|
|
3
|
+
c && i && delete c[i];
|
|
4
4
|
};
|
|
5
5
|
function m(t, a) {
|
|
6
6
|
const e = { ...t };
|
|
7
|
-
for (const [
|
|
8
|
-
const r =
|
|
9
|
-
r !== void 0 && (e[
|
|
7
|
+
for (const [i, c] of Object.entries(a)) {
|
|
8
|
+
const r = l(e, i);
|
|
9
|
+
r !== void 0 && (e[c] = r, y(e, i));
|
|
10
10
|
}
|
|
11
11
|
return e;
|
|
12
12
|
}
|
|
13
|
-
const
|
|
13
|
+
const A = (t = [], a) => {
|
|
14
14
|
const e = [];
|
|
15
|
-
return t.forEach((
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
15
|
+
return t.forEach((i) => {
|
|
16
|
+
const c = i.node;
|
|
17
|
+
if (!c)
|
|
18
18
|
return;
|
|
19
|
-
const r =
|
|
19
|
+
const r = c, o = m(
|
|
20
20
|
r,
|
|
21
21
|
{
|
|
22
22
|
"author.name": "authorName",
|
|
@@ -26,89 +26,113 @@ const k = (t = [], a) => {
|
|
|
26
26
|
);
|
|
27
27
|
if (typeof r.activityData == "string")
|
|
28
28
|
try {
|
|
29
|
-
|
|
29
|
+
o.activityData = JSON.parse(r.activityData);
|
|
30
30
|
} catch {
|
|
31
31
|
console.error("Error parsing JSON field activityData", r.activityData);
|
|
32
32
|
}
|
|
33
|
-
e.push(
|
|
33
|
+
e.push(o);
|
|
34
34
|
}), { activities: e, pageInfo: a };
|
|
35
|
-
},
|
|
35
|
+
}, h = (t) => {
|
|
36
36
|
const {
|
|
37
37
|
id: a,
|
|
38
38
|
label: e,
|
|
39
|
-
name:
|
|
40
|
-
status:
|
|
39
|
+
name: i,
|
|
40
|
+
status: c,
|
|
41
41
|
thumbnailId: r,
|
|
42
|
-
thumbnailHash:
|
|
43
|
-
assignees:
|
|
44
|
-
taskType:
|
|
45
|
-
updatedAt:
|
|
46
|
-
folder:
|
|
42
|
+
thumbnailHash: s,
|
|
43
|
+
assignees: o,
|
|
44
|
+
taskType: p,
|
|
45
|
+
updatedAt: v,
|
|
46
|
+
folder: n
|
|
47
47
|
} = t || {};
|
|
48
48
|
return {
|
|
49
49
|
id: a,
|
|
50
|
-
name:
|
|
51
|
-
title: e ||
|
|
50
|
+
name: i,
|
|
51
|
+
title: e || i,
|
|
52
52
|
type: "task",
|
|
53
|
-
subTitle:
|
|
54
|
-
status:
|
|
53
|
+
subTitle: n?.label || n?.name || "",
|
|
54
|
+
status: c,
|
|
55
55
|
thumbnailId: r,
|
|
56
|
-
thumbnailHash:
|
|
57
|
-
updatedAt:
|
|
58
|
-
taskType:
|
|
59
|
-
users:
|
|
60
|
-
path:
|
|
56
|
+
thumbnailHash: s,
|
|
57
|
+
updatedAt: v,
|
|
58
|
+
taskType: p,
|
|
59
|
+
users: o?.map((d) => ({ name: d, avatarUrl: `/api/users/${d}/avatar` })) || [],
|
|
60
|
+
path: n?.path.split("/").splice(-2, 1).join("")
|
|
61
61
|
};
|
|
62
|
-
},
|
|
63
|
-
const { id: a, name: e, status:
|
|
62
|
+
}, f = (t) => {
|
|
63
|
+
const { id: a, name: e, status: i, thumbnailId: c, author: r, updatedAt: s, product: o } = t;
|
|
64
64
|
return {
|
|
65
65
|
id: a,
|
|
66
66
|
type: "version",
|
|
67
67
|
name: e,
|
|
68
68
|
title: e,
|
|
69
|
-
subTitle:
|
|
70
|
-
status:
|
|
71
|
-
thumbnailId:
|
|
72
|
-
updatedAt:
|
|
69
|
+
subTitle: o?.name || "",
|
|
70
|
+
status: i,
|
|
71
|
+
thumbnailId: c,
|
|
72
|
+
updatedAt: s,
|
|
73
73
|
users: [{ name: r || "", avatarUrl: `/api/users/${r}/avatar` }],
|
|
74
|
-
productType:
|
|
75
|
-
path:
|
|
74
|
+
productType: o?.productType,
|
|
75
|
+
path: o?.folder?.path?.split("/").pop()
|
|
76
76
|
};
|
|
77
|
-
},
|
|
77
|
+
}, T = (t, a) => {
|
|
78
78
|
switch (a) {
|
|
79
79
|
case "task":
|
|
80
|
-
return
|
|
80
|
+
return h(t.task);
|
|
81
81
|
case "version":
|
|
82
|
-
return
|
|
82
|
+
return f(t.version);
|
|
83
83
|
default:
|
|
84
84
|
return {};
|
|
85
85
|
}
|
|
86
|
-
},
|
|
87
|
-
const a = t?.project?.activities?.edges?.map((
|
|
88
|
-
if (!
|
|
89
|
-
const
|
|
90
|
-
return
|
|
91
|
-
}, 0), r = e.reduce((
|
|
92
|
-
if (!
|
|
93
|
-
const
|
|
94
|
-
return
|
|
86
|
+
}, b = (t) => {
|
|
87
|
+
const a = t?.project?.activities?.edges?.map((s) => s?.node), e = a.map((s) => s.body), i = a.map((s) => s.activityId), c = e.reduce((s, o) => {
|
|
88
|
+
if (!o) return s;
|
|
89
|
+
const p = o.match(/\*\s\[\s\]/g);
|
|
90
|
+
return s + (p ? p.length : 0);
|
|
91
|
+
}, 0), r = e.reduce((s, o) => {
|
|
92
|
+
if (!o) return s;
|
|
93
|
+
const p = o.match(/\*\s\[x\]/g);
|
|
94
|
+
return s + (p ? p.length : 0);
|
|
95
95
|
}, 0);
|
|
96
|
-
return { total:
|
|
97
|
-
},
|
|
98
|
-
...t.map(({ id:
|
|
96
|
+
return { total: c + r, checked: r, unChecked: c, ids: i };
|
|
97
|
+
}, I = (t, a = "task", e = "task") => t?.length ? [
|
|
98
|
+
...t.map(({ id: i }) => ({ type: a, id: i })),
|
|
99
99
|
{ type: a, id: e.toUpperCase() + "S" },
|
|
100
100
|
{
|
|
101
101
|
type: `kanBan${e.charAt(0).toUpperCase() + e.slice(1)}`,
|
|
102
102
|
id: e.toUpperCase() + "S"
|
|
103
103
|
}
|
|
104
|
-
] : [{ type: a, id: e.toUpperCase() + "S" }],
|
|
104
|
+
] : [{ type: a, id: e.toUpperCase() + "S" }], g = (t) => {
|
|
105
105
|
if (typeof t == "string") return t;
|
|
106
106
|
try {
|
|
107
107
|
return JSON.stringify(t) ?? "";
|
|
108
108
|
} catch {
|
|
109
109
|
return "";
|
|
110
110
|
}
|
|
111
|
-
},
|
|
111
|
+
}, S = (t, a, e) => {
|
|
112
|
+
if (!t)
|
|
113
|
+
return [{ type: "activity", id: "LIST" }];
|
|
114
|
+
const { entityIds: i, activityTypes: c, filter: r } = e, s = (n) => (Array.isArray(n) ? n : [n]).filter(Boolean), o = s(i), p = s(c), v = t.pages ? t.pages.flatMap((n) => n.activities) : t.activities || [];
|
|
115
|
+
return [
|
|
116
|
+
// Individual Activity Tags
|
|
117
|
+
...v.map((n) => ({ type: "activity", id: n.activityId })),
|
|
118
|
+
{ type: "activity", id: "LIST" },
|
|
119
|
+
// Base Entity Activity Tags
|
|
120
|
+
...o.map((n) => ({ type: "entityActivities", id: n })),
|
|
121
|
+
{ type: "entityActivities", id: "LIST" },
|
|
122
|
+
// Activity Type Tags
|
|
123
|
+
...p.map((n) => ({ type: "entityActivities", id: n })),
|
|
124
|
+
// Filtered Entity Activity Tags
|
|
125
|
+
...o.map((n) => ({
|
|
126
|
+
type: "entityActivities",
|
|
127
|
+
id: `${n}-${g(r)}`
|
|
128
|
+
})),
|
|
129
|
+
// Published Version Tags
|
|
130
|
+
...v.filter((n) => n.activityType === "version.publish").map((n) => ({
|
|
131
|
+
type: "entityActivities",
|
|
132
|
+
id: `version.publish-${n.origin.id}`
|
|
133
|
+
}))
|
|
134
|
+
];
|
|
135
|
+
}, u = {
|
|
112
136
|
activity: [
|
|
113
137
|
"comment",
|
|
114
138
|
"version.publish",
|
|
@@ -121,25 +145,26 @@ const k = (t = [], a) => {
|
|
|
121
145
|
versions: ["version.publish"],
|
|
122
146
|
updates: ["status.change", "assignee.add", "assignee.remove"],
|
|
123
147
|
checklists: ["checklist"]
|
|
124
|
-
},
|
|
148
|
+
}, N = (t) => {
|
|
125
149
|
if (typeof t == "string")
|
|
126
|
-
return t in
|
|
150
|
+
return t in u ? u[t] : null;
|
|
127
151
|
if (t && typeof t == "object" && t.conditions) {
|
|
128
152
|
const a = [];
|
|
129
153
|
let e = !1;
|
|
130
|
-
return t.conditions.forEach((
|
|
131
|
-
|
|
132
|
-
}), e ? Array.from(new Set(a)) :
|
|
154
|
+
return t.conditions.forEach((i) => {
|
|
155
|
+
i && i.key && i.value === !0 && i.key in u && (a.push(...u[i.key]), e = !0);
|
|
156
|
+
}), e ? Array.from(new Set(a)) : u.activity;
|
|
133
157
|
}
|
|
134
|
-
return
|
|
158
|
+
return u.activity;
|
|
135
159
|
};
|
|
136
160
|
export {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
161
|
+
b as countChecklists,
|
|
162
|
+
u as filterActivityTypes,
|
|
163
|
+
g as filterKey,
|
|
164
|
+
N as getFilterActivityTypes,
|
|
165
|
+
S as provideSharedActivityTags,
|
|
166
|
+
I as taskProvideTags,
|
|
167
|
+
A as transformActivityData,
|
|
168
|
+
T as transformTooltipData
|
|
144
169
|
};
|
|
145
170
|
//# sourceMappingURL=activitiesHelpers.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activitiesHelpers.es.js","sources":["../../../../../../../src/api/queries/activities/util/activitiesHelpers.ts"],"sourcesContent":["import type {\n ActivityFragmentFragment,\n GetEntitiesChecklistsQuery,\n PageInfo,\n} from '@shared/api/generated'\nimport { ChecklistCount, FeedActivity, FeedActivityData } from '../types'\nimport { BaseTypes, EntityTooltipQuery, TaskTypes, VersionTypes } from '../activityQueries'\n\n// Helper function to get a nested property of an object using a string path\nconst getNestedProperty = <T extends Record<string, any>, R = any>(\n obj: T,\n path: string,\n): R | undefined =>\n path.split('.').reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n\n// Helper function to delete a nested property of an object using a string path\nconst deleteNestedProperty = <T extends Record<string, any>>(obj: T, path: string): void => {\n const pathParts = path.split('.')\n const lastPart = pathParts.pop()\n const target = pathParts.reduce<any>((o, p) => (o && o[p] !== undefined ? o[p] : undefined), obj)\n if (target && lastPart) {\n delete target[lastPart]\n }\n}\n\nfunction remapNestedProperties<T extends Record<string, any>>(\n object: T,\n remappingItems: Record<string, string>,\n): T {\n const transformedObject = { ...object }\n\n for (const [key, newKey] of Object.entries(remappingItems)) {\n const value = getNestedProperty(transformedObject, key)\n if (value !== undefined) {\n // Get deeply nested value from key using \".\" notation\n // @ts-expect-error\n transformedObject[newKey] = value\n // Delete the old key from the object\n deleteNestedProperty(transformedObject, key)\n }\n }\n\n return transformedObject\n}\n\nexport type ActivitiesResult = { activities: FeedActivity[]; pageInfo: PageInfo }\n\ntype TransFormActivityData = (\n edges: { node: ActivityFragmentFragment }[],\n pageInfo: PageInfo,\n) => ActivitiesResult\n\n// we flatten the activity object a little bit\nexport const transformActivityData: TransFormActivityData = (edges = [], pageInfo) => {\n const activities: FeedActivity[] = []\n\n // loop over each activity and remap the nested properties\n edges.forEach((edge) => {\n // remapping keys are the fields path in the object\n // and the values are the new keys to assign the values to\n const data = edge.node\n\n if (!data) {\n return\n }\n\n const activityNode = data\n\n // remapping of nested properties to flat properties\n const remappingItems = {\n 'author.name': 'authorName',\n 'author.attrib.fullName': 'authorFullName',\n 'author.attrib.avatarUrl': 'authorAvatarUrl',\n }\n\n const transformedActivity = remapNestedProperties(\n activityNode,\n remappingItems,\n ) as unknown as FeedActivity\n\n // parse activityData if it's a JSON string\n if (typeof activityNode.activityData === 'string') {\n try {\n transformedActivity.activityData = JSON.parse(activityNode.activityData) as FeedActivityData\n } catch (e) {\n console.error('Error parsing JSON field activityData', activityNode.activityData)\n }\n }\n\n activities.push(transformedActivity)\n })\n\n // when there are no activities and hasPreviousPage is false, add an \"createdAt\" activity as the last activity\n // if (pageInfo.hasPreviousPage === false) {\n // activities.push({ hasPreviousPage: false, activityType: 'end', activityId: 'end' })\n // }\n\n return { activities, pageInfo }\n}\n\nexport type EntityTooltip = {\n id: string\n name: string\n title: string\n type: string\n subTitle: string\n status?: string\n thumbnailId?: string\n thumbnailHash?: string\n updatedAt?: string\n taskType?: string\n users?: { name: string; avatarUrl: string }[]\n path?: string\n}\ntype TransformTaskTooltip = (data: BaseTypes & TaskTypes) => EntityTooltip\n\nconst transformTaskTooltip: TransformTaskTooltip = (data) => {\n const {\n id,\n label,\n name,\n status,\n thumbnailId,\n thumbnailHash,\n assignees,\n taskType,\n updatedAt,\n folder,\n } = data || {}\n const tooltip = {\n id,\n name,\n title: label || name,\n type: 'task',\n subTitle: folder?.label || folder?.name || '',\n status,\n thumbnailId,\n thumbnailHash,\n updatedAt,\n taskType,\n users: assignees?.map((name) => ({ name, avatarUrl: `/api/users/${name}/avatar` })) || [],\n path: folder?.path.split('/').splice(-2, 1).join(''),\n }\n\n return tooltip\n}\n\ntype TransformVersionTooltip = (data: BaseTypes & VersionTypes) => EntityTooltip\n\nconst transformVersionTooltip: TransformVersionTooltip = (data) => {\n const { id, name, status, thumbnailId, author, updatedAt, product } = data\n const tooltip = {\n id,\n type: 'version',\n name: name,\n title: name,\n subTitle: product?.name || '',\n status,\n thumbnailId,\n updatedAt,\n users: [{ name: author || '', avatarUrl: `/api/users/${author}/avatar` }],\n productType: product?.productType,\n path: product?.folder?.path?.split('/').pop(),\n }\n\n return tooltip\n}\n\n// different types have different tooltip data, we need to create a single data model\nexport const transformTooltipData = (data: EntityTooltipQuery['data']['project'], type: string) => {\n switch (type) {\n case 'task':\n // @ts-ignore\n return transformTaskTooltip(data.task)\n case 'version':\n // @ts-ignore\n return transformVersionTooltip(data.version)\n default:\n return {}\n }\n}\n\ntype CountCheckLists = (data: GetEntitiesChecklistsQuery) => ChecklistCount\n\nexport const countChecklists: CountCheckLists = (data) => {\n const activities = data?.project?.activities?.edges?.map((edge) => edge?.node)\n // get all bodies from each activity\n const bodies = activities.map((a) => a.body)\n const ids = activities.map((a) => a.activityId)\n\n // count how many checklists are in each body\n\n // count unchecked * [ ] items\n const unChecked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[\\s\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n // count checked * [x] items\n const checked = bodies.reduce((acc, body) => {\n if (!body) return acc\n const matches = body.match(/\\*\\s\\[x\\]/g)\n return acc + (matches ? matches.length : 0)\n }, 0)\n\n return { total: unChecked + checked, checked, unChecked, ids }\n}\n\ntype Task = { id: string }\n\nexport const taskProvideTags = (result: Task[], type = 'task', entityType = 'task') =>\n result?.length\n ? [\n ...result.map(({ id }: Task) => ({ type, id })),\n { type, id: entityType.toUpperCase() + 'S' },\n {\n type: `kanBan${entityType.charAt(0).toUpperCase() + entityType.slice(1)}`,\n id: entityType.toUpperCase() + 'S',\n },\n ]\n : [{ type, id: entityType.toUpperCase() + 'S' }]\n\nexport const filterKey = (filter: any): string => {\n if (typeof filter === 'string') return filter\n try {\n return JSON.stringify(filter) ?? ''\n } catch {\n return ''\n }\n}\n\n/**\n * Shared helper to generate activity tags for both standard and infinite queries.\n */\nexport const provideSharedActivityTags = (\n result: { activities?: any[]; pages?: Array<{ activities: any[] }> } | undefined,\n _error: unknown,\n // Widened type signatures to allow string[] | string | null | undefined\n arg: {\n entityIds?: string | string[] | null\n activityTypes?: string | string[] | null\n filter?: any\n },\n) => {\n if (!result) {\n return [{ type: 'activity' as const, id: 'LIST' }]\n }\n\n const { entityIds, activityTypes, filter } = arg\n\n // Helper now safely skips null/undefined values\n const normalizeIds = (ids: unknown): string[] =>\n (Array.isArray(ids) ? ids : [ids]).filter(Boolean) as string[]\n\n const cleanEntityIds = normalizeIds(entityIds)\n const cleanActivityTypes = normalizeIds(activityTypes)\n\n const activities = result.pages\n ? result.pages.flatMap((page) => page.activities)\n : result.activities || []\n\n return [\n // Individual Activity Tags\n ...activities.map((a) => ({ type: 'activity' as const, id: a.activityId })),\n { type: 'activity' as const, id: 'LIST' },\n\n // Base Entity Activity Tags\n ...cleanEntityIds.map((id) => ({ type: 'entityActivities' as const, id })),\n { type: 'entityActivities' as const, id: 'LIST' },\n\n // Activity Type Tags\n ...cleanActivityTypes.map((type) => ({ type: 'entityActivities' as const, id: type })),\n\n // Filtered Entity Activity Tags\n ...cleanEntityIds.map((id) => ({\n type: 'entityActivities' as const,\n id: `${id}-${filterKey(filter)}`,\n })),\n\n // Published Version Tags\n ...activities\n .filter((a) => a.activityType === 'version.publish')\n .map((a) => ({\n type: 'entityActivities' as const,\n id: `version.publish-${a.origin.id}`,\n })),\n ]\n}\n\nexport const filterActivityTypes: Record<string, string[]> = {\n activity: [\n 'comment',\n 'version.publish',\n 'status.change',\n 'assignee.add',\n 'assignee.remove',\n 'version.review',\n ],\n comments: ['comment'],\n versions: ['version.publish'],\n updates: ['status.change', 'assignee.add', 'assignee.remove'],\n checklists: ['checklist'],\n}\n\nexport const getFilterActivityTypes = (filter: any): string[] | null => {\n // If it's a string, it's one of the legacy pre-set filters\n if (typeof filter === 'string') {\n if (filter in filterActivityTypes) {\n return filterActivityTypes[filter]\n }\n return null\n }\n\n // Handle QueryFilter object\n if (filter && typeof filter === 'object' && filter.conditions) {\n const activeTypes: string[] = []\n let hasExplicitTypeFilter = false\n\n filter.conditions.forEach((condition: any) => {\n // Check if it's a simple condition for one of our known activity types\n if (condition && condition.key && condition.value === true) {\n if (condition.key in filterActivityTypes) {\n activeTypes.push(...filterActivityTypes[condition.key])\n hasExplicitTypeFilter = true\n }\n }\n })\n\n // If no specific activity type filters are selected, return \"activity\" (all)\n if (!hasExplicitTypeFilter) {\n return filterActivityTypes.activity\n }\n\n // Return unique set of activity types\n return Array.from(new Set(activeTypes))\n }\n\n // fallback to all activity\n return filterActivityTypes.activity\n}\n"],"names":["getNestedProperty","obj","path","o","p","deleteNestedProperty","pathParts","lastPart","target","remapNestedProperties","object","remappingItems","transformedObject","key","newKey","value","transformActivityData","edges","pageInfo","activities","edge","data","activityNode","transformedActivity","transformTaskTooltip","id","label","name","status","thumbnailId","thumbnailHash","assignees","taskType","updatedAt","folder","transformVersionTooltip","author","product","transformTooltipData","type","countChecklists","bodies","a","ids","unChecked","acc","body","matches","checked","taskProvideTags","result","entityType","filterKey","filter","provideSharedActivityTags","_error","arg","entityIds","activityTypes","normalizeIds","cleanEntityIds","cleanActivityTypes","page","filterActivityTypes","getFilterActivityTypes","activeTypes","hasExplicitTypeFilter","condition"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("lodash");require("react-toastify");require("uuid");const S=require("../../../../util/thumbnailWebsocket.cjs.js");require("../../../base/client.cjs.js");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("../../actions/getActions.cjs.js");require("../getActivities.cjs.js");require("../updateReaction.cjs.js");require("../getMentions.cjs.js");require("../getCategories.cjs.js");require("../../addons/getAddons.cjs.js");require("../../addons/updateAddons.cjs.js");require("../../attributes/getAttributes.cjs.js");require("../../attributes/updateAttributes.cjs.js");require("../../authentication/getAuthentication.cjs.js");require("../../bundles/getBundles.cjs.js");require("../../bundles/updateBundles.cjs.js");require("../../cloud/cloud.cjs.js");require("../../columnStats/metricTargets.cjs.js");require("../../columnStats/groupCounts.cjs.js");require("../../config/getConfig.cjs.js");require("../../config/updateConfig.cjs.js");require("../../entities/getEntity.cjs.js");require("../../entities/getEntityPanel.cjs.js");require("../../overview/getOverview.cjs.js");require("../../overview/updateOverview.cjs.js");require("../../versions/getVersionsProducts.cjs.js");require("../../links/getEntityLinks.cjs.js");require("../../entities/updateEntity.cjs.js");require("../../entityLists/getLists.cjs.js");require("../../entityLists/updateLists.cjs.js");require("../../entityLists/getListsAttributes.cjs.js");require("../../entityLists/listItemsColumnStats.cjs.js");require("../../entityLists/updateListsAttributes.cjs.js");require("../../entityLists/listFolders.cjs.js");require("../../folders/getFolders.cjs.js");require("../../folders/getFolderDeleteInfo.cjs.js");require("../../grouping/getGrouping.cjs.js");require("../../links/updateLinks.cjs.js");require("../../links/getLinks.cjs.js");require("../../permissions/getPermissions.cjs.js");require("../../products/createProduct.cjs.js");require("../../products/getFolderProducts.cjs.js");require("../../project/getProject.cjs.js");require("../../project/updateProject.cjs.js");require("../../projectFolders/projectFolders.cjs.js");require("../../review/getReview.cjs.js");require("../../review/updateReview.cjs.js");require("../../share/share.cjs.js");require("../../system/getSystem.cjs.js");require("../../tasks/getTasks.cjs.js");require("../../tasks/updateTasks.cjs.js");require("../../teams/getTeams.cjs.js");require("../../userDashboard/getUserDashboard.cjs.js");require("../../users/getUsers.cjs.js");require("../../users/updateUsers.cjs.js");require("../../users/guests.cjs.js");require("../../versions/updateVersions.cjs.js");require("../../views/getViews.cjs.js");require("../../views/updateViews.cjs.js");require("../../watchers/getWatchers.cjs.js");require("../../uris/getUris.cjs.js");const H=require("../../../../util/pubsub.cjs.js"),U=u=>u?u.includes("* [ ]")||u.includes("* [x]"):!1,C=async(u,{updateCachedData:p,cacheDataLoaded:j,cacheEntryRemoved:D,dispatch:R,getCacheEntry:N,gqlApi:k})=>{let h,g;try{await j,g=S.subscribeToThumbnailUpdates(v=>{if(!N().data?.pages?.length)return;const i=v.reduce((s,o)=>(o.summary.entityType==="version"&&(s[o.summary.entityId]=o.summary.thumbnailHash||""),s),{});Object.keys(i).length!==0&&p(s=>{!s||!s.pages||s.pages.forEach(o=>{o.activities?.forEach(e=>{e.referenceType==="version"&&e.referenceId&&i[e.referenceId]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=i[e.referenceId]),e.origin.type==="version"&&e.origin.id&&i[e.origin.id]!==void 0&&(e.version||(e.version={}),e.version.thumbnailHash=i[e.origin.id])})})})},["version"]);const m=async(v,c)=>{const i=c.summary?.activity_id;if(!i){console.warn("[Activity RT] Activity message missing activity_id",c);return}const s=c.project,o=c.summary?.references||[],e=["origin","mention","relation"],b=o.filter(r=>e.includes(r.reference_type)).map(r=>r.entity_id),E=Array.isArray(u.entityIds)?u.entityIds:[u.entityIds];if(!E.some(r=>b.includes(r))&&E.length>0)return;const T=c.summary?.activity_type;if(T){if(v==="activity.deleted"){p(r=>{if(!r||!r.pages){console.warn("[Activity RT] No draft or pages found for deletion");return}let a=!1;for(const A of r.pages){const q=A.activities?.findIndex(n=>n.activityId===i);q!==-1&&(A.activities.splice(q,1),a=!0)}});return}try{const r=await R(k.endpoints.GetActivitiesById.initiate({projectName:s,activityIds:[i],entityIds:b},{forceRefetch:!0}));if("error"in r&&r.error)throw console.error("[Activity RT] Error fetching activity:",r.error),new Error("Failed to fetch activity");const q=r.data?.activities||[];if(q.length===0){console.warn("[Activity RT] No activities found for activity_id",i);return}const n=q[0],x=[T];if(T==="comment"){const t=n?.body;U(t||"")&&x.push("checklist")}const f=u.activityTypes,_=Array.isArray(f)?f:f?[f]:[];if(!(_.length===0||_.some(t=>x.includes(t))))return;p(t=>{if(!t||!t.pages){console.warn("[Activity RT] No draft or pages found for update");return}let I=!1;for(const d of t.pages){const y=d.activities?.findIndex(w=>w.activityId===i);if(y!==-1){d.activities[y]=n,I=!0;break}}if(!I&&v==="activity.created"&&(t.pages.length>0&&t.pages[0].activities?t.pages[0].activities.unshift(n):console.warn("[Activity RT] Cannot add activity: no pages or activities array")),n.activityType==="status.change"&&n.origin?.type==="version"){const d=n.origin.id,y=n.activityData?.newValue;y&&t.pages.forEach(w=>{w.activities?.forEach(l=>{l.activityType==="version.publish"&&l.origin?.id===d&&(l.version||(l.version={}),l.version.status=y)})})}})}catch(r){console.error("[Activity RT] Error fetching activity data for real-time update:",r),R(k.util.invalidateTags(b.map(a=>({type:"entityActivities",id:a}))))}}};h=H.subscribe(["activity"],m)}catch(m){console.error("[Activity RT] Error in activity real-time handler setup:",m)}await D,h&&H.unsubscribe(h),g&&g()};exports.handleActivityRealtimeUpdates=C;
|
|
2
2
|
//# sourceMappingURL=activityRealtimeHandler.cjs.js.map
|