@ynput/ayon-frontend-shared 0.3.36 → 0.3.38
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 +27 -25
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +222 -215
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.cjs13.js +1 -1
- 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.cjs4.js +1 -1
- package/dist/_virtual/index.cjs6.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es12.js +2 -5
- package/dist/_virtual/index.es12.js.map +1 -1
- package/dist/_virtual/index.es13.js +2 -5
- package/dist/_virtual/index.es13.js.map +1 -1
- 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 +2 -2
- package/dist/_virtual/index.es19.js +2 -2
- package/dist/_virtual/index.es4.js +5 -2
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es7.js +2 -2
- package/dist/_virtual/index.es9.js +5 -2
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +77 -73
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +50 -49
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +33 -29
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +16 -12
- 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.cjs.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js.map +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.cjs.js.map +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.cjs.js.map +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-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/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 +108 -23
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +138 -53
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/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 +42 -42
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js +2 -0
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js +68 -0
- package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -0
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateActivities.es.js +69 -62
- package/dist/shared/src/api/queries/activities/updateActivities.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 +64 -56
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js +57 -53
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +27 -25
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +4 -4
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.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 +212 -187
- package/dist/shared/src/api/queries/overview/getOverview.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 +7 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.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 +9 -5
- 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 +9 -5
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.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 +9 -5
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.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 +103 -99
- 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 +96 -87
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.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 +9 -5
- 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 +9 -5
- 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 +9 -5
- 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 +9 -5
- 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 +10 -6
- 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 +9 -5
- 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 +9 -5
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js +6 -0
- package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js +58 -0
- package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js.map +1 -0
- 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 +254 -243
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +2 -0
- package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +106 -0
- package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -0
- 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 +11 -7
- 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 +9 -5
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.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 +9 -5
- 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 +13 -9
- 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 +9 -5
- package/dist/shared/src/containers/Actions/ActionConfigDialog.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 +9 -5
- 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 +7 -5
- 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 +9 -5
- 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 +9 -5
- 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 +9 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.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 +9 -5
- 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 +9 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +10 -0
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +135 -0
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +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 +21 -17
- 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 +44 -46
- 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 +8 -4
- 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 +19 -25
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js +91 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js.map +1 -0
- 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 +9 -5
- 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 +9 -5
- 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 +9 -5
- 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 +9 -5
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.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 +156 -164
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +25 -3
- package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.es.js +30 -8
- package/dist/shared/src/containers/Feed/Feed.styled.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 +9 -5
- 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 +9 -5
- 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 +9 -5
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
- 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 +11 -7
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.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 +8 -4
- 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 +13 -9
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +5 -5
- package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +17 -0
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +279 -0
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -0
- 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 +8 -4
- 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 +62 -50
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +141 -0
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +81 -0
- package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +20 -18
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.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 +107 -103
- 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 +8 -4
- 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 +9 -5
- 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 +201 -194
- 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 +210 -180
- 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 +9 -5
- 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 +35 -31
- 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 +9 -5
- 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 +7 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +228 -222
- 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 +104 -100
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +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.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -58
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.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 +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js +3 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +22 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -0
- 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 +114 -109
- 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 +126 -121
- 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 +7 -3
- 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 +7 -3
- 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 +35 -31
- 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 +9 -5
- 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 +249 -204
- 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 +35 -31
- 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 +35 -31
- 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 +7 -3
- 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 +9 -5
- 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 +9 -5
- 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 +106 -102
- 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 +36 -32
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.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 +47 -43
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +61 -61
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +78 -58
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.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 +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +134 -125
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +82 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +417 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +80 -52
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.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 +36 -32
- 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 +9 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.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 +9 -5
- 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 +9 -5
- package/dist/shared/src/containers/SimpleTable/SimpleTable.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 +9 -5
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.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 +9 -5
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.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 +9 -5
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.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 +92 -94
- package/dist/shared/src/context/DetailsPanelContext.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 +11 -7
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +2 -0
- package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGetProductionAddon.es.js +124 -0
- package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -0
- package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
- package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLocalStorage.es.js +43 -27
- package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +122 -0
- package/dist/types/api/generated/graphqlLinks.d.ts +10 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +83 -0
- package/dist/types/api/queries/activities/patchTableLatestComments.d.ts +1 -0
- package/dist/types/api/queries/activities/updateActivities.d.ts +16 -0
- package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +84 -0
- package/dist/types/api/queries/entityLists/types.d.ts +2 -1
- package/dist/types/api/queries/overview/getOverview.d.ts +58 -0
- package/dist/types/api/queries/project/getProject.d.ts +7 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
- package/dist/types/api/queries/users/getUsers.d.ts +7 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +30 -0
- package/dist/types/components/SearchFilter/CustomDateRangeDialog.d.ts +13 -0
- package/dist/types/components/SearchFilter/index.d.ts +2 -0
- package/dist/types/components/SearchFilter/useDateRangeFilter.d.ts +36 -0
- package/dist/types/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.d.ts +13 -0
- package/dist/types/containers/DetailsPanel/helpers/subtasksFilterAdapter.d.ts +5 -0
- package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
- package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +15 -0
- package/dist/types/containers/Feed/context/FeedContext.d.ts +5 -1
- package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +3 -0
- package/dist/types/containers/Feed/helpers/feedFilterAdapter.d.ts +5 -0
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +5 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardComments.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +5 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/widgets/CommentsWidget.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
- package/dist/types/context/DetailsPanelContext.d.ts +1 -0
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useGetProductionAddon.d.ts +10 -0
- package/dist/types/hooks/useLocalStorage.d.ts +2 -0
- package/package.json +3 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const q=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const n=require("./util/activitiesHelpers.cjs.js"),A=require("./activityQueries.cjs.js"),d=require("./util/activityRealtimeHandler.cjs.js"),c=q.api.enhanceEndpoints({endpoints:{GetActivities:{transformResponse:t=>n.transformActivityData(t.project.activities.edges,t.project.activities.pageInfo),providesTags:(t,r,{entityIds:i,activityTypes:e=[],filter:u})=>t?[...t.activities.map(s=>({type:"activity",id:s.activityId})),{type:"activity",id:"LIST"},...(Array.isArray(i)?i:[i]).map(s=>({type:"entityActivities",id:s})),{type:"entityActivities",id:"LIST"},...(Array.isArray(e)?e:[e])?.map(s=>({type:"entityActivities",id:s})),...(Array.isArray(i)?i:[i]).map(s=>({type:"entityActivities",id:s+"-"+u}))]:[{type:"activity",id:"LIST"}]},GetActivitiesById:{transformResponse:t=>n.transformActivityData(t.project.activities.edges,t.project.activities.pageInfo)},GetEntitiesChecklists:{transformResponse:t=>n.countChecklists(t),providesTags:(t,r,{entityIds:i})=>t?[{type:"activity",id:"LIST"},...t.ids.map(e=>({type:"activity",id:"checklist-"+e})),...(Array.isArray(i)?i:[i]).map(e=>({type:"entityActivities",id:"checklist-"+e}))]:[{type:"activity",id:"LIST"}]},GetActivityUsers:{transformResponse:t=>t.users.edges.map(r=>r.node),providesTags:t=>t?.length?[{type:"user",id:"LIST"},...t.map(({name:r})=>({type:"user",id:r}))]:[{type:"user",id:"LIST"}]}}}),y=30,p=c.injectEndpoints({endpoints:t=>({getActivitiesInfinite:t.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",last:y},getNextPageParam:r=>{const i=r.pageInfo;if(!(!i.hasPreviousPage||!i.endCursor))return{cursor:i.endCursor,last:y}}},queryFn:async({queryArg:r,pageParam:i},e)=>{try{const{filter:u,...s}=r,a={...s,before:i?.cursor,last:i?.last},o=await e.dispatch(c.endpoints.GetActivities.initiate(a,{forceRefetch:!0}));if(o.error)throw o.error;const v={activities:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:o.data||v}}catch(u){return console.error("Error in getActivitiesInfinite queryFn:",u),{error:{status:"FETCH_ERROR",error:u.message}}}},async onCacheEntryAdded(r,{updateCachedData:i,cacheDataLoaded:e,cacheEntryRemoved:u,dispatch:s,getCacheEntry:a}){await d.handleActivityRealtimeUpdates(r,{updateCachedData:i,cacheDataLoaded:e,cacheEntryRemoved:u,dispatch:s,getCacheEntry:a})},providesTags:(r,i,{entityIds:e,activityTypes:u,filter:s})=>r?[...r.pages.flatMap(a=>a.activities).map(a=>({type:"activity",id:a.activityId})),{type:"activity",id:"LIST"},...(Array.isArray(e)?e:[e]).filter(Boolean).map(a=>({type:"entityActivities",id:a})),{type:"entityActivities",id:"LIST"},...(Array.isArray(u)?u:[u])?.filter(Boolean).map(a=>({type:"entityActivities",id:a})),...(Array.isArray(e)?e:[e]).filter(Boolean).map(a=>({type:"entityActivities",id:`${a}-${
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const q=require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/dataImport.cjs.js");require("../../generated/desktop.cjs.js");require("../../generated/entityLists.cjs.js");require("../../generated/events.cjs.js");require("../../generated/files.cjs.js");require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");const n=require("./util/activitiesHelpers.cjs.js"),A=require("./activityQueries.cjs.js"),d=require("./util/activityRealtimeHandler.cjs.js"),c=q.api.enhanceEndpoints({endpoints:{GetActivities:{transformResponse:t=>n.transformActivityData(t.project.activities.edges,t.project.activities.pageInfo),providesTags:(t,r,{entityIds:i,activityTypes:e=[],filter:u})=>t?[...t.activities.map(s=>({type:"activity",id:s.activityId})),{type:"activity",id:"LIST"},...(Array.isArray(i)?i:[i]).map(s=>({type:"entityActivities",id:s})),{type:"entityActivities",id:"LIST"},...(Array.isArray(e)?e:[e])?.map(s=>({type:"entityActivities",id:s})),...(Array.isArray(i)?i:[i]).map(s=>({type:"entityActivities",id:s+"-"+n.filterKey(u)}))]:[{type:"activity",id:"LIST"}]},GetActivitiesById:{transformResponse:t=>n.transformActivityData(t.project.activities.edges,t.project.activities.pageInfo)},GetEntitiesChecklists:{transformResponse:t=>n.countChecklists(t),providesTags:(t,r,{entityIds:i})=>t?[{type:"activity",id:"LIST"},...t.ids.map(e=>({type:"activity",id:"checklist-"+e})),...(Array.isArray(i)?i:[i]).map(e=>({type:"entityActivities",id:"checklist-"+e}))]:[{type:"activity",id:"LIST"}]},GetActivityUsers:{transformResponse:t=>t.users.edges.map(r=>r.node),providesTags:t=>t?.length?[{type:"user",id:"LIST"},...t.map(({name:r})=>({type:"user",id:r}))]:[{type:"user",id:"LIST"}]}}}),y=30,p=c.injectEndpoints({endpoints:t=>({getActivitiesInfinite:t.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",last:y},getNextPageParam:r=>{const i=r.pageInfo;if(!(!i.hasPreviousPage||!i.endCursor))return{cursor:i.endCursor,last:y}}},queryFn:async({queryArg:r,pageParam:i},e)=>{try{const{filter:u,...s}=r,a={...s,before:i?.cursor,last:i?.last},o=await e.dispatch(c.endpoints.GetActivities.initiate(a,{forceRefetch:!0}));if(o.error)throw o.error;const v={activities:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:o.data||v}}catch(u){return console.error("Error in getActivitiesInfinite queryFn:",u),{error:{status:"FETCH_ERROR",error:u.message}}}},async onCacheEntryAdded(r,{updateCachedData:i,cacheDataLoaded:e,cacheEntryRemoved:u,dispatch:s,getCacheEntry:a}){await d.handleActivityRealtimeUpdates(r,{updateCachedData:i,cacheDataLoaded:e,cacheEntryRemoved:u,dispatch:s,getCacheEntry:a})},providesTags:(r,i,{entityIds:e,activityTypes:u,filter:s})=>r?[...r.pages.flatMap(a=>a.activities).map(a=>({type:"activity",id:a.activityId})),{type:"activity",id:"LIST"},...(Array.isArray(e)?e:[e]).filter(Boolean).map(a=>({type:"entityActivities",id:a})),{type:"entityActivities",id:"LIST"},...(Array.isArray(u)?u:[u])?.filter(Boolean).map(a=>({type:"entityActivities",id:a})),...(Array.isArray(e)?e:[e]).filter(Boolean).map(a=>({type:"entityActivities",id:`${a}-${n.filterKey(s)}`}))]:[{type:"activity",id:"LIST"}]}),getEntityTooltip:t.query({query:({projectName:r,entityId:i,entityType:e})=>({url:"/graphql",method:"POST",body:{query:A.ENTITY_TOOLTIP(e),variables:{projectName:r,entityId:i}}}),transformResponse:(r,i,{entityType:e})=>n.transformTooltipData(r?.data?.project,e),providesTags:(r,i,{entityType:e})=>n.taskProvideTags([r],"task",e)})}),overrideExisting:!0}),{useGetEntityTooltipQuery:l,useLazyGetActivitiesByIdQuery:f,useGetEntitiesChecklistsQuery:g,useGetActivitiesQuery:m,useGetActivitiesInfiniteInfiniteQuery:T,useGetActivityUsersQuery:h}=p;exports.getActivitiesGQLApi=p;exports.useGetActivitiesInfiniteInfiniteQuery=T;exports.useGetActivitiesQuery=m;exports.useGetActivityUsersQuery=h;exports.useGetEntitiesChecklistsQuery=g;exports.useGetEntityTooltipQuery=l;exports.useLazyGetActivitiesByIdQuery=f;
|
|
2
2
|
//# sourceMappingURL=getActivities.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActivities.cjs.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 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 + '-' + 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 })\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}-${typeof filter === 'string' ? filter : JSON.stringify(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"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","result","_e","entityIds","activityTypes","filter","a","id","type","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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getActivities.cjs.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 })\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"],"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"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../../base/client.es.js";
|
|
2
|
-
import { api as
|
|
2
|
+
import { api as u } from "../../generated/graphql.es.js";
|
|
3
3
|
import "../../generated/graphqlLinks.es.js";
|
|
4
4
|
import "../../generated/access.es.js";
|
|
5
5
|
import "../../generated/actions.es.js";
|
|
@@ -38,16 +38,16 @@ import "../../generated/workfiles.es.js";
|
|
|
38
38
|
import "../../generated/ynputCloud.es.js";
|
|
39
39
|
import "../../generated/grouping.es.js";
|
|
40
40
|
import "../../generated/views.es.js";
|
|
41
|
-
import { countChecklists as
|
|
42
|
-
import { ENTITY_TOOLTIP as
|
|
41
|
+
import { countChecklists as d, transformActivityData as n, filterKey as y, taskProvideTags as A, transformTooltipData as f } from "./util/activitiesHelpers.es.js";
|
|
42
|
+
import { ENTITY_TOOLTIP as l } from "./activityQueries.es.js";
|
|
43
43
|
import { handleActivityRealtimeUpdates as g } from "./util/activityRealtimeHandler.es.js";
|
|
44
|
-
const c =
|
|
44
|
+
const c = u.enhanceEndpoints({
|
|
45
45
|
endpoints: {
|
|
46
46
|
// Only used by the infinite query below
|
|
47
47
|
GetActivities: {
|
|
48
48
|
transformResponse: (e) => n(e.project.activities.edges, e.project.activities.pageInfo),
|
|
49
49
|
// @ts-expect-error - filter is not an query arg
|
|
50
|
-
providesTags: (e, r, { entityIds: i, activityTypes: t = [], filter:
|
|
50
|
+
providesTags: (e, r, { entityIds: i, activityTypes: t = [], filter: s }) => e ? [
|
|
51
51
|
...e.activities.map((o) => ({ type: "activity", id: o.activityId })),
|
|
52
52
|
{ type: "activity", id: "LIST" },
|
|
53
53
|
...(Array.isArray(i) ? i : [i]).map((o) => ({
|
|
@@ -62,7 +62,7 @@ const c = v.enhanceEndpoints({
|
|
|
62
62
|
// filter is used when a comment is made, to refetch the activities of other filters
|
|
63
63
|
...(Array.isArray(i) ? i : [i]).map((o) => ({
|
|
64
64
|
type: "entityActivities",
|
|
65
|
-
id: o + "-" +
|
|
65
|
+
id: o + "-" + y(s)
|
|
66
66
|
}))
|
|
67
67
|
] : [{ type: "activity", id: "LIST" }]
|
|
68
68
|
},
|
|
@@ -70,7 +70,7 @@ const c = v.enhanceEndpoints({
|
|
|
70
70
|
transformResponse: (e) => n(e.project.activities.edges, e.project.activities.pageInfo)
|
|
71
71
|
},
|
|
72
72
|
GetEntitiesChecklists: {
|
|
73
|
-
transformResponse: (e) =>
|
|
73
|
+
transformResponse: (e) => d(e),
|
|
74
74
|
providesTags: (e, r, { entityIds: i }) => e ? [
|
|
75
75
|
{ type: "activity", id: "LIST" },
|
|
76
76
|
...e.ids.map((t) => ({ type: "activity", id: "checklist-" + t })),
|
|
@@ -85,7 +85,7 @@ const c = v.enhanceEndpoints({
|
|
|
85
85
|
providesTags: (e) => e?.length ? [{ type: "user", id: "LIST" }, ...e.map(({ name: r }) => ({ type: "user", id: r }))] : [{ type: "user", id: "LIST" }]
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
}), m = 30,
|
|
88
|
+
}), m = 30, T = c.injectEndpoints({
|
|
89
89
|
endpoints: (e) => ({
|
|
90
90
|
getActivitiesInfinite: e.infiniteQuery({
|
|
91
91
|
infiniteQueryOptions: {
|
|
@@ -102,17 +102,17 @@ const c = v.enhanceEndpoints({
|
|
|
102
102
|
},
|
|
103
103
|
queryFn: async ({ queryArg: r, pageParam: i }, t) => {
|
|
104
104
|
try {
|
|
105
|
-
const { filter:
|
|
105
|
+
const { filter: s, ...o } = r, a = {
|
|
106
106
|
...o,
|
|
107
107
|
before: i?.cursor,
|
|
108
108
|
last: i?.last
|
|
109
109
|
}, p = await t.dispatch(
|
|
110
|
-
c.endpoints.GetActivities.initiate(
|
|
110
|
+
c.endpoints.GetActivities.initiate(a, {
|
|
111
111
|
forceRefetch: !0
|
|
112
112
|
})
|
|
113
113
|
);
|
|
114
114
|
if (p.error) throw p.error;
|
|
115
|
-
const
|
|
115
|
+
const v = {
|
|
116
116
|
activities: [],
|
|
117
117
|
pageInfo: {
|
|
118
118
|
hasNextPage: !1,
|
|
@@ -122,37 +122,37 @@ const c = v.enhanceEndpoints({
|
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
124
|
return {
|
|
125
|
-
data: p.data ||
|
|
125
|
+
data: p.data || v
|
|
126
126
|
};
|
|
127
|
-
} catch (
|
|
128
|
-
return console.error("Error in getActivitiesInfinite queryFn:",
|
|
127
|
+
} catch (s) {
|
|
128
|
+
return console.error("Error in getActivitiesInfinite queryFn:", s), { error: { status: "FETCH_ERROR", error: s.message } };
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
|
-
async onCacheEntryAdded(r, { updateCachedData: i, cacheDataLoaded: t, cacheEntryRemoved:
|
|
131
|
+
async onCacheEntryAdded(r, { updateCachedData: i, cacheDataLoaded: t, cacheEntryRemoved: s, dispatch: o, getCacheEntry: a }) {
|
|
132
132
|
await g(r, {
|
|
133
133
|
updateCachedData: i,
|
|
134
134
|
cacheDataLoaded: t,
|
|
135
|
-
cacheEntryRemoved:
|
|
135
|
+
cacheEntryRemoved: s,
|
|
136
136
|
dispatch: o,
|
|
137
|
-
getCacheEntry:
|
|
137
|
+
getCacheEntry: a
|
|
138
138
|
});
|
|
139
139
|
},
|
|
140
|
-
providesTags: (r, i, { entityIds: t, activityTypes:
|
|
141
|
-
...r.pages.flatMap((
|
|
140
|
+
providesTags: (r, i, { entityIds: t, activityTypes: s, filter: o }) => r ? [
|
|
141
|
+
...r.pages.flatMap((a) => a.activities).map((a) => ({ type: "activity", id: a.activityId })),
|
|
142
142
|
{ type: "activity", id: "LIST" },
|
|
143
|
-
...(Array.isArray(t) ? t : [t]).filter(Boolean).map((
|
|
143
|
+
...(Array.isArray(t) ? t : [t]).filter(Boolean).map((a) => ({
|
|
144
144
|
type: "entityActivities",
|
|
145
|
-
id:
|
|
145
|
+
id: a
|
|
146
146
|
})),
|
|
147
147
|
{ type: "entityActivities", id: "LIST" },
|
|
148
|
-
...(Array.isArray(
|
|
148
|
+
...(Array.isArray(s) ? s : [s])?.filter(Boolean).map((a) => ({
|
|
149
149
|
type: "entityActivities",
|
|
150
|
-
id:
|
|
150
|
+
id: a
|
|
151
151
|
})),
|
|
152
152
|
// filter is used when a comment is made, to refetch the activities of other filters
|
|
153
|
-
...(Array.isArray(t) ? t : [t]).filter(Boolean).map((
|
|
153
|
+
...(Array.isArray(t) ? t : [t]).filter(Boolean).map((a) => ({
|
|
154
154
|
type: "entityActivities",
|
|
155
|
-
id: `${
|
|
155
|
+
id: `${a}-${y(o)}`
|
|
156
156
|
}))
|
|
157
157
|
] : [{ type: "activity", id: "LIST" }]
|
|
158
158
|
}),
|
|
@@ -162,30 +162,30 @@ const c = v.enhanceEndpoints({
|
|
|
162
162
|
url: "/graphql",
|
|
163
163
|
method: "POST",
|
|
164
164
|
body: {
|
|
165
|
-
query:
|
|
165
|
+
query: l(t),
|
|
166
166
|
variables: { projectName: r, entityId: i }
|
|
167
167
|
}
|
|
168
168
|
}),
|
|
169
|
-
transformResponse: (r, i, { entityType: t }) =>
|
|
170
|
-
providesTags: (r, i, { entityType: t }) =>
|
|
169
|
+
transformResponse: (r, i, { entityType: t }) => f(r?.data?.project, t),
|
|
170
|
+
providesTags: (r, i, { entityType: t }) => A([r], "task", t)
|
|
171
171
|
})
|
|
172
172
|
}),
|
|
173
173
|
overrideExisting: !0
|
|
174
174
|
}), {
|
|
175
|
-
useGetEntityTooltipQuery:
|
|
176
|
-
useLazyGetActivitiesByIdQuery:
|
|
177
|
-
useGetEntitiesChecklistsQuery:
|
|
178
|
-
useGetActivitiesQuery:
|
|
179
|
-
useGetActivitiesInfiniteInfiniteQuery:
|
|
180
|
-
useGetActivityUsersQuery:
|
|
181
|
-
} =
|
|
175
|
+
useGetEntityTooltipQuery: ct,
|
|
176
|
+
useLazyGetActivitiesByIdQuery: mt,
|
|
177
|
+
useGetEntitiesChecklistsQuery: yt,
|
|
178
|
+
useGetActivitiesQuery: vt,
|
|
179
|
+
useGetActivitiesInfiniteInfiniteQuery: ut,
|
|
180
|
+
useGetActivityUsersQuery: dt
|
|
181
|
+
} = T;
|
|
182
182
|
export {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
183
|
+
T as getActivitiesGQLApi,
|
|
184
|
+
ut as useGetActivitiesInfiniteInfiniteQuery,
|
|
185
|
+
vt as useGetActivitiesQuery,
|
|
186
|
+
dt as useGetActivityUsersQuery,
|
|
187
|
+
yt as useGetEntitiesChecklistsQuery,
|
|
188
|
+
ct as useGetEntityTooltipQuery,
|
|
189
|
+
mt as useLazyGetActivitiesByIdQuery
|
|
190
190
|
};
|
|
191
191
|
//# sourceMappingURL=getActivities.es.js.map
|
|
@@ -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 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 + '-' + 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 })\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}-${typeof filter === 'string' ? filter : JSON.stringify(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"],"names":["enhanceActivitiesApi","gqlApi","res","transformActivityData","result","_e","entityIds","activityTypes","filter","a","id","type","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"],"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 { 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 })\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"],"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"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../overview/getOverview.cjs.js");require("../entityLists/updateLists.cjs.js");const A=require("../versions/getVersionsProducts.cjs.js"),b=require("../entityLists/getLists.cjs.js"),u=5,a=t=>(t||"").replace(/-/g,""),h=(t,e,o)=>{Array.isArray(t.latestComments)||(t.latestComments=[]);const s=t.latestComments,i=a(e.activityId),n=s.findIndex(r=>a(r.activityId)===i);o==="delete"?n!==-1&&s.splice(n,1):o==="update"?n!==-1&&(s[n].body=e.body):(n!==-1&&s.splice(n,1),s.unshift(e),s.length>u&&s.splice(u))},k=[{api:M.default,tag:"overviewTask",selectors:{getOverviewTasksByFolders:t=>t??[],getTasksListInfinite:t=>t?.pages?.flatMap(e=>e.tasks??[])??[],getGroupedTasksList:t=>t?.tasks??[]}},{api:b.default,tag:"entityListItem",selectors:{getListItemsInfinite:t=>t?.pages?.flatMap(e=>e.items??[])??[]}},{api:A.injectedVersionsPageApi,tag:"version",selectors:{getVersionsInfinite:t=>t?.pages?.flatMap(e=>e.versions??[])??[],getVersionsByProducts:t=>t?.versions??[],getGroupedVersionsList:t=>t?.versions??[],getProductsInfinite:t=>(t?.pages?.flatMap(e=>e.products??[])??[]).map(e=>e.featuredVersion).filter(Boolean)}}],N=(t,{dispatch:e,getState:o},s)=>{const{patch:i}=t,n=t.entityId??i?.entityId,r=i?.activityId??t.activityId;if(!n||!r)return[];if(s==="create"&&!(i?.activityType==="comment"&&i?.referenceType==="origin"))return[];if(s==="update"&&i?.activityType&&i.activityType!=="comment")return[];const g={__typename:"EntityComment",activityId:r,body:i?.body??"",author:i?.authorName??null,createdAt:i?.createdAt??""},m=o(),l=a(n),p=[];for(const{api:d,tag:v,selectors:I}of k){const T=d.util.selectInvalidatedBy(m,[{type:v,id:n}]);for(const{endpointName:f,originalArgs:C}of T){const y=I[f];y&&p.push(e(d.util.updateQueryData(f,C,L=>{for(const c of y(L))(a(c?.id)===l||a(c?.entityId)===l)&&h(c,g,s)})))}}return p};exports.patchTableLatestComments=N;
|
|
2
|
+
//# sourceMappingURL=patchTableLatestComments.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patchTableLatestComments.cjs.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (method === 'create' && !(patch?.activityType === 'comment' && patch?.referenceType === 'origin'))\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import L from "../overview/getOverview.es.js";
|
|
2
|
+
import "../entityLists/updateLists.es.js";
|
|
3
|
+
import { injectedVersionsPageApi as M } from "../versions/getVersionsProducts.es.js";
|
|
4
|
+
import k from "../entityLists/getLists.es.js";
|
|
5
|
+
const m = 5, o = (t) => (t || "").replace(/-/g, ""), N = (t, e, a) => {
|
|
6
|
+
Array.isArray(t.latestComments) || (t.latestComments = []);
|
|
7
|
+
const i = t.latestComments, s = o(e.activityId), n = i.findIndex((r) => o(r.activityId) === s);
|
|
8
|
+
a === "delete" ? n !== -1 && i.splice(n, 1) : a === "update" ? n !== -1 && (i[n].body = e.body) : (n !== -1 && i.splice(n, 1), i.unshift(e), i.length > m && i.splice(m));
|
|
9
|
+
}, _ = [
|
|
10
|
+
{
|
|
11
|
+
api: L,
|
|
12
|
+
tag: "overviewTask",
|
|
13
|
+
selectors: {
|
|
14
|
+
getOverviewTasksByFolders: (t) => t ?? [],
|
|
15
|
+
getTasksListInfinite: (t) => t?.pages?.flatMap((e) => e.tasks ?? []) ?? [],
|
|
16
|
+
getGroupedTasksList: (t) => t?.tasks ?? []
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
api: k,
|
|
21
|
+
tag: "entityListItem",
|
|
22
|
+
selectors: {
|
|
23
|
+
getListItemsInfinite: (t) => t?.pages?.flatMap((e) => e.items ?? []) ?? []
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
api: M,
|
|
28
|
+
tag: "version",
|
|
29
|
+
selectors: {
|
|
30
|
+
getVersionsInfinite: (t) => t?.pages?.flatMap((e) => e.versions ?? []) ?? [],
|
|
31
|
+
getVersionsByProducts: (t) => t?.versions ?? [],
|
|
32
|
+
getGroupedVersionsList: (t) => t?.versions ?? [],
|
|
33
|
+
getProductsInfinite: (t) => (t?.pages?.flatMap((e) => e.products ?? []) ?? []).map((e) => e.featuredVersion).filter(Boolean)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
], B = (t, { dispatch: e, getState: a }, i) => {
|
|
37
|
+
const { patch: s } = t, n = t.entityId ?? s?.entityId, r = s?.activityId ?? t.activityId;
|
|
38
|
+
if (!n || !r) return [];
|
|
39
|
+
if (i === "create" && !(s?.activityType === "comment" && s?.referenceType === "origin"))
|
|
40
|
+
return [];
|
|
41
|
+
if (i === "update" && s?.activityType && s.activityType !== "comment") return [];
|
|
42
|
+
const g = {
|
|
43
|
+
__typename: "EntityComment",
|
|
44
|
+
activityId: r,
|
|
45
|
+
body: s?.body ?? "",
|
|
46
|
+
author: s?.authorName ?? null,
|
|
47
|
+
createdAt: s?.createdAt ?? ""
|
|
48
|
+
}, u = a(), p = o(n), d = [];
|
|
49
|
+
for (const { api: l, tag: I, selectors: v } of _) {
|
|
50
|
+
const T = l.util.selectInvalidatedBy(u, [{ type: I, id: n }]);
|
|
51
|
+
for (const { endpointName: f, originalArgs: A } of T) {
|
|
52
|
+
const y = v[f];
|
|
53
|
+
y && d.push(
|
|
54
|
+
e(
|
|
55
|
+
l.util.updateQueryData(f, A, (C) => {
|
|
56
|
+
for (const c of y(C))
|
|
57
|
+
(o(c?.id) === p || o(c?.entityId) === p) && N(c, g, i);
|
|
58
|
+
})
|
|
59
|
+
)
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return d;
|
|
64
|
+
};
|
|
65
|
+
export {
|
|
66
|
+
B as patchTableLatestComments
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=patchTableLatestComments.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patchTableLatestComments.es.js","sources":["../../../../../../src/api/queries/activities/patchTableLatestComments.ts"],"sourcesContent":["import type { EntityComment } from '@shared/api'\nimport getOverviewApi from '../overview/getOverview'\nimport { entityListsQueriesGql } from '../entityLists/updateLists'\nimport { injectedVersionsPageApi } from '../versions/getVersionsProducts'\n\n// Backend's latestComments returns the 5 newest top-level (origin) comments, newest first.\nconst LATEST_COMMENTS_LIMIT = 5\n\n// latestComments serializes uuids with dashes, but the feed/entity uuids are dashless;\n// compare normalized so the same id matches across both shapes.\nconst normalizeId = (id?: string | null) => (id || '').replace(/-/g, '')\n\n// Update one cached table node's latestComments. Mutates the immer draft array in\n// place — reassigning it to a new array that still holds existing draft elements\n// breaks immer finalization, so the patch would silently fail to apply.\nconst applyCommentToNode = (\n node: any,\n comment: EntityComment,\n method: 'create' | 'update' | 'delete',\n) => {\n if (!Array.isArray(node.latestComments)) node.latestComments = []\n const list: EntityComment[] = node.latestComments\n const target = normalizeId(comment.activityId)\n const idx = list.findIndex((c) => normalizeId(c.activityId) === target)\n if (method === 'delete') {\n if (idx !== -1) list.splice(idx, 1)\n } else if (method === 'update') {\n if (idx !== -1) list[idx].body = comment.body\n } else {\n if (idx !== -1) list.splice(idx, 1)\n list.unshift(comment)\n if (list.length > LATEST_COMMENTS_LIMIT) list.splice(LATEST_COMMENTS_LIMIT)\n }\n}\n\n// The table caches that show latestComments, grouped by the owning api slice (so we\n// patch through each slice's own util, like the other patchers do). For every slice:\n// the tag to find its caches by entity, and where each rendered endpoint keeps its\n// comment-bearing nodes. Raw GraphQL sub-queries (GetTasksList/GetTasksByParent) are\n// omitted — the UI renders from the aggregating endpoints, which copy the data out.\n// Add an endpoint here when a new table starts showing latestComments.\nconst COMMENT_CACHE_GROUPS: {\n api: { util: any }\n tag: string\n selectors: Record<string, (draft: any) => any[]>\n}[] = [\n {\n api: getOverviewApi,\n tag: 'overviewTask',\n selectors: {\n getOverviewTasksByFolders: (d) => d ?? [],\n getTasksListInfinite: (d) => d?.pages?.flatMap((p: any) => p.tasks ?? []) ?? [],\n getGroupedTasksList: (d) => d?.tasks ?? [],\n },\n },\n {\n api: entityListsQueriesGql,\n tag: 'entityListItem',\n selectors: {\n getListItemsInfinite: (d) => d?.pages?.flatMap((p: any) => p.items ?? []) ?? [],\n },\n },\n {\n api: injectedVersionsPageApi,\n tag: 'version',\n selectors: {\n getVersionsInfinite: (d) => d?.pages?.flatMap((p: any) => p.versions ?? []) ?? [],\n getVersionsByProducts: (d) => d?.versions ?? [],\n getGroupedVersionsList: (d) => d?.versions ?? [],\n getProductsInfinite: (d) =>\n (d?.pages?.flatMap((p: any) => p.products ?? []) ?? [])\n .map((p: any) => p.featuredVersion)\n .filter(Boolean),\n },\n },\n]\n\n// Optimistically patch latestComments in the overview/versions/products/lists table caches\n// instead of refetching them. Returns the patch handles so they can be undone on failure.\nexport const patchTableLatestComments = (\n args: any,\n { dispatch, getState }: any,\n method: 'create' | 'update' | 'delete',\n) => {\n const { patch } = args\n const entityId = args.entityId ?? patch?.entityId\n const activityId = patch?.activityId ?? args.activityId\n if (!entityId || !activityId) return []\n\n // Only top-level comments appear in latestComments; ignore replies and non-comment activities.\n if (method === 'create' && !(patch?.activityType === 'comment' && patch?.referenceType === 'origin'))\n return []\n if (method === 'update' && patch?.activityType && patch.activityType !== 'comment') return []\n\n const comment: EntityComment = {\n __typename: 'EntityComment',\n activityId,\n body: patch?.body ?? '',\n author: patch?.authorName ?? null,\n createdAt: patch?.createdAt ?? '',\n }\n\n // tasks → overviewTask; versions + products(via featuredVersion) → version; list rows → entityListItem\n const state = getState()\n const target = normalizeId(entityId)\n const patches: any[] = []\n\n for (const { api: sliceApi, tag, selectors } of COMMENT_CACHE_GROUPS) {\n const entries = sliceApi.util.selectInvalidatedBy(state, [{ type: tag, id: entityId }])\n for (const { endpointName, originalArgs } of entries) {\n const selectNodes = selectors[endpointName]\n if (!selectNodes) continue // skip caches the table never renders (raw sub-queries)\n patches.push(\n dispatch(\n sliceApi.util.updateQueryData(endpointName, originalArgs, (draft: any) => {\n for (const node of selectNodes(draft)) {\n if (normalizeId(node?.id) === target || normalizeId(node?.entityId) === target) {\n applyCommentToNode(node, comment, method)\n }\n }\n }),\n ),\n )\n }\n }\n\n return patches\n}\n"],"names":["LATEST_COMMENTS_LIMIT","normalizeId","id","applyCommentToNode","node","comment","method","list","target","idx","c","COMMENT_CACHE_GROUPS","getOverviewApi","d","p","entityListsQueriesGql","injectedVersionsPageApi","patchTableLatestComments","args","dispatch","getState","patch","entityId","activityId","state","patches","sliceApi","tag","selectors","entries","endpointName","originalArgs","selectNodes","draft"],"mappings":"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"}
|
|
@@ -1,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 y=require("./getActivities.cjs.js"),q=require("react-toastify"),v=require("./util/activitiesHelpers.cjs.js"),Q=require("./patchTableLatestComments.cjs.js"),b=(t,e,s)=>{if(s)for(const i of t.pages){const a=i.activities.findIndex(n=>n.activityId===e.activityId);if(a!==-1){i.activities.splice(a,1);return}}else{let i=!1;for(const a of t.pages){const n=a.activities.findIndex(c=>c.activityId===e.activityId);if(n!==-1){a.activities[n]={...a.activities[n],...e},i=!0;break}}!i&&t.pages.length>0&&t.pages[0].activities.unshift(e)}},L=t=>t==null?"":typeof t=="string"?t:JSON.stringify(t),u=async({patch:t,entityIds:e=[],filter:s,refs:i=[],...a},n,c)=>{const{dispatch:p,queryFulfilled:g,getState:A}=n,f=i.map(r=>r.id)||[];L(s);const T=[...e,...f].map(r=>({type:"entityActivities",id:r+"-"+v.filterKey(s)})),m=A(),E=y.getActivitiesGQLApi.util.selectInvalidatedBy(m,T);c!=="delete"&&t.data&&(t.activityData={...t.activityData,...t.data});const I=E.map(({originalArgs:r})=>p(y.getActivitiesGQLApi.util.updateQueryData("getActivitiesInfinite",r,o=>b(o,t,c==="delete")))),S=Q.patchTableLatestComments({patch:t,...a},n,c);try{await g}catch(r){const o=`Error: ${r?.error?.data?.detail||`Failed to ${c} activity`}`;console.error(o,r),q.toast.error(o);for(const $ of[...I,...S])$?.undo()}},d=({entityId:t,filter:e})=>{const i=Object.keys(v.filterActivityTypes).filter(a=>a!==e).map(a=>({type:"entityActivities",id:t+"-"+a}));return i.push({type:"activity",id:"LIST"}),i.push({type:"watchers",id:t}),i},l=y.getActivitiesGQLApi.injectEndpoints({endpoints:t=>({createEntityActivity:t.mutation({query:({projectName:e,entityType:s,entityId:i,data:a={}})=>({url:`/api/projects/${e}/${s}/${i}/activities`,method:"POST",body:a}),async onQueryStarted(e,s){u(e,s,"create")},invalidatesTags:(e,s,{entityId:i,filter:a})=>d({entityId:i,filter:a})}),updateActivity:t.mutation({query:({projectName:e,activityId:s,data:i})=>({url:`/api/projects/${e}/activities/${s}`,method:"PATCH",body:i}),async onQueryStarted(e,s){u(e,s,"update")},invalidatesTags:(e,s,{entityId:i,filter:a})=>d({entityId:i,filter:a})}),deleteActivity:t.mutation({query:({projectName:e,activityId:s})=>({url:`/api/projects/${e}/activities/${s}`,method:"DELETE"}),async onQueryStarted(e,s){u(e,s,"delete")},invalidatesTags:(e,s,{entityId:i,filter:a})=>d({entityId:i,filter:a})})}),overrideExisting:!0}),{useCreateEntityActivityMutation:M,useDeleteActivityMutation:h,useUpdateActivityMutation:j}=l;exports.activitiesQueries=l;exports.useCreateEntityActivityMutation=M;exports.useDeleteActivityMutation=h;exports.useUpdateActivityMutation=j;
|
|
2
2
|
//# sourceMappingURL=updateActivities.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateActivities.cjs.js","sources":["../../../../../../src/api/queries/activities/updateActivities.ts"],"sourcesContent":["import { getActivitiesGQLApi } from './getActivities'\nimport { toast } from 'react-toastify'\nimport { filterActivityTypes } from './util/activitiesHelpers'\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 patchActivities = async (\n { patch, entityIds = [], filter, refs = [] }: any,\n
|
|
1
|
+
{"version":3,"file":"updateActivities.cjs.js","sources":["../../../../../../src/api/queries/activities/updateActivities.ts"],"sourcesContent":["import { getActivitiesGQLApi } from './getActivities'\nimport { toast } from 'react-toastify'\nimport { filterActivityTypes, filterKey } 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 const message = `Error: ${error?.error?.data?.detail || `Failed to ${method} activity`}`\n console.error(message, error)\n toast.error(message)\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":["updateCache","activitiesDraft","patch","isDelete","page","index","a","activityFound","serializeFilter","filter","patchActivities","entityIds","refs","rest","api","method","dispatch","queryFulfilled","getState","refIds","ref","invalidatingTags","id","filterKey","state","entries","getActivitiesGQLApi","patches","originalArgs","draft","tablePatches","patchTableLatestComments","error","message","toast","patchResult","getTags","entityId","tags","filterActivityTypes","key","updateActivitiesApi","build","projectName","entityType","data","args","result","activityId","useCreateEntityActivityMutation","useDeleteActivityMutation","useUpdateActivityMutation"],"mappings":"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"}
|