@ynput/ayon-frontend-shared 0.3.31 → 0.3.33
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 +28 -24
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +219 -199
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +20 -18
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs14.js +1 -1
- package/dist/_virtual/index.cjs15.js +1 -1
- package/dist/_virtual/index.cjs19.js +1 -1
- package/dist/_virtual/index.cjs22.js +1 -1
- package/dist/_virtual/index.cjs23.js +1 -1
- package/dist/_virtual/index.cjs24.js +1 -1
- package/dist/_virtual/index.cjs7.js +1 -1
- package/dist/_virtual/index.es10.js +2 -2
- package/dist/_virtual/index.es11.js +2 -2
- package/dist/_virtual/index.es13.js +2 -2
- package/dist/_virtual/index.es14.js +2 -5
- package/dist/_virtual/index.es14.js.map +1 -1
- 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.es20.js +2 -2
- package/dist/_virtual/index.es22.js +3 -3
- package/dist/_virtual/index.es23.js +5 -5
- package/dist/_virtual/index.es24.js +5 -5
- package/dist/_virtual/index.es7.js +5 -2
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es9.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +460 -436
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +83 -80
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +15 -11
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/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-core/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-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/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +22 -17
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/folders.es.js +2 -14
- package/dist/shared/src/api/generated/folders.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +299 -61
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +430 -170
- 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/activityQueries.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
- package/dist/shared/src/api/queries/activities/activityQueries.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 +26 -24
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +35 -23
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +74 -60
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +62 -48
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +7 -3
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +94 -79
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +2 -0
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +68 -0
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +73 -69
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +104 -71
- package/dist/shared/src/api/queries/folders/getFolders.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 +265 -216
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +207 -187
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +138 -107
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -4
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +11 -11
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +332 -239
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
- package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +4 -2
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.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 +8 -4
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +4 -2
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +143 -162
- 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 +8 -4
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +4 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +4 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +4 -2
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +8 -4
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -2
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +4 -2
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +2 -0
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +4 -2
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +4 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +4 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +4 -2
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.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 +81 -77
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -6
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +4 -2
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +8 -4
- 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 +8 -4
- 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 +8 -4
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -2
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.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 +8 -4
- 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 +9 -5
- 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 +8 -4
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -2
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +8 -4
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js +2 -1
- package/dist/shared/src/components/ReviewablesSelector/ReviewablesSelector.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +2 -0
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -0
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +24 -0
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.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 +8 -6
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +4 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +10 -6
- 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 +8 -4
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +4 -2
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +12 -10
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.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 +8 -4
- 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 +12 -8
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +4 -2
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
- package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +8 -4
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +8 -4
- 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 +8 -4
- 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 +8 -4
- 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 +45 -40
- 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 +8 -4
- 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 +8 -4
- 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 +8 -4
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +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 +8 -4
- 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 +7 -3
- 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 +14 -11
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +14 -9
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +8 -4
- 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 +8 -4
- 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 +8 -4
- 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 +8 -4
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +157 -140
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -4
- 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 +133 -144
- 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 +8 -4
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/ActivityDate.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityDate.es.js +39 -31
- package/dist/shared/src/containers/Feed/components/ActivityDate.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -20
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +349 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js +50 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js +56 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +29 -27
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +351 -290
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +87 -12
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +101 -21
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js +34 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -0
- 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 +12 -8
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +40 -45
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.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 +7 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/hooks/useCategoryData.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js +27 -0
- package/dist/shared/src/containers/Feed/hooks/useCategoryData.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +88 -68
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- 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 +4 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -0
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +113 -0
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -0
- 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 +214 -204
- 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 +8 -4
- 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 +731 -675
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.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 +21 -16
- 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 +61 -45
- 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 +8 -4
- 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 +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
- 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 +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +8 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.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 +219 -183
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.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 +94 -90
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.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 +21 -13
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +85 -81
- 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 +203 -181
- 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 +10 -5
- 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 +8 -4
- 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 +8 -4
- 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 +8 -4
- 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 +179 -175
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.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 +8 -4
- 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 +8 -4
- 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 +8 -4
- 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 +8 -4
- 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 +8 -4
- 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 +96 -91
- 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 +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +46 -44
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
- 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 +19 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
- 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 +61 -61
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js +15 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -0
- 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 +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -12
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +8 -4
- 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 +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +8 -4
- 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 +8 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +52 -50
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +4 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +8 -4
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +57 -53
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +4 -2
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +4 -2
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -4
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +4 -2
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js +12 -18
- package/dist/shared/src/containers/Slicer/hooks/useSlicerViewSync.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +13 -11
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +4 -2
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +8 -4
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +120 -118
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +7 -5
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +13 -11
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +79 -65
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +6 -4
- package/dist/shared/src/context/AddonProjectContext.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 +6 -4
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.es.js +6 -4
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +8 -6
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +6 -4
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +6 -4
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +6 -4
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +7 -5
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +10 -6
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +4 -2
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +4 -2
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +4 -2
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -4
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.es.js +4 -2
- package/dist/shared/src/hooks/useScopedTypes.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +86 -65
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
- package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
- package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
- package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
- package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
- package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
- package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
- package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
- package/dist/types/api/generated/folders.d.ts +1 -6
- package/dist/types/api/generated/graphql.d.ts +403 -6
- package/dist/types/api/generated/graphqlLinks.d.ts +80 -4
- package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +506 -0
- package/dist/types/api/queries/activities/updateActivities.d.ts +116 -0
- package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
- package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
- package/dist/types/api/queries/columnStats/index.d.ts +2 -0
- package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +57 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +57 -0
- package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +57 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +57 -0
- package/dist/types/api/queries/entityLists/index.d.ts +1 -0
- package/dist/types/api/queries/entityLists/listItemsColumnStats.d.ts +312 -0
- package/dist/types/api/queries/entityLists/types.d.ts +3 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +743 -1
- package/dist/types/api/queries/project/getProject.d.ts +57 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +79 -0
- package/dist/types/api/queries/users/getUsers.d.ts +57 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +848 -1
- package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
- package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +5 -0
- package/dist/types/components/SearchFilter/index.d.ts +1 -0
- package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
- package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
- package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
- package/dist/types/config/powerpackFeatures.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
- package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
- package/dist/types/containers/Feed/Feed.d.ts +2 -1
- package/dist/types/containers/Feed/components/ActivityDate.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +20 -0
- package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.d.ts +3 -0
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
- package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +8 -0
- package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +19 -0
- package/dist/types/containers/Feed/components/CommentInput/VersionReviewPill.d.ts +7 -0
- package/dist/types/containers/Feed/hooks/useCategoryData.d.ts +7 -0
- package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +2 -0
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +3 -0
- package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
- package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
- package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
- package/dist/types/util/getThumbnailUrl.d.ts +18 -0
- package/dist/types/util/index.d.ts +2 -0
- package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +35 -30
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport type {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '../overview'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n inviteSentAt\n inviteAcceptedAt\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges\n .filter((e: any) => e.node.name !== 'CloudServiceWorker')\n .map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignee = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}\nexport type Assignees = Assignee[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { GetCurrentUserApiResponse, gqlApi, usersApi } from '@shared/api/generated'\nimport type {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api/generated'\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\nimport { parseAllAttribs } from '../overview'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000, isSupport: false) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n inviteSentAt\n inviteAcceptedAt\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names, isSupport: false) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName, isSupport: false) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\ninterface GetCurrentUserResult extends GetCurrentUserApiResponse {\n uiExposureLevel: number\n}\n\ntype RestDefinitions = DefinitionsFromApi<typeof usersApi>\ntype RestTagTypes = TagTypesFromApi<typeof usersApi>\n// update the definitions to include the new types\ntype RestUpdatedDefinitions = Omit<RestDefinitions, 'getCurrentUser'> & {\n getCurrentUser: OverrideResultType<RestDefinitions['getCurrentUser'], GetCurrentUserResult>\n}\n\nconst enhancedApi = usersApi.enhanceEndpoints<RestTagTypes, RestUpdatedDefinitions>({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges\n .filter((e: any) => e.node.name !== 'CloudServiceWorker')\n .map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignee = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}\nexport type Assignees = Assignee[]\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const C=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 v=require("./getVersionsProductsUtils.cjs.js");require("lodash");require("react-toastify");require("uuid");const F=require("../../../util/pubsub.cjs.js");function E(y,e,i,a){for(let t=0;t<y.length;t++){const s=e[i],l=y[t][i];if(a?s>l:s<l)return t}return y.length}function G(y,e,i,a,t,s){for(const l of y){const u=l[a],n=u.findIndex(o=>o.id===e);if(n!==-1){i?u[n]=i:u.splice(n,1);return}}if(i&&y.length>0){const l=y[0][a],u=E(l,i,t,s);l.splice(u,0,i)}}function T(y,e,i){const a=y.findIndex(t=>t.id===e);return a!==-1?i?(y[a]=i,{index:a,action:"updated"}):(y.splice(a,1),{index:a,action:"deleted"}):i?(y.push(i),{index:y.length-1,action:"added"}):{index:-1,action:"none"}}const q=C.api.enhanceEndpoints({endpoints:{GetVersions:{transformResponse:v.transformVersionsResponse,providesTags:v.provideTagsForVersionsResult},GetVersionsByProductId:{transformResponse:v.transformVersionsResponse,providesTags:v.provideTagsForVersionsResult},GetProducts:{transformResponse:v.transformProductsResponse,providesTags:v.provideTagsForProductsResult}}}),m=250,b=1e3,Q=10,N=q.injectEndpoints({endpoints:y=>({getVersionsInfinite:y.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,i,a,t)=>{const s=e.pageInfo;if(!(!(a.desc?s?.hasPreviousPage:s?.hasNextPage)||!s?.endCursor))return{cursor:s?.endCursor,desc:a.desc}}},queryFn:async({queryArg:e,pageParam:i},a)=>{try{const{sortBy:t,desc:s,folderIds:l,...u}=e,{cursor:n}=i,o={...u};t?(o.sortBy=t,s?(o.before=n||void 0,o.last=m):(o.after=n||void 0,o.first=m)):(o.after=n||void 0,o.first=m),l&&l.length&&(o.folderIds=l);const r=await a.dispatch(q.endpoints.GetVersions.initiate(o,{forceRefetch:!0}));if(r.error)throw r.error;const c={versions:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:r.data||c}}catch(t){return console.error("Error in getVersionsInfiniteQuery queryFn:",t),{error:{status:"FETCH_ERROR",error:v.parseGQLErrorMessage(t.message)}}}},providesTags:v.provideTagsForVersionsInfinite,onCacheEntryAdded:async(e,{updateCachedData:i,cacheEntryRemoved:a,dispatch:t})=>{const s=F.subscribe("entity.version",async(l,u)=>{try{const n=u.summary?.entityId;if(!n)return;const o=await t(q.endpoints.GetVersions.initiate({projectName:e.projectName,versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,versionIds:[n],first:1},{forceRefetch:!0}));if(o.error)return;i(r=>{const c=o.data?.versions?.[0];G(r.pages,n,c,"versions",e.sortBy||"createdAt",e.desc||!1)})}catch{}});await a,F.unsubscribe(s)}}),getVersionsByProducts:y.query({queryFn:async(e,{dispatch:i,forced:a})=>{const{productIds:t=[],desc:s,...l}=e,u=async(d,f)=>{const p={...l,productIds:[d]};return s?(f&&(p.before=f),p.last=b):(f&&(p.after=f),p.first=b),i(q.endpoints.GetVersionsByProductId.initiate(p,{forceRefetch:a}))},n=t.map(d=>u(d)),o=await Promise.allSettled(n),r=[],c=[];for(let d=0;d<o.length;d++){const f=o[d],p=t[d];if(f.status==="rejected"){console.error(`Error fetching versions for product ${p}:`,f.reason),c.push({productId:p,error:v.parseGQLErrorMessage(f.reason)});continue}const g=f.value;if(g.error){console.error(`Error fetching versions for product ${p}:`,g.error),c.push({productId:p,error:v.parseGQLErrorMessage(g.error?.message||"Unknown error")});continue}if(!g.data)continue;r.push(...g.data.versions);let h=g.data.pageInfo,P=1;for(;h&&P<Q;){const R=s?h.hasPreviousPage:h.hasNextPage,I=h.endCursor;if(!R||!I)break;const V=await u(p,I);if(V.error){console.error(`Error fetching versions page ${P+1} for product ${p}:`,V.error),c.push({productId:p,error:V.error});break}if(!V.data)break;r.push(...V.data.versions),h=V.data.pageInfo,P++}}return c.length>0&&console.warn(`Partial success: ${c.length} of ${t.length} products failed to fetch versions`,c),{data:{versions:r,pageInfo:void 0,errors:c.length>0?c:void 0}}},onCacheEntryAdded:async(e,{updateCachedData:i,cacheEntryRemoved:a,dispatch:t})=>{const s=F.subscribe("entity.version",async(l,u)=>{try{const n=u.summary?.entityId,o=u.summary?.parentId;if(!n||!o||!e.productIds.includes(o))return;const r=await t(q.endpoints.GetVersions.initiate({projectName:e.projectName,productIds:[o],versionIds:[n],versionFilter:e.versionFilter,taskFilter:e.taskFilter,first:1,...e.featuredOnly&&{featuredOnly:e.featuredOnly},...e.hasReviewables!==void 0&&{hasReviewables:e.hasReviewables}},{forceRefetch:!0}));if(r.error)return;i(c=>{const d=r.data?.versions?.[0];T(c.versions,n,d)})}catch{}});await a,F.unsubscribe(s)},providesTags:v.provideTagsForVersionsResult}),getProductsInfinite:y.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,i,a,t)=>{const s=e.pageInfo;if(!(!(a.desc?s?.hasPreviousPage:s?.hasNextPage)||!s?.endCursor))return{cursor:s?.endCursor,desc:a.desc}}},queryFn:async({queryArg:e,pageParam:i},a)=>{let t;try{const{sortBy:s,desc:l,folderIds:u,...n}=e,{cursor:o}=i,r={...n};if(s?(r.sortBy=s,l?(r.before=o||void 0,r.last=m):(r.after=o||void 0,r.first=m)):(r.after=o||void 0,r.first=m),u&&u.length&&(r.folderIds=u),t=await a.dispatch(q.endpoints.GetProducts.initiate(r,{forceRefetch:!0})),t.error)throw t.error;const c={products:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:t.data||c}}catch(s){return console.error("Error in getProductsInfiniteQuery queryFn:",s),{error:{status:"FETCH_ERROR",error:v.parseGQLErrorMessage(s.message)}}}},providesTags:v.provideTagsForProductsInfinite,onCacheEntryAdded:async(e,{updateCachedData:i,cacheEntryRemoved:a,dispatch:t})=>{const s=async n=>{const o={projectName:e.projectName,productIds:[n],productFilter:e.productFilter,versionFilter:e.versionFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,first:1},r=await t(q.endpoints.GetProducts.initiate(o,{forceRefetch:!0}));r.error||i(c=>{const d=r.data?.products?.[0];G(c.pages,n,d,"products",e.sortBy||"createdAt",e.desc||!1)})},l=F.subscribe("entity.product",async(n,o)=>{try{const r=o.summary?.entityId;if(!r)return;await s(r)}catch{}}),u=F.subscribe("entity.version",async(n,o)=>{try{const r=o.summary?.parentId;if(!r)return;let c=!1;if(i(d=>{c=d.pages.some(f=>f.products.some(p=>p.id===r))}),!c)return;await s(r)}catch{}});await a,F.unsubscribe(l),F.unsubscribe(u)}}),getGroupedVersionsList:y.query({queryFn:async({projectName:e,groups:i,groupFilterKey:a="versionFilter",versionFilter:t,productFilter:s,taskFilter:l,folderIds:u,desc:n,sortBy:o,featuredOnly:r,hasReviewables:c},d)=>{try{const f=[];for(const h of i){const P=h.count||500,R={projectName:e,productFilter:s,taskFilter:l,versionFilter:t,[a]:h.filter,folderIds:u?.length?u:void 0,sortBy:o,featuredOnly:r,hasReviewables:c,group:h.value};n?R.last=P:R.first=P;const I=d.dispatch(q.endpoints.GetVersions.initiate(R,{forceRefetch:!0}));f.push(I)}const p=await Promise.all(f),g=[];for(const h of p){if(h.error)throw h.error;const P=h.originalArgs?.group,R=h.data?.pageInfo?.hasNextPage||h.data?.pageInfo?.hasPreviousPage||!1,I=h.data?.versions.map((V,x,w)=>({...V,groups:[{value:P,hasNextPage:x===w.length-1&&R?P:void 0}]}))||[];g.push(...I)}return{data:{versions:g}}}catch(f){return console.error("Error in getGroupedVersionsList queryFn:",f),{error:{status:"FETCH_ERROR",error:v.parseGQLErrorMessage(f.message)}}}},providesTags:v.provideTagsForVersionsResult,onCacheEntryAdded:async(e,{updateCachedData:i,cacheEntryRemoved:a,dispatch:t})=>{const s=F.subscribe("entity.version",async(l,u)=>{try{const n=u.summary?.entityId;if(!n)return;const o={projectName:e.projectName,versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,versionIds:[n],first:1,...e.featuredOnly&&{featuredOnly:e.featuredOnly},...e.hasReviewables!==void 0&&{hasReviewables:e.hasReviewables}},r=[];let c=null;for(const d of e.groups){const p=(await t(q.endpoints.GetVersions.initiate({...o,[e.groupFilterKey]:d.filter,versionIds:[n]},{forceRefetch:!0}))).data?.versions?.[0];p&&(r.push({value:d.value,hasNextPage:void 0}),c=p)}i(d=>{const f=d.versions.findIndex(g=>g.id===n),p=f!==-1;if(r.length===0)p&&d.versions.splice(f,1);else if(c)if(p){const g=d.versions[f].groups||[],h=g.map(I=>I.value).sort(),P=r.map(I=>I.value).sort();h.length!==P.length||h.some((I,V)=>I!==P[V])?d.versions[f]={...c,groups:r}:d.versions[f]={...c,groups:g}}else{const g={...c,groups:r},h=e.sortBy||"createdAt",P=E(d.versions,g,h,e.desc||!1);d.versions.splice(P,0,g)}})}catch{}});await a,F.unsubscribe(s)}})})}),{useGetVersionsQuery:_}=q,{useGetVersionsInfiniteInfiniteQuery:k,useGetVersionsByProductsQuery:O,useGetProductsInfiniteInfiniteQuery:A,useGetGroupedVersionsListQuery:j}=N;exports.VP_INFINITE_QUERY_COUNT=m;exports.enhancedVersionsPageApi=q;exports.injectedVersionsPageApi=N;exports.useGetGroupedVersionsListQuery=j;exports.useGetProductsInfiniteQuery=A;exports.useGetVersionsByProductsQuery=O;exports.useGetVersionsInfiniteQuery=k;exports.useGetVersionsQuery=_;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");const C=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 g=require("./getVersionsProductsUtils.cjs.js");require("lodash");require("react-toastify");require("uuid");const R=require("../../../util/thumbnailWebsocket.cjs.js"),q=require("../../../util/pubsub.cjs.js"),T=require("../columnStats/columnStats.cjs.js"),E=require("../columnStats/metricTargets.cjs.js");function Q(c,e,n,d){for(let u=0;u<c.length;u++){const o=e[n],p=c[u][n];if(d?o>p:o<p)return u}return c.length}function N(c,e,n,d,u,o){for(const p of c){const l=p[d],f=l.findIndex(r=>r.id===e);if(f!==-1){n?l[f]=n:l.splice(f,1);return}}if(n&&c.length>0){const p=c[0][d],l=Q(p,n,u,o);p.splice(l,0,n)}}function j(c,e,n){const d=c.findIndex(u=>u.id===e);return d!==-1?n?(c[d]=n,{index:d,action:"updated"}):(c.splice(d,1),{index:d,action:"deleted"}):n?(c.push(n),{index:c.length-1,action:"added"}):{index:-1,action:"none"}}const b=C.api.enhanceEndpoints({endpoints:{GetVersions:{transformResponse:g.transformVersionsResponse,providesTags:g.provideTagsForVersionsResult},GetVersionsByProductId:{transformResponse:g.transformVersionsResponse,providesTags:g.provideTagsForVersionsResult},GetProducts:{transformResponse:g.transformProductsResponse,providesTags:g.provideTagsForProductsResult},GetProductsColumnStats:{transformResponse:c=>T.normalizeFieldStats(c?.project?.products?.fieldStats??[]),serializeQueryArgs:({queryArgs:{targets:c,...e}})=>e,merge:(c,e)=>T.mergeFieldStats(e,c),forceRefetch:({currentArg:c,previousArg:e})=>E.hasNewTargetFields(c,e),providesTags:(c,e,{projectName:n})=>[{type:"productColumnStats",id:n}]},GetVersionsColumnStats:{transformResponse:c=>T.normalizeFieldStats(c?.project?.versions?.fieldStats??[]),serializeQueryArgs:({queryArgs:{targets:c,...e}})=>e,merge:(c,e)=>T.mergeFieldStats(e,c),forceRefetch:({currentArg:c,previousArg:e})=>E.hasNewTargetFields(c,e),providesTags:(c,e,{projectName:n})=>[{type:"versionColumnStats",id:n}]}}}),F=250,x=1e3,S=10,_=b.injectEndpoints({endpoints:c=>({getVersionsInfinite:c.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,n,d,u)=>{const o=e.pageInfo;if(!(!(d.desc?o?.hasPreviousPage:o?.hasNextPage)||!o?.endCursor))return{cursor:o?.endCursor,desc:d.desc}}},queryFn:async({queryArg:e,pageParam:n},d)=>{try{const{sortBy:u,desc:o,folderIds:p,...l}=e,{cursor:f}=n,r={...l};u?(r.sortBy=u,o?(r.before=f||void 0,r.last=F):(r.after=f||void 0,r.first=F)):(r.after=f||void 0,r.first=F),p&&p.length&&(r.folderIds=p);const t=await d.dispatch(b.endpoints.GetVersions.initiate(r,{forceRefetch:!0}));if(t.error)throw t.error;const s={versions:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:t.data||s}}catch(u){return console.error("Error in getVersionsInfiniteQuery queryFn:",u),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(u.message)}}}},providesTags:g.provideTagsForVersionsInfinite,onCacheEntryAdded:async(e,{updateCachedData:n,cacheEntryRemoved:d,dispatch:u})=>{let o;o=R.subscribeToThumbnailUpdates(l=>{const f=l.filter(r=>r.project===e.projectName);f.length&&n(r=>{f.forEach(t=>{t.summary.entityType==="version"&&r.pages.forEach(s=>{const i=s.versions.findIndex(a=>a.id===t.summary.entityId);i!==-1&&(s.versions[i].thumbnailHash=t.summary.thumbnailHash||"")})})})},["version"]);const p=q.subscribe("entity.version",async(l,f)=>{try{const r=f.summary?.entityId;if(!r)return;const t=await u(b.endpoints.GetVersions.initiate({projectName:e.projectName,versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,versionIds:[r],first:1},{forceRefetch:!0}));if(t.error)return;n(s=>{const i=t.data?.versions?.[0];N(s.pages,r,i,"versions",e.sortBy||"createdAt",e.desc||!1)})}catch{}});await d,q.unsubscribe(p),o&&o()}}),getVersionsByProducts:c.query({queryFn:async(e,{dispatch:n,forced:d})=>{const{productIds:u=[],desc:o,...p}=e,l=async(i,a)=>{const h={...p,productIds:[i]};return o?(a&&(h.before=a),h.last=x):(a&&(h.after=a),h.first=x),n(b.endpoints.GetVersionsByProductId.initiate(h,{forceRefetch:d}))},f=u.map(i=>l(i)),r=await Promise.allSettled(f),t=[],s=[];for(let i=0;i<r.length;i++){const a=r[i],h=u[i];if(a.status==="rejected"){console.error(`Error fetching versions for product ${h}:`,a.reason),s.push({productId:h,error:g.parseGQLErrorMessage(a.reason)});continue}const v=a.value;if(v.error){console.error(`Error fetching versions for product ${h}:`,v.error),s.push({productId:h,error:g.parseGQLErrorMessage(v.error?.message||"Unknown error")});continue}if(!v.data)continue;t.push(...v.data.versions);let y=v.data.pageInfo,m=1;for(;y&&m<S;){const P=o?y.hasPreviousPage:y.hasNextPage,V=y.endCursor;if(!P||!V)break;const I=await l(h,V);if(I.error){console.error(`Error fetching versions page ${m+1} for product ${h}:`,I.error),s.push({productId:h,error:I.error});break}if(!I.data)break;t.push(...I.data.versions),y=I.data.pageInfo,m++}}return s.length>0&&console.warn(`Partial success: ${s.length} of ${u.length} products failed to fetch versions`,s),{data:{versions:t,pageInfo:void 0,errors:s.length>0?s:void 0}}},onCacheEntryAdded:async(e,{updateCachedData:n,cacheEntryRemoved:d,dispatch:u})=>{let o;o=R.subscribeToThumbnailUpdates(l=>{const f=l.filter(r=>r.project===e.projectName);f.length&&n(r=>{f.forEach(t=>{if(t.summary.entityType==="version"){const s=r.versions.findIndex(i=>i.id===t.summary.entityId);s!==-1&&(r.versions[s].thumbnailHash=t.summary.thumbnailHash||"")}})})},["version"]);const p=q.subscribe("entity.version",async(l,f)=>{try{const r=f.summary?.entityId,t=f.summary?.parentId;if(!r||!t||!e.productIds.includes(t))return;const s=await u(b.endpoints.GetVersions.initiate({projectName:e.projectName,productIds:[t],versionIds:[r],versionFilter:e.versionFilter,taskFilter:e.taskFilter,first:1,...e.featuredOnly&&{featuredOnly:e.featuredOnly},...e.hasReviewables!==void 0&&{hasReviewables:e.hasReviewables}},{forceRefetch:!0}));if(s.error)return;n(i=>{const a=s.data?.versions?.[0];j(i.versions,r,a)})}catch{}});await d,q.unsubscribe(p),o&&o()},providesTags:g.provideTagsForVersionsResult}),getProductsInfinite:c.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(e,n,d,u)=>{const o=e.pageInfo;if(!(!(d.desc?o?.hasPreviousPage:o?.hasNextPage)||!o?.endCursor))return{cursor:o?.endCursor,desc:d.desc}}},queryFn:async({queryArg:e,pageParam:n},d)=>{let u;try{const{sortBy:o,desc:p,folderIds:l,...f}=e,{cursor:r}=n,t={...f};if(o?(t.sortBy=o,p?(t.before=r||void 0,t.last=F):(t.after=r||void 0,t.first=F)):(t.after=r||void 0,t.first=F),l&&l.length&&(t.folderIds=l),u=await d.dispatch(b.endpoints.GetProducts.initiate(t,{forceRefetch:!0})),u.error)throw u.error;const s={products:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:u.data||s}}catch(o){return console.error("Error in getProductsInfiniteQuery queryFn:",o),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(o.message)}}}},providesTags:g.provideTagsForProductsInfinite,onCacheEntryAdded:async(e,{updateCachedData:n,cacheEntryRemoved:d,dispatch:u})=>{let o;o=R.subscribeToThumbnailUpdates(r=>{const t=r.filter(s=>s.project===e.projectName);t.length&&n(s=>{t.forEach(i=>{i.summary.entityType==="version"&&s.pages.forEach(a=>{a.products.forEach(h=>{h.featuredVersion?.id===i.summary.entityId&&(h.featuredVersion.thumbnailHash=i.summary.thumbnailHash||"")})})})})},["version"]);const p=async r=>{const t={projectName:e.projectName,productIds:[r],productFilter:e.productFilter,versionFilter:e.versionFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,first:1},s=await u(b.endpoints.GetProducts.initiate(t,{forceRefetch:!0}));s.error||n(i=>{const a=s.data?.products?.[0];N(i.pages,r,a,"products",e.sortBy||"createdAt",e.desc||!1)})},l=q.subscribe("entity.product",async(r,t)=>{try{const s=t.summary?.entityId;if(!s)return;await p(s)}catch{}}),f=q.subscribe("entity.version",async(r,t)=>{try{const s=t.summary?.parentId;if(!s)return;let i=!1;if(n(a=>{i=a.pages.some(h=>h.products.some(v=>v.id===s))}),!i)return;await p(s)}catch{}});await d,q.unsubscribe(l),q.unsubscribe(f),o&&o()}}),getGroupedVersionsList:c.query({queryFn:async({projectName:e,groups:n,groupFilterKey:d="versionFilter",versionFilter:u,productFilter:o,taskFilter:p,folderIds:l,desc:f,sortBy:r,featuredOnly:t,hasReviewables:s},i)=>{try{const a=[];for(const y of n){const m=y.count||500,P={projectName:e,productFilter:o,taskFilter:p,versionFilter:u,[d]:y.filter,folderIds:l?.length?l:void 0,sortBy:r,featuredOnly:t,hasReviewables:s,group:y.value};f?P.last=m:P.first=m;const V=i.dispatch(b.endpoints.GetVersions.initiate(P,{forceRefetch:!0}));a.push(V)}const h=await Promise.all(a),v=[];for(const y of h){if(y.error)throw y.error;const m=y.originalArgs?.group,P=y.data?.pageInfo?.hasNextPage||y.data?.pageInfo?.hasPreviousPage||!1,V=y.data?.versions.map((I,G,w)=>({...I,groups:[{value:m,hasNextPage:G===w.length-1&&P?m:void 0}]}))||[];v.push(...V)}return{data:{versions:v}}}catch(a){return console.error("Error in getGroupedVersionsList queryFn:",a),{error:{status:"FETCH_ERROR",error:g.parseGQLErrorMessage(a.message)}}}},providesTags:g.provideTagsForVersionsResult,onCacheEntryAdded:async(e,{updateCachedData:n,cacheEntryRemoved:d,dispatch:u})=>{let o;o=R.subscribeToThumbnailUpdates(l=>{const f=l.filter(r=>r.project===e.projectName);f.length&&n(r=>{f.forEach(t=>{if(t.summary.entityType==="version"){const s=r.versions.findIndex(i=>i.id===t.summary.entityId);s!==-1&&(r.versions[s].thumbnailHash=t.summary.thumbnailHash||"")}})})},["version"]);const p=q.subscribe("entity.version",async(l,f)=>{try{const r=f.summary?.entityId;if(!r)return;const t={projectName:e.projectName,versionFilter:e.versionFilter,productFilter:e.productFilter,taskFilter:e.taskFilter,folderIds:e.folderIds?.length?e.folderIds:void 0,versionIds:[r],first:1,...e.featuredOnly&&{featuredOnly:e.featuredOnly},...e.hasReviewables!==void 0&&{hasReviewables:e.hasReviewables}},s=[];let i=null;for(const a of e.groups){const v=(await u(b.endpoints.GetVersions.initiate({...t,[e.groupFilterKey]:a.filter,versionIds:[r]},{forceRefetch:!0}))).data?.versions?.[0];v&&(s.push({value:a.value,hasNextPage:void 0}),i=v)}n(a=>{const h=a.versions.findIndex(y=>y.id===r),v=h!==-1;if(s.length===0)v&&a.versions.splice(h,1);else if(i)if(v){const y=a.versions[h].groups||[],m=y.map(I=>I.value).sort(),P=s.map(I=>I.value).sort();m.length!==P.length||m.some((I,G)=>I!==P[G])?a.versions[h]={...i,groups:s}:a.versions[h]={...i,groups:y}}else{const y={...i,groups:s},m=e.sortBy||"createdAt",P=Q(a.versions,y,m,e.desc||!1);a.versions.splice(P,0,y)}})}catch{}});await d,q.unsubscribe(p),o&&o()}})})}),{useGetVersionsQuery:k,useGetProductsColumnStatsQuery:A,useGetVersionsColumnStatsQuery:O}=b,{useGetVersionsInfiniteInfiniteQuery:U,useGetVersionsByProductsQuery:B,useGetProductsInfiniteInfiniteQuery:H,useGetGroupedVersionsListQuery:M}=_;exports.VP_INFINITE_QUERY_COUNT=F;exports.enhancedVersionsPageApi=b;exports.injectedVersionsPageApi=_;exports.useGetGroupedVersionsListQuery=M;exports.useGetProductsColumnStatsQuery=A;exports.useGetProductsInfiniteQuery=H;exports.useGetVersionsByProductsQuery=B;exports.useGetVersionsColumnStatsQuery=O;exports.useGetVersionsInfiniteQuery=U;exports.useGetVersionsQuery=k;
|
|
2
2
|
//# sourceMappingURL=getVersionsProducts.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVersionsProducts.cjs.js","sources":["../../../../../../src/api/queries/versions/getVersionsProducts.ts"],"sourcesContent":["// QUERIES FOR THE VERSIONS PAGE, FETCHING AND UPDATING DATA\n// Uses a separate graphqlVersionsApi for increased IDE speed\n\n// There are 4 main fetch requests:\n\n// Versions Only:\n// 1. GetVersions - fetches all versions in the project for given filtering and with pagination\n\n// Products and Versions (stacked):\n// 2. GetProducts - fetches all products in the project based on product and version filtering\n// 3. GetVersionsByProducts - when a product is expanded, fetches all versions for the products that are expanded. Uses getVersionsByProductId for each parent id. (uses queryFn)\n// 4. GetVersionsByProductId - get all versions for a specific product. Used by getVersionsByProducts only.\n\n// VersionFragment is used in all version queries to ensure consistent data structure\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n InfiniteData,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport {\n GetProductsQuery,\n GetProductsQueryVariables,\n GetVersionsByProductIdQueryVariables,\n GetVersionsQuery,\n GetVersionsQueryVariables,\n gqlApi,\n PageInfo,\n VpFolderFragment,\n} from '@shared/api/generated'\nimport {\n parseGQLErrorMessage,\n provideTagsForProductsInfinite,\n provideTagsForProductsResult,\n provideTagsForVersionsInfinite,\n provideTagsForVersionsResult,\n transformProductsResponse,\n transformVersionsResponse,\n} from './getVersionsProductsUtils'\nimport { PubSub } from '@shared/util'\n\n// SHARED CACHE UPDATE HELPERS\n// These helpers are used by PubSub handlers to update cached data in real-time\n\n/**\n * Finds the correct insertion index for a new item in a sorted array\n * Used when adding new items to maintain sort order\n */\nfunction findSortedInsertIndex<T>(items: T[], newItem: T, sortBy: keyof T, desc: boolean): number {\n for (let i = 0; i < items.length; i++) {\n const newValue = newItem[sortBy]\n const currentValue = items[i][sortBy]\n const shouldInsert = desc ? newValue > currentValue : newValue < currentValue\n\n if (shouldInsert) {\n return i\n }\n }\n return items.length\n}\n\n/**\n * Updates a paginated cache (draft.pages[].items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add at sorted position\n *\n * @param pages - Array of page objects containing items arrays\n * @param entityId - ID of the entity to update/delete/add\n * @param updatedItem - The updated item, or undefined if deleted\n * @param itemsKey - Key to access items array in each page ('versions' or 'products')\n * @param sortBy - Property to sort by when inserting new items\n * @param desc - Sort direction (true = descending)\n */\nfunction updatePagedCache<T extends { id: string }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pages: any[],\n entityId: string,\n updatedItem: T | undefined,\n itemsKey: string,\n sortBy: keyof T,\n desc: boolean,\n): void {\n // Search for existing item in all pages\n for (const page of pages) {\n const items = page[itemsKey] as T[]\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n // Update existing item\n items[index] = updatedItem\n } else {\n // Item no longer exists or doesn't match filters - remove it\n items.splice(index, 1)\n }\n return\n }\n }\n\n // Item not found in cache - add at correct sorted position in first page\n if (updatedItem && pages.length > 0) {\n const items = pages[0][itemsKey] as T[]\n const insertIndex = findSortedInsertIndex(items, updatedItem, sortBy, desc)\n items.splice(insertIndex, 0, updatedItem)\n }\n}\n\n/**\n * Updates a flat cache (draft.items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add new\n */\nfunction updateFlatCache<T extends { id: string }>(\n items: T[],\n entityId: string,\n updatedItem: T | undefined,\n): { index: number; action: 'updated' | 'deleted' | 'added' | 'none' } {\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n items[index] = updatedItem\n return { index, action: 'updated' }\n } else {\n items.splice(index, 1)\n return { index, action: 'deleted' }\n }\n } else if (updatedItem) {\n items.push(updatedItem)\n return { index: items.length - 1, action: 'added' }\n }\n\n return { index: -1, action: 'none' }\n}\n\n// Query result types\nexport type FolderAttribNode = VpFolderFragment & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n}\nexport type VersionNodeRAW = GetVersionsQuery['project']['versions']['edges'][0]['node']\nexport type VersionNode = VersionNodeRAW & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n product: VersionNodeRAW['product'] & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n folder: FolderAttribNode // folder with parsed attribs\n }\n groups?: { value?: string; hasNextPage?: string }[] // grouping metadata\n}\nexport type ProductNodeRAW = GetProductsQuery['project']['products']['edges'][0]['node']\nexport type ProductNode = Omit<ProductNodeRAW, 'versions'> & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n featuredVersion?: VersionNode | null // added separately\n folder: FolderAttribNode // folder with parsed attribs\n versions: {\n id: string\n name: string\n version: number\n heroVersionId?: string | null\n }[] // versions with isHero flag\n}\n\nexport type GetVersionsResult = {\n pageInfo?: PageInfo\n versions: VersionNode[]\n errors?: Array<{ productId: string; error: string }>\n}\n\n// for infinite query args\nexport type GetVersionsArgs = Omit<GetVersionsQueryVariables, 'cursor'> & {\n desc?: boolean // sort direction\n}\n\n// for paginated queries in infinite query\ntype VersionsPageParam = {\n cursor: string\n desc?: boolean\n}\n\nexport type GetProductsArgs = Omit<GetProductsQueryVariables, 'cursor' | 'versionIds'> & {\n desc?: boolean // sort direction\n}\n\ntype ProductsPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype GetVersionsByProductsArgs = GetVersionsByProductIdQueryVariables & {\n productIds: string[]\n desc?: boolean\n}\n\nexport type GetGroupedVersionsListArgs = {\n projectName: string\n groups: { filter: string; count?: number | null; value: string }[]\n groupFilterKey?: string\n versionFilter?: string\n productFilter?: string\n taskFilter?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n featuredOnly?: string[]\n hasReviewables?: boolean\n}\n\nexport type GetGroupedVersionsListResult = {\n versions: VersionNode[]\n}\n\nexport type VersionInfiniteResult = InfiniteData<GetVersionsResult, VersionsPageParam> | undefined\n\nexport type ProductInfiniteResult = InfiniteData<GetProductsResult, ProductsPageParam> | undefined\n\nexport type GetProductsResult = {\n pageInfo: PageInfo\n products: ProductNode[]\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetVersions'> & {\n GetVersions: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetVersionsByProductId: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetProducts: OverrideResultType<Definitions['GetProducts'], GetProductsResult>\n}\n\nconst enhancedVersionsPageApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // used by both stacked and non-stacked views\n GetVersions: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n },\n // used by getVersionsByProducts only\n GetVersionsByProductId: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n },\n // used by getProductsInfinite only\n GetProducts: {\n transformResponse: transformProductsResponse,\n providesTags: provideTagsForProductsResult,\n },\n },\n})\n\nexport const VP_INFINITE_QUERY_COUNT = 250 // Number of items to fetch per page\nconst VERSIONS_BY_PRODUCT_ID_QUERY_COUNT = 1000 // max number of versions to fetch per product id\nconst MAX_PAGES_PER_PRODUCT = 10 // Hard cutoff to prevent infinite loops\n\nconst injectedVersionsPageApi = enhancedVersionsPageApi.injectEndpoints({\n endpoints: (build) => ({\n // enhance GetVersions with an infinite query\n getVersionsInfinite: build.infiniteQuery<GetVersionsResult, GetVersionsArgs, VersionsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetVersions query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetVersions gql query\n const result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n versions: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the versions 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 getVersionsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsInfinite,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n const token = PubSub.subscribe('entity.version', async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n // Re-fetch the specific version with current filters to check if it still matches\n // If version was deleted or no longer matches filters, result will be empty\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(\n {\n projectName: arg.projectName,\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n versionIds: [entityId],\n first: 1,\n },\n {\n forceRefetch: true,\n },\n ),\n )\n\n if (result.error) return\n\n // Update the cache: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedVersion = result.data?.versions?.[0]\n updatePagedCache(\n draft.pages,\n entityId,\n updatedVersion,\n 'versions',\n (arg.sortBy || 'createdAt') as keyof VersionNode,\n arg.desc || false,\n )\n })\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n })\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n },\n },\n ),\n\n // custom query function that fetches versions by multiple parent ids -not infinite and gets 1000 versions max\n getVersionsByProducts: build.query<GetVersionsResult, GetVersionsByProductsArgs>({\n queryFn: async (args, { dispatch, forced }) => {\n const { productIds = [], desc, ...rest } = args\n\n // Helper function to fetch a page of versions\n const fetchVersionsPage = async (productId: string, cursor?: string) => {\n const queryParams: GetVersionsByProductIdQueryVariables = {\n ...rest,\n productIds: [productId],\n }\n\n if (desc) {\n if (cursor) queryParams.before = cursor\n queryParams.last = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n } else {\n if (cursor) queryParams.after = cursor\n queryParams.first = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n }\n\n return dispatch(\n enhancedVersionsPageApi.endpoints.GetVersionsByProductId.initiate(queryParams, {\n forceRefetch: forced,\n }),\n )\n }\n\n // for each product id, call getVersionsByProductId\n const promises = productIds.map((productId) => fetchVersionsPage(productId))\n\n // wait for all requests to settle (either fulfilled or rejected)\n const settledResults = await Promise.allSettled(promises)\n\n // Collect all versions from initial queries\n const allVersions: VersionNode[] = []\n const errors: Array<{ productId: string; error: any }> = []\n\n // Check each result for additional pages and fetch them if needed\n for (let i = 0; i < settledResults.length; i++) {\n const settledResult = settledResults[i]\n const productId = productIds[i]\n\n // Handle rejected promises\n if (settledResult.status === 'rejected') {\n console.error(`Error fetching versions for product ${productId}:`, settledResult.reason)\n errors.push({ productId, error: parseGQLErrorMessage(settledResult.reason) })\n continue\n }\n\n // Handle errors in fulfilled promises\n const result = settledResult.value\n if (result.error) {\n console.error(`Error fetching versions for product ${productId}:`, result.error)\n errors.push({\n productId,\n // @ts-expect-error - message\n error: parseGQLErrorMessage(result.error?.message || 'Unknown error'),\n })\n continue\n }\n\n if (!result.data) continue\n\n // Add initial page versions\n allVersions.push(...result.data.versions)\n\n // Check if there are more pages to fetch\n let pageInfo = result.data.pageInfo\n let pageCount = 1\n\n while (pageInfo && pageCount < MAX_PAGES_PER_PRODUCT) {\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n const cursor = pageInfo.endCursor\n\n if (!hasNextPage || !cursor) break\n\n // Fetch next page\n const nextPageResult = await fetchVersionsPage(productId, cursor)\n\n if (nextPageResult.error) {\n console.error(\n `Error fetching versions page ${pageCount + 1} for product ${productId}:`,\n nextPageResult.error,\n )\n errors.push({ productId, error: nextPageResult.error })\n break\n }\n\n if (!nextPageResult.data) break\n\n allVersions.push(...nextPageResult.data.versions)\n pageInfo = nextPageResult.data.pageInfo\n pageCount++\n }\n }\n\n // If some requests failed but we have data, log warning but return successful data\n if (errors.length > 0) {\n console.warn(\n `Partial success: ${errors.length} of ${productIds.length} products failed to fetch versions`,\n errors,\n )\n }\n\n return {\n data: {\n versions: allVersions,\n pageInfo: undefined, // pageInfo is undefined as we've flattened multiple queries\n errors: errors.length > 0 ? errors : undefined,\n },\n }\n },\n // Subscribes to version entity changes for expanded products\n // Only updates versions that belong to currently expanded products\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n const token = PubSub.subscribe('entity.version', async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n const parentId = message.summary?.parentId // parentId is the product ID\n if (!entityId || !parentId) return\n\n // Only handle versions belonging to currently expanded products\n // This prevents unnecessary updates for versions in collapsed products\n if (!arg.productIds.includes(parentId)) return\n\n // Re-fetch the specific version using GetVersions (supports versionIds filter)\n // Uses same filters as the base query to ensure consistency\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(\n {\n projectName: arg.projectName,\n productIds: [parentId],\n versionIds: [entityId],\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n first: 1,\n ...(arg.featuredOnly && { featuredOnly: arg.featuredOnly }),\n ...(arg.hasReviewables !== undefined && { hasReviewables: arg.hasReviewables }),\n },\n { forceRefetch: true },\n ),\n )\n\n if (result.error) return\n\n // Update flat versions array: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedVersion = result.data?.versions?.[0]\n updateFlatCache(draft.versions, entityId, updatedVersion)\n })\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n })\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n },\n providesTags: provideTagsForVersionsResult,\n }),\n\n // enhance GetProducts with an infinite query\n getProductsInfinite: build.infiniteQuery<GetProductsResult, GetProductsArgs, ProductsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n let result\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetProducts query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetProducts gql query\n result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n products: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the products 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 getProductsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForProductsInfinite,\n\n // Subscribes to product entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n // Often triggered together with version changes (new product + version)\n\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n // Helper to refetch and update a product in cache\n const refetchProduct = async (productId: string) => {\n const queryParams: any = {\n projectName: arg.projectName,\n productIds: [productId],\n productFilter: arg.productFilter,\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n first: 1,\n }\n\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) return\n\n // Update the cache: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedProduct = result.data?.products?.[0]\n updatePagedCache(\n draft.pages,\n productId,\n updatedProduct,\n 'products',\n (arg.sortBy || 'createdAt') as keyof ProductNode,\n arg.desc || false,\n )\n })\n }\n\n // Subscribe to product entity changes from websocket\n const productToken = PubSub.subscribe(\n 'entity.product',\n async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n await refetchProduct(entityId)\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n },\n )\n\n // Subscribe to version entity changes - refetch parent product when version changes\n // This ensures product's versions list and featuredVersion stay up-to-date\n const versionToken = PubSub.subscribe(\n 'entity.version',\n async (_topic: string, message: any) => {\n try {\n const parentId = message.summary?.parentId // parentId is the product ID\n if (!parentId) return\n\n // Check if the product exists in our cache before refetching\n // This prevents unnecessary API calls for products not in our view\n let productExistsInCache = false\n updateCachedData((draft) => {\n productExistsInCache = draft.pages.some((page) =>\n page.products.some((product: ProductNode) => product.id === parentId),\n )\n })\n\n if (!productExistsInCache) return\n\n await refetchProduct(parentId)\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n },\n )\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(productToken)\n PubSub.unsubscribe(versionToken)\n },\n },\n ),\n\n // Grouped versions query - fetches versions for multiple group filters\n getGroupedVersionsList: build.query<GetGroupedVersionsListResult, GetGroupedVersionsListArgs>({\n queryFn: async (\n {\n projectName,\n groups,\n groupFilterKey = 'versionFilter',\n versionFilter, // most of the time overridden by group filters\n productFilter,\n taskFilter,\n folderIds,\n desc,\n sortBy,\n featuredOnly,\n hasReviewables,\n },\n api,\n ) => {\n try {\n const promises = []\n for (const group of groups) {\n const count = group.count || 500\n\n const queryParams: GetVersionsQueryVariables = {\n projectName,\n // base filters\n productFilter,\n taskFilter,\n versionFilter,\n // specific group filter\n [groupFilterKey]: group.filter,\n folderIds: folderIds?.length ? folderIds : undefined,\n sortBy: sortBy,\n featuredOnly,\n hasReviewables,\n // @ts-expect-error - group param used later on\n group: group.value,\n }\n\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const versions: VersionNode[] = []\n\n for (const res of result) {\n if (res.error) throw res.error\n\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n\n const groupVersions =\n res.data?.versions.map((version, i, a) => ({\n ...version,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined,\n },\n ],\n })) || []\n\n versions.push(...groupVersions)\n }\n\n return {\n data: {\n versions,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedVersionsList queryFn:', error)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(error.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsResult,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations for grouped versions view\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n const token = PubSub.subscribe('entity.version', async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n // Re-fetch the specific version with current filters to check if it still matches\n // If version was deleted or no longer matches filters, result will be empty\n\n const baseFilters = {\n projectName: arg.projectName,\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n versionIds: [entityId],\n first: 1,\n ...(arg.featuredOnly && { featuredOnly: arg.featuredOnly }),\n ...(arg.hasReviewables !== undefined && { hasReviewables: arg.hasReviewables }),\n }\n\n // Track which groups the version belongs to after the update\n const matchedGroups: { value: string; hasNextPage: undefined }[] = []\n let latestVersionData: VersionNode | null = null\n\n for (const group of arg.groups) {\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(\n {\n ...baseFilters,\n [arg.groupFilterKey as string]: group.filter, // group-specific filter\n versionIds: [entityId],\n },\n { forceRefetch: true }, // Force fresh data to detect group membership changes\n ),\n )\n\n const fetchedVersion = result.data?.versions?.[0]\n if (fetchedVersion) {\n // Version matches this group's filter\n matchedGroups.push({ value: group.value, hasNextPage: undefined })\n latestVersionData = fetchedVersion\n }\n }\n\n // Now update the cache based on collected results\n updateCachedData((draft) => {\n const index = draft.versions.findIndex((v) => v.id === entityId)\n const versionExistsInCache = index !== -1\n\n if (matchedGroups.length === 0) {\n // Version was deleted or no longer matches any group filter - remove it\n if (versionExistsInCache) {\n draft.versions.splice(index, 1)\n }\n } else if (latestVersionData) {\n // Version matches at least one group\n if (versionExistsInCache) {\n const originalGroups = draft.versions[index].groups || []\n // Check if group membership has changed (comparing group values)\n const originalGroupValues = originalGroups.map((g) => g.value).sort()\n const matchedGroupValues = matchedGroups.map((g) => g.value).sort()\n const groupsChanged =\n originalGroupValues.length !== matchedGroupValues.length ||\n originalGroupValues.some((v, i) => v !== matchedGroupValues[i])\n\n if (groupsChanged) {\n // Group membership changed - use new matched groups (version moved to different group)\n draft.versions[index] = { ...latestVersionData, groups: matchedGroups }\n } else {\n // Same groups - preserve original groups (keeps pagination state like hasNextPage)\n draft.versions[index] = { ...latestVersionData, groups: originalGroups }\n }\n } else {\n // New version not in cache yet - add at sorted position with matched groups\n const newVersion = { ...latestVersionData, groups: matchedGroups }\n const sortKey = (arg.sortBy || 'createdAt') as keyof VersionNode\n const insertIndex = findSortedInsertIndex(draft.versions, newVersion, sortKey, arg.desc || false)\n draft.versions.splice(insertIndex, 0, newVersion)\n }\n }\n })\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n })\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\n// export gql endpoints\nexport const { useGetVersionsQuery } = enhancedVersionsPageApi\n// export custom queries\nexport const {\n useGetVersionsInfiniteInfiniteQuery: useGetVersionsInfiniteQuery,\n useGetVersionsByProductsQuery,\n useGetProductsInfiniteInfiniteQuery: useGetProductsInfiniteQuery,\n useGetGroupedVersionsListQuery,\n} = injectedVersionsPageApi\n\n// export API instances for cache manipulation\nexport { enhancedVersionsPageApi, injectedVersionsPageApi }\n"],"names":["findSortedInsertIndex","items","newItem","sortBy","desc","i","newValue","currentValue","updatePagedCache","pages","entityId","updatedItem","itemsKey","page","index","item","insertIndex","updateFlatCache","enhancedVersionsPageApi","gqlApi","transformVersionsResponse","provideTagsForVersionsResult","transformProductsResponse","provideTagsForProductsResult","VP_INFINITE_QUERY_COUNT","VERSIONS_BY_PRODUCT_ID_QUERY_COUNT","MAX_PAGES_PER_PRODUCT","injectedVersionsPageApi","build","lastPage","_allPages","lastPageParam","_allPageParams","pageInfo","queryArg","pageParam","api","folderIds","rest","cursor","queryParams","result","fallback","e","parseGQLErrorMessage","provideTagsForVersionsInfinite","arg","updateCachedData","cacheEntryRemoved","dispatch","token","PubSub","_topic","message","draft","updatedVersion","args","forced","productIds","fetchVersionsPage","productId","promises","settledResults","allVersions","errors","settledResult","pageCount","hasNextPage","nextPageResult","parentId","provideTagsForProductsInfinite","refetchProduct","updatedProduct","productToken","versionToken","productExistsInCache","product","projectName","groups","groupFilterKey","versionFilter","productFilter","taskFilter","featuredOnly","hasReviewables","group","count","promise","versions","res","groupValue","groupVersions","version","a","error","baseFilters","matchedGroups","latestVersionData","fetchedVersion","v","versionExistsInCache","originalGroups","originalGroupValues","g","matchedGroupValues","newVersion","sortKey","useGetVersionsQuery","useGetVersionsInfiniteQuery","useGetVersionsByProductsQuery","useGetProductsInfiniteQuery","useGetGroupedVersionsListQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getVersionsProducts.cjs.js","sources":["../../../../../../src/api/queries/versions/getVersionsProducts.ts"],"sourcesContent":["// QUERIES FOR THE VERSIONS PAGE, FETCHING AND UPDATING DATA\n// Uses a separate graphqlVersionsApi for increased IDE speed\n\n// There are 4 main fetch requests:\n\n// Versions Only:\n// 1. GetVersions - fetches all versions in the project for given filtering and with pagination\n\n// Products and Versions (stacked):\n// 2. GetProducts - fetches all products in the project based on product and version filtering\n// 3. GetVersionsByProducts - when a product is expanded, fetches all versions for the products that are expanded. Uses getVersionsByProductId for each parent id. (uses queryFn)\n// 4. GetVersionsByProductId - get all versions for a specific product. Used by getVersionsByProducts only.\n\n// VersionFragment is used in all version queries to ensure consistent data structure\n\nimport {\n DefinitionsFromApi,\n FetchBaseQueryError,\n InfiniteData,\n OverrideResultType,\n TagTypesFromApi,\n} from '@reduxjs/toolkit/query'\nimport {\n GetProductsQuery,\n GetProductsQueryVariables,\n GetProductsColumnStatsQuery,\n GetVersionsByProductIdQueryVariables,\n GetVersionsColumnStatsQuery,\n GetVersionsQuery,\n GetVersionsQueryVariables,\n gqlApi,\n PageInfo,\n VpFolderFragment,\n} from '@shared/api/generated'\nimport {\n parseGQLErrorMessage,\n provideTagsForProductsInfinite,\n provideTagsForProductsResult,\n provideTagsForVersionsInfinite,\n provideTagsForVersionsResult,\n transformProductsResponse,\n transformVersionsResponse,\n} from './getVersionsProductsUtils'\nimport { PubSub, subscribeToThumbnailUpdates, ThumbnailUpdateMessage } from '@shared/util'\nimport type { FieldStats } from '../columnStats'\nimport { normalizeFieldStats, mergeFieldStats, hasNewTargetFields } from '../columnStats'\n\n// SHARED CACHE UPDATE HELPERS\n// These helpers are used by PubSub handlers to update cached data in real-time\n\n/**\n * Finds the correct insertion index for a new item in a sorted array\n * Used when adding new items to maintain sort order\n */\nfunction findSortedInsertIndex<T>(items: T[], newItem: T, sortBy: keyof T, desc: boolean): number {\n for (let i = 0; i < items.length; i++) {\n const newValue = newItem[sortBy]\n const currentValue = items[i][sortBy]\n const shouldInsert = desc ? newValue > currentValue : newValue < currentValue\n\n if (shouldInsert) {\n return i\n }\n }\n return items.length\n}\n\n/**\n * Updates a paginated cache (draft.pages[].items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add at sorted position\n *\n * @param pages - Array of page objects containing items arrays\n * @param entityId - ID of the entity to update/delete/add\n * @param updatedItem - The updated item, or undefined if deleted\n * @param itemsKey - Key to access items array in each page ('versions' or 'products')\n * @param sortBy - Property to sort by when inserting new items\n * @param desc - Sort direction (true = descending)\n */\nfunction updatePagedCache<T extends { id: string }>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pages: any[],\n entityId: string,\n updatedItem: T | undefined,\n itemsKey: string,\n sortBy: keyof T,\n desc: boolean,\n): void {\n // Search for existing item in all pages\n for (const page of pages) {\n const items = page[itemsKey] as T[]\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n // Update existing item\n items[index] = updatedItem\n } else {\n // Item no longer exists or doesn't match filters - remove it\n items.splice(index, 1)\n }\n return\n }\n }\n\n // Item not found in cache - add at correct sorted position in first page\n if (updatedItem && pages.length > 0) {\n const items = pages[0][itemsKey] as T[]\n const insertIndex = findSortedInsertIndex(items, updatedItem, sortBy, desc)\n items.splice(insertIndex, 0, updatedItem)\n }\n}\n\n/**\n * Updates a flat cache (draft.items[]) with a new/updated/deleted item\n * Handles: update existing, delete if not in response, add new\n */\nfunction updateFlatCache<T extends { id: string }>(\n items: T[],\n entityId: string,\n updatedItem: T | undefined,\n): { index: number; action: 'updated' | 'deleted' | 'added' | 'none' } {\n const index = items.findIndex((item) => item.id === entityId)\n\n if (index !== -1) {\n if (updatedItem) {\n items[index] = updatedItem\n return { index, action: 'updated' }\n } else {\n items.splice(index, 1)\n return { index, action: 'deleted' }\n }\n } else if (updatedItem) {\n items.push(updatedItem)\n return { index: items.length - 1, action: 'added' }\n }\n\n return { index: -1, action: 'none' }\n}\n\n// Query result types\nexport type FolderAttribNode = VpFolderFragment & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n}\nexport type VersionNodeRAW = GetVersionsQuery['project']['versions']['edges'][0]['node']\nexport type VersionNode = VersionNodeRAW & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n product: VersionNodeRAW['product'] & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n folder: FolderAttribNode // folder with parsed attribs\n }\n groups?: { value?: string; hasNextPage?: string }[] // grouping metadata\n}\nexport type ProductNodeRAW = GetProductsQuery['project']['products']['edges'][0]['node']\nexport type ProductNode = Omit<ProductNodeRAW, 'versions'> & {\n attrib: Record<string, any> // parsed from allAttrib JSON string\n featuredVersion?: VersionNode | null // added separately\n folder: FolderAttribNode // folder with parsed attribs\n versions: {\n id: string\n name: string\n version: number\n heroVersionId?: string | null\n }[] // versions with isHero flag\n}\n\nexport type GetVersionsResult = {\n pageInfo?: PageInfo\n versions: VersionNode[]\n errors?: Array<{ productId: string; error: string }>\n}\n\n// for infinite query args\nexport type GetVersionsArgs = Omit<GetVersionsQueryVariables, 'cursor'> & {\n desc?: boolean // sort direction\n}\n\n// for paginated queries in infinite query\ntype VersionsPageParam = {\n cursor: string\n desc?: boolean\n}\n\nexport type GetProductsArgs = Omit<GetProductsQueryVariables, 'cursor' | 'versionIds'> & {\n desc?: boolean // sort direction\n}\n\ntype ProductsPageParam = {\n cursor: string\n desc?: boolean\n}\n\ntype GetVersionsByProductsArgs = GetVersionsByProductIdQueryVariables & {\n productIds: string[]\n desc?: boolean\n}\n\nexport type GetGroupedVersionsListArgs = {\n projectName: string\n groups: { filter: string; count?: number | null; value: string }[]\n groupFilterKey?: string\n versionFilter?: string\n productFilter?: string\n taskFilter?: string\n folderIds?: string[]\n desc?: boolean\n sortBy?: string\n featuredOnly?: string[]\n hasReviewables?: boolean\n}\n\nexport type GetGroupedVersionsListResult = {\n versions: VersionNode[]\n}\n\nexport type VersionInfiniteResult = InfiniteData<GetVersionsResult, VersionsPageParam> | undefined\n\nexport type ProductInfiniteResult = InfiniteData<GetProductsResult, ProductsPageParam> | undefined\n\nexport type GetProductsResult = {\n pageInfo: PageInfo\n products: ProductNode[]\n}\n\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetVersions'> & {\n GetVersions: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetVersionsByProductId: OverrideResultType<Definitions['GetVersions'], GetVersionsResult>\n GetProducts: OverrideResultType<Definitions['GetProducts'], GetProductsResult>\n GetProductsColumnStats: OverrideResultType<Definitions['GetProductsColumnStats'], FieldStats[]>\n GetVersionsColumnStats: OverrideResultType<Definitions['GetVersionsColumnStats'], FieldStats[]>\n}\n\nconst enhancedVersionsPageApi = gqlApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n // used by both stacked and non-stacked views\n GetVersions: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n },\n // used by getVersionsByProducts only\n GetVersionsByProductId: {\n transformResponse: transformVersionsResponse,\n providesTags: provideTagsForVersionsResult,\n },\n // used by getProductsInfinite only\n GetProducts: {\n transformResponse: transformProductsResponse,\n providesTags: provideTagsForProductsResult,\n },\n // footer stats: `targets` excluded from cache key + responses merged,\n // so column toggles reuse cache and only added targets refetch\n GetProductsColumnStats: {\n transformResponse: (res: GetProductsColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.products?.fieldStats ?? []),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'productColumnStats', id: projectName }],\n },\n GetVersionsColumnStats: {\n transformResponse: (res: GetVersionsColumnStatsQuery) =>\n normalizeFieldStats(res?.project?.versions?.fieldStats ?? []),\n serializeQueryArgs: ({ queryArgs: { targets: _t, ...rest } }) => rest,\n merge: (cache, incoming) => mergeFieldStats(incoming, cache),\n forceRefetch: ({ currentArg, previousArg }) => hasNewTargetFields(currentArg, previousArg),\n providesTags: (_r, _e, { projectName }) => [{ type: 'versionColumnStats', id: projectName }],\n },\n },\n})\n\nexport const VP_INFINITE_QUERY_COUNT = 250 // Number of items to fetch per page\nconst VERSIONS_BY_PRODUCT_ID_QUERY_COUNT = 1000 // max number of versions to fetch per product id\nconst MAX_PAGES_PER_PRODUCT = 10 // Hard cutoff to prevent infinite loops\n\nconst injectedVersionsPageApi = enhancedVersionsPageApi.injectEndpoints({\n endpoints: (build) => ({\n // enhance GetVersions with an infinite query\n getVersionsInfinite: build.infiniteQuery<GetVersionsResult, GetVersionsArgs, VersionsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetVersions query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetVersions gql query\n const result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n versions: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the versions 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 getVersionsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsInfinite,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n draft.pages.forEach((page) => {\n const vIndex = page.versions.findIndex(\n (v) => v.id === message.summary.entityId,\n )\n if (vIndex !== -1) {\n page.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n })\n }\n })\n })\n },\n ['version'],\n )\n\n const token = PubSub.subscribe('entity.version', async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n // Re-fetch the specific version with current filters to check if it still matches\n // If version was deleted or no longer matches filters, result will be empty\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(\n {\n projectName: arg.projectName,\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n versionIds: [entityId],\n first: 1,\n },\n {\n forceRefetch: true,\n },\n ),\n )\n\n if (result.error) return\n\n // Update the cache: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedVersion = result.data?.versions?.[0]\n updatePagedCache(\n draft.pages,\n entityId,\n updatedVersion,\n 'versions',\n (arg.sortBy || 'createdAt') as keyof VersionNode,\n arg.desc || false,\n )\n })\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n })\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n },\n ),\n\n // custom query function that fetches versions by multiple parent ids -not infinite and gets 1000 versions max\n getVersionsByProducts: build.query<GetVersionsResult, GetVersionsByProductsArgs>({\n queryFn: async (args, { dispatch, forced }) => {\n const { productIds = [], desc, ...rest } = args\n\n // Helper function to fetch a page of versions\n const fetchVersionsPage = async (productId: string, cursor?: string) => {\n const queryParams: GetVersionsByProductIdQueryVariables = {\n ...rest,\n productIds: [productId],\n }\n\n if (desc) {\n if (cursor) queryParams.before = cursor\n queryParams.last = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n } else {\n if (cursor) queryParams.after = cursor\n queryParams.first = VERSIONS_BY_PRODUCT_ID_QUERY_COUNT\n }\n\n return dispatch(\n enhancedVersionsPageApi.endpoints.GetVersionsByProductId.initiate(queryParams, {\n forceRefetch: forced,\n }),\n )\n }\n\n // for each product id, call getVersionsByProductId\n const promises = productIds.map((productId) => fetchVersionsPage(productId))\n\n // wait for all requests to settle (either fulfilled or rejected)\n const settledResults = await Promise.allSettled(promises)\n\n // Collect all versions from initial queries\n const allVersions: VersionNode[] = []\n const errors: Array<{ productId: string; error: any }> = []\n\n // Check each result for additional pages and fetch them if needed\n for (let i = 0; i < settledResults.length; i++) {\n const settledResult = settledResults[i]\n const productId = productIds[i]\n\n // Handle rejected promises\n if (settledResult.status === 'rejected') {\n console.error(`Error fetching versions for product ${productId}:`, settledResult.reason)\n errors.push({ productId, error: parseGQLErrorMessage(settledResult.reason) })\n continue\n }\n\n // Handle errors in fulfilled promises\n const result = settledResult.value\n if (result.error) {\n console.error(`Error fetching versions for product ${productId}:`, result.error)\n errors.push({\n productId,\n // @ts-expect-error - message\n error: parseGQLErrorMessage(result.error?.message || 'Unknown error'),\n })\n continue\n }\n\n if (!result.data) continue\n\n // Add initial page versions\n allVersions.push(...result.data.versions)\n\n // Check if there are more pages to fetch\n let pageInfo = result.data.pageInfo\n let pageCount = 1\n\n while (pageInfo && pageCount < MAX_PAGES_PER_PRODUCT) {\n const hasNextPage = desc ? pageInfo.hasPreviousPage : pageInfo.hasNextPage\n const cursor = pageInfo.endCursor\n\n if (!hasNextPage || !cursor) break\n\n // Fetch next page\n const nextPageResult = await fetchVersionsPage(productId, cursor)\n\n if (nextPageResult.error) {\n console.error(\n `Error fetching versions page ${pageCount + 1} for product ${productId}:`,\n nextPageResult.error,\n )\n errors.push({ productId, error: nextPageResult.error })\n break\n }\n\n if (!nextPageResult.data) break\n\n allVersions.push(...nextPageResult.data.versions)\n pageInfo = nextPageResult.data.pageInfo\n pageCount++\n }\n }\n\n // If some requests failed but we have data, log warning but return successful data\n if (errors.length > 0) {\n console.warn(\n `Partial success: ${errors.length} of ${productIds.length} products failed to fetch versions`,\n errors,\n )\n }\n\n return {\n data: {\n versions: allVersions,\n pageInfo: undefined, // pageInfo is undefined as we've flattened multiple queries\n errors: errors.length > 0 ? errors : undefined,\n },\n }\n },\n // Subscribes to version entity changes for expanded products\n // Only updates versions that belong to currently expanded products\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n const vIndex = draft.versions.findIndex((v) => v.id === message.summary.entityId)\n if (vIndex !== -1) {\n draft.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n }\n })\n })\n },\n ['version'],\n )\n\n const token = PubSub.subscribe('entity.version', async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n const parentId = message.summary?.parentId // parentId is the product ID\n if (!entityId || !parentId) return\n\n // Only handle versions belonging to currently expanded products\n // This prevents unnecessary updates for versions in collapsed products\n if (!arg.productIds.includes(parentId)) return\n\n // Re-fetch the specific version using GetVersions (supports versionIds filter)\n // Uses same filters as the base query to ensure consistency\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(\n {\n projectName: arg.projectName,\n productIds: [parentId],\n versionIds: [entityId],\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n first: 1,\n ...(arg.featuredOnly && { featuredOnly: arg.featuredOnly }),\n ...(arg.hasReviewables !== undefined && { hasReviewables: arg.hasReviewables }),\n },\n { forceRefetch: true },\n ),\n )\n\n if (result.error) return\n\n // Update flat versions array: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedVersion = result.data?.versions?.[0]\n updateFlatCache(draft.versions, entityId, updatedVersion)\n })\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n })\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n providesTags: provideTagsForVersionsResult,\n }),\n\n // enhance GetProducts with an infinite query\n getProductsInfinite: build.infiniteQuery<GetProductsResult, GetProductsArgs, ProductsPageParam>(\n {\n infiniteQueryOptions: {\n initialPageParam: { cursor: '', desc: false },\n // Calculate the next page param based on current page response and params\n getNextPageParam: (lastPage, _allPages, lastPageParam, _allPageParams) => {\n // Use the endCursor from the query as the next page param\n const pageInfo = lastPage.pageInfo\n const desc = lastPageParam.desc\n const hasNextPage = desc ? pageInfo?.hasPreviousPage : pageInfo?.hasNextPage\n\n if (!hasNextPage || !pageInfo?.endCursor) return undefined\n\n return {\n cursor: pageInfo?.endCursor,\n desc: lastPageParam.desc,\n }\n },\n },\n queryFn: async ({ queryArg, pageParam }, api) => {\n let result\n try {\n const { sortBy, desc, folderIds, ...rest } = queryArg\n const { cursor } = pageParam\n\n // Build the query parameters for GetProducts query\n const queryParams: any = {\n ...rest,\n }\n\n // Add cursor-based pagination\n if (sortBy) {\n queryParams.sortBy = sortBy\n if (desc) {\n queryParams.before = cursor || undefined\n queryParams.last = VP_INFINITE_QUERY_COUNT\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n } else {\n queryParams.after = cursor || undefined\n queryParams.first = VP_INFINITE_QUERY_COUNT\n }\n\n // if folderIds have a length, add them to the query params\n if (folderIds && folderIds.length) {\n queryParams.folderIds = folderIds\n }\n\n // Call the existing GetProducts gql query\n result = await api.dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) throw result.error\n const fallback = {\n products: [],\n pageInfo: {\n hasNextPage: false,\n endCursor: null,\n startCursor: null,\n hasPreviousPage: false,\n },\n }\n\n // Return the products 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 getProductsInfiniteQuery queryFn:', e)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(e.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForProductsInfinite,\n\n // Subscribes to product entity changes and updates cache accordingly\n // Handles: create, update, delete operations\n // Often triggered together with version changes (new product + version)\n\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n draft.pages.forEach((page) => {\n page.products.forEach((p) => {\n if (p.featuredVersion?.id === message.summary.entityId) {\n p.featuredVersion.thumbnailHash = message.summary.thumbnailHash || ''\n }\n })\n })\n }\n })\n })\n },\n ['version'],\n )\n\n // Helper to refetch and update a product in cache\n const refetchProduct = async (productId: string) => {\n const queryParams: any = {\n projectName: arg.projectName,\n productIds: [productId],\n productFilter: arg.productFilter,\n versionFilter: arg.versionFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n first: 1,\n }\n\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetProducts.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n\n if (result.error) return\n\n // Update the cache: update existing, delete if not found, or add new\n updateCachedData((draft) => {\n const updatedProduct = result.data?.products?.[0]\n updatePagedCache(\n draft.pages,\n productId,\n updatedProduct,\n 'products',\n (arg.sortBy || 'createdAt') as keyof ProductNode,\n arg.desc || false,\n )\n })\n }\n\n // Subscribe to product entity changes from websocket\n const productToken = PubSub.subscribe(\n 'entity.product',\n async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n await refetchProduct(entityId)\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n },\n )\n\n // Subscribe to version entity changes - refetch parent product when version changes\n // This ensures product's versions list and featuredVersion stay up-to-date\n const versionToken = PubSub.subscribe(\n 'entity.version',\n async (_topic: string, message: any) => {\n try {\n const parentId = message.summary?.parentId // parentId is the product ID\n if (!parentId) return\n\n // Check if the product exists in our cache before refetching\n // This prevents unnecessary API calls for products not in our view\n let productExistsInCache = false\n updateCachedData((draft) => {\n productExistsInCache = draft.pages.some((page) =>\n page.products.some((product: ProductNode) => product.id === parentId),\n )\n })\n\n if (!productExistsInCache) return\n\n await refetchProduct(parentId)\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n },\n )\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(productToken)\n PubSub.unsubscribe(versionToken)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n },\n ),\n\n // Grouped versions query - fetches versions for multiple group filters\n getGroupedVersionsList: build.query<GetGroupedVersionsListResult, GetGroupedVersionsListArgs>({\n queryFn: async (\n {\n projectName,\n groups,\n groupFilterKey = 'versionFilter',\n versionFilter, // most of the time overridden by group filters\n productFilter,\n taskFilter,\n folderIds,\n desc,\n sortBy,\n featuredOnly,\n hasReviewables,\n },\n api,\n ) => {\n try {\n const promises = []\n for (const group of groups) {\n const count = group.count || 500\n\n const queryParams: GetVersionsQueryVariables = {\n projectName,\n // base filters\n productFilter,\n taskFilter,\n versionFilter,\n // specific group filter\n [groupFilterKey]: group.filter,\n folderIds: folderIds?.length ? folderIds : undefined,\n sortBy: sortBy,\n featuredOnly,\n hasReviewables,\n // @ts-expect-error - group param used later on\n group: group.value,\n }\n\n if (desc) {\n queryParams.last = count\n } else {\n queryParams.first = count\n }\n\n const promise = api.dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(queryParams, {\n forceRefetch: true,\n }),\n )\n promises.push(promise)\n }\n\n const result = await Promise.all(promises)\n const versions: VersionNode[] = []\n\n for (const res of result) {\n if (res.error) throw res.error\n\n // get group value\n // @ts-expect-error - we know group does exist on res.originalArgs\n const groupValue = res.originalArgs?.group as string\n\n const hasNextPage =\n res.data?.pageInfo?.hasNextPage || res.data?.pageInfo?.hasPreviousPage || false\n\n const groupVersions =\n res.data?.versions.map((version, i, a) => ({\n ...version,\n groups: [\n {\n value: groupValue,\n hasNextPage: i === a.length - 1 && hasNextPage ? groupValue : undefined,\n },\n ],\n })) || []\n\n versions.push(...groupVersions)\n }\n\n return {\n data: {\n versions,\n },\n }\n } catch (error: any) {\n console.error('Error in getGroupedVersionsList queryFn:', error)\n return {\n error: {\n status: 'FETCH_ERROR',\n error: parseGQLErrorMessage(error.message),\n } as FetchBaseQueryError,\n }\n }\n },\n providesTags: provideTagsForVersionsResult,\n // Subscribes to version entity changes and updates cache accordingly\n // Handles: create, update, delete operations for grouped versions view\n onCacheEntryAdded: async (arg, { updateCachedData, cacheEntryRemoved, dispatch }) => {\n let unsubscribeThumbnails: (() => void) | undefined\n\n unsubscribeThumbnails = subscribeToThumbnailUpdates(\n (messages: ThumbnailUpdateMessage[]) => {\n const relevantMessages = messages.filter((m) => m.project === arg.projectName)\n if (!relevantMessages.length) return\n\n updateCachedData((draft) => {\n relevantMessages.forEach((message) => {\n if (message.summary.entityType === 'version') {\n const vIndex = draft.versions.findIndex((v) => v.id === message.summary.entityId)\n if (vIndex !== -1) {\n draft.versions[vIndex].thumbnailHash = message.summary.thumbnailHash || ''\n }\n }\n })\n })\n },\n ['version'],\n )\n\n const token = PubSub.subscribe('entity.version', async (_topic: string, message: any) => {\n try {\n const entityId = message.summary?.entityId\n if (!entityId) return\n\n // Re-fetch the specific version with current filters to check if it still matches\n // If version was deleted or no longer matches filters, result will be empty\n\n const baseFilters = {\n projectName: arg.projectName,\n versionFilter: arg.versionFilter,\n productFilter: arg.productFilter,\n taskFilter: arg.taskFilter,\n folderIds: arg.folderIds?.length ? arg.folderIds : undefined,\n versionIds: [entityId],\n first: 1,\n ...(arg.featuredOnly && { featuredOnly: arg.featuredOnly }),\n ...(arg.hasReviewables !== undefined && { hasReviewables: arg.hasReviewables }),\n }\n\n // Track which groups the version belongs to after the update\n const matchedGroups: { value: string; hasNextPage: undefined }[] = []\n let latestVersionData: VersionNode | null = null\n\n for (const group of arg.groups) {\n const result = await dispatch(\n enhancedVersionsPageApi.endpoints.GetVersions.initiate(\n {\n ...baseFilters,\n [arg.groupFilterKey as string]: group.filter, // group-specific filter\n versionIds: [entityId],\n },\n { forceRefetch: true }, // Force fresh data to detect group membership changes\n ),\n )\n\n const fetchedVersion = result.data?.versions?.[0]\n if (fetchedVersion) {\n // Version matches this group's filter\n matchedGroups.push({ value: group.value, hasNextPage: undefined })\n latestVersionData = fetchedVersion\n }\n }\n\n // Now update the cache based on collected results\n updateCachedData((draft) => {\n const index = draft.versions.findIndex((v) => v.id === entityId)\n const versionExistsInCache = index !== -1\n\n if (matchedGroups.length === 0) {\n // Version was deleted or no longer matches any group filter - remove it\n if (versionExistsInCache) {\n draft.versions.splice(index, 1)\n }\n } else if (latestVersionData) {\n // Version matches at least one group\n if (versionExistsInCache) {\n const originalGroups = draft.versions[index].groups || []\n // Check if group membership has changed (comparing group values)\n const originalGroupValues = originalGroups.map((g) => g.value).sort()\n const matchedGroupValues = matchedGroups.map((g) => g.value).sort()\n const groupsChanged =\n originalGroupValues.length !== matchedGroupValues.length ||\n originalGroupValues.some((v, i) => v !== matchedGroupValues[i])\n\n if (groupsChanged) {\n // Group membership changed - use new matched groups (version moved to different group)\n draft.versions[index] = { ...latestVersionData, groups: matchedGroups }\n } else {\n // Same groups - preserve original groups (keeps pagination state like hasNextPage)\n draft.versions[index] = { ...latestVersionData, groups: originalGroups }\n }\n } else {\n // New version not in cache yet - add at sorted position with matched groups\n const newVersion = { ...latestVersionData, groups: matchedGroups }\n const sortKey = (arg.sortBy || 'createdAt') as keyof VersionNode\n const insertIndex = findSortedInsertIndex(\n draft.versions,\n newVersion,\n sortKey,\n arg.desc || false,\n )\n draft.versions.splice(insertIndex, 0, newVersion)\n }\n }\n })\n } catch (error) {\n // Silently handle errors to prevent UI disruption\n }\n })\n\n // Cleanup: unsubscribe when cache entry is removed\n await cacheEntryRemoved\n PubSub.unsubscribe(token)\n if (unsubscribeThumbnails) {\n unsubscribeThumbnails()\n }\n },\n }),\n }),\n})\n\n// export gql endpoints\nexport const {\n useGetVersionsQuery,\n useGetProductsColumnStatsQuery,\n useGetVersionsColumnStatsQuery,\n} = enhancedVersionsPageApi\n// export custom queries\nexport const {\n useGetVersionsInfiniteInfiniteQuery: useGetVersionsInfiniteQuery,\n useGetVersionsByProductsQuery,\n useGetProductsInfiniteInfiniteQuery: useGetProductsInfiniteQuery,\n useGetGroupedVersionsListQuery,\n} = injectedVersionsPageApi\n\n// export API instances for cache manipulation\nexport { enhancedVersionsPageApi, injectedVersionsPageApi }\n"],"names":["findSortedInsertIndex","items","newItem","sortBy","desc","i","newValue","currentValue","updatePagedCache","pages","entityId","updatedItem","itemsKey","page","index","item","insertIndex","updateFlatCache","enhancedVersionsPageApi","gqlApi","transformVersionsResponse","provideTagsForVersionsResult","transformProductsResponse","provideTagsForProductsResult","res","normalizeFieldStats","_t","rest","cache","incoming","mergeFieldStats","currentArg","previousArg","hasNewTargetFields","_r","_e","projectName","VP_INFINITE_QUERY_COUNT","VERSIONS_BY_PRODUCT_ID_QUERY_COUNT","MAX_PAGES_PER_PRODUCT","injectedVersionsPageApi","build","lastPage","_allPages","lastPageParam","_allPageParams","pageInfo","queryArg","pageParam","api","folderIds","cursor","queryParams","result","fallback","e","parseGQLErrorMessage","provideTagsForVersionsInfinite","arg","updateCachedData","cacheEntryRemoved","dispatch","unsubscribeThumbnails","subscribeToThumbnailUpdates","messages","relevantMessages","m","draft","message","vIndex","v","token","PubSub","_topic","updatedVersion","args","forced","productIds","fetchVersionsPage","productId","promises","settledResults","allVersions","errors","settledResult","pageCount","hasNextPage","nextPageResult","parentId","provideTagsForProductsInfinite","p","refetchProduct","updatedProduct","productToken","versionToken","productExistsInCache","product","groups","groupFilterKey","versionFilter","productFilter","taskFilter","featuredOnly","hasReviewables","group","count","promise","versions","groupValue","groupVersions","version","a","error","baseFilters","matchedGroups","latestVersionData","fetchedVersion","versionExistsInCache","originalGroups","originalGroupValues","g","matchedGroupValues","newVersion","sortKey","useGetVersionsQuery","useGetProductsColumnStatsQuery","useGetVersionsColumnStatsQuery","useGetVersionsInfiniteQuery","useGetVersionsByProductsQuery","useGetProductsInfiniteQuery","useGetGroupedVersionsListQuery"],"mappings":"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"}
|