@ynput/ayon-frontend-shared 0.3.9 → 0.3.10
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 +24 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +182 -171
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +13 -11
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +340 -331
- package/dist/api.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +39 -36
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +11 -9
- package/dist/index.es.js.map +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/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/folders.es.js.map +1 -1
- package/dist/shared/src/api/generated/projectFolders.cjs.js +2 -0
- package/dist/shared/src/api/generated/projectFolders.cjs.js.map +1 -0
- package/dist/shared/src/api/generated/projectFolders.es.js +44 -0
- package/dist/shared/src/api/generated/projectFolders.es.js.map +1 -0
- package/dist/shared/src/api/generated/projects.cjs.js +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js +20 -0
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -1
- package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.es.js +11 -10
- package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +11 -10
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getCategories.es.js +3 -2
- package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.es.js +3 -2
- package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js +4 -3
- package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.es.js +7 -6
- package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js +4 -3
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +4 -3
- package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.es.js +9 -8
- package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/config/getConfig.cjs.js +1 -1
- package/dist/shared/src/api/queries/config/getConfig.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/config/getConfig.es.js +9 -8
- package/dist/shared/src/api/queries/config/getConfig.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js +13 -12
- package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +4 -3
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +4 -2
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.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 +5 -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 +15 -14
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +3 -2
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +22 -20
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
- 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 +17 -16
- 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 +4 -3
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js +22 -6
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +3 -2
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +14 -13
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/updateLinks.es.js +17 -16
- package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +37 -36
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +88 -53
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +8 -6
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js +4 -3
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.es.js +3 -2
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +9 -8
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +2 -0
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +178 -0
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -0
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +15 -14
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.es.js +7 -6
- package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.es.js +3 -2
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js +5 -4
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js +1 -1
- package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/tasks/updateTasks.es.js +6 -6
- package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -1
- package/dist/shared/src/api/queries/uris/getUris.cjs.js +1 -1
- package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/uris/getUris.es.js +3 -2
- package/dist/shared/src/api/queries/uris/getUris.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 +6 -5
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +20 -18
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/guests.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/guests.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/guests.es.js +5 -4
- package/dist/shared/src/api/queries/users/guests.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.es.js +21 -20
- package/dist/shared/src/api/queries/users/updateUsers.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 +348 -136
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +57 -59
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.es.js +6 -5
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +11 -10
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js +4 -3
- package/dist/shared/src/api/queries/watchers/getWatchers.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/DetailsPanelAttributesEditor.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +13 -13
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +24 -22
- 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/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 +4 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.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 +16 -14
- 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/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 +4 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.styled.cjs.js +0 -1
- package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.styled.es.js +0 -1
- package/dist/shared/src/components/Menu/Menu.styled.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 +21 -21
- package/dist/shared/src/components/Menu/MenuList.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 +58 -38
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -107
- 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 +4 -2
- 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 +4 -2
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +4 -2
- 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 +32 -30
- 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 +5 -3
- 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 +4 -2
- 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/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/SimpleFormDialog/FormFile.cjs.js +31 -0
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -0
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +107 -0
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -0
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +33 -28
- 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 +17 -7
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.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 +4 -2
- 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 +6 -4
- 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/plannerFeatures.cjs.js +2 -0
- package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -0
- package/dist/shared/src/config/plannerFeatures.es.js +50 -0
- package/dist/shared/src/config/plannerFeatures.es.js.map +1 -0
- package/dist/shared/src/config/powerpackFeatures.cjs.js +2 -0
- package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -0
- package/dist/shared/src/config/powerpackFeatures.es.js +74 -0
- package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -0
- 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 +4 -2
- 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 +18 -15
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +33 -32
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +4 -2
- 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 +14 -11
- 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 +4 -2
- 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 +5 -3
- 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 +4 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.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 +18 -16
- 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 +4 -2
- 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 +4 -2
- 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 +4 -2
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +4 -2
- 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 +4 -2
- 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 +4 -2
- 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 +4 -2
- 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/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.es.js +8 -8
- package/dist/shared/src/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.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 +4 -2
- 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 +4 -2
- 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 +4 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +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.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js +18 -18
- package/dist/shared/src/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +4 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.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 +4 -2
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +7 -5
- package/dist/shared/src/containers/Feed/context/FeedContext.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/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 +686 -616
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +26 -11
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +40 -25
- 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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +381 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -0
- 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 +4 -2
- 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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +13 -9
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +147 -119
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +487 -262
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +149 -145
- 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/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 +30 -30
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.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 +94 -91
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js +5 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js +67 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +33 -31
- 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 +30 -28
- 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 +4 -2
- 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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js +56 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnDragRestriction.es.js.map +1 -0
- 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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +57 -40
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +4 -2
- 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 +4 -2
- 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 +4 -2
- 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 +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +30 -28
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +303 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -0
- 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 +175 -156
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +15 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.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 +21 -19
- 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 +6 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +29 -29
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.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 +7 -5
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +90 -85
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +9 -5
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +11 -7
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.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 +4 -2
- 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 +6 -4
- package/dist/shared/src/containers/Slicer/context/SlicerContext.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 +14 -12
- 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 +4 -2
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.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 +40 -38
- package/dist/shared/src/containers/Views/context/ViewsContext.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 +10 -8
- 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 +5 -3
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.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 +4 -2
- 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 +12 -10
- 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 +4 -2
- 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 +46 -94
- 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 +21 -14
- 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 +6 -4
- 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/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/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/buildHierarchicalTableRows.cjs.js +2 -0
- package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -0
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js +69 -0
- package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -0
- package/dist/shared/src/util/errorHandling.cjs.js +2 -0
- package/dist/shared/src/util/errorHandling.cjs.js.map +1 -0
- package/dist/shared/src/util/errorHandling.es.js +9 -0
- package/dist/shared/src/util/errorHandling.es.js.map +1 -0
- package/dist/shared/src/util/folderHierarchy.cjs.js +2 -0
- package/dist/shared/src/util/folderHierarchy.cjs.js.map +1 -0
- package/dist/shared/src/util/folderHierarchy.es.js +14 -0
- package/dist/shared/src/util/folderHierarchy.es.js.map +1 -0
- package/dist/shared/src/util/folderOperations.cjs.js +2 -0
- package/dist/shared/src/util/folderOperations.cjs.js.map +1 -0
- package/dist/shared/src/util/folderOperations.es.js +27 -0
- package/dist/shared/src/util/folderOperations.es.js.map +1 -0
- package/dist/shared/src/util/keyboardShortcuts.cjs.js +2 -0
- package/dist/shared/src/util/keyboardShortcuts.cjs.js.map +1 -0
- package/dist/shared/src/util/keyboardShortcuts.es.js +8 -0
- package/dist/shared/src/util/keyboardShortcuts.es.js.map +1 -0
- package/dist/types/api/generated/actions.d.ts +2 -1
- package/dist/types/api/generated/folders.d.ts +3 -3
- package/dist/types/api/generated/index.d.ts +2 -0
- package/dist/types/api/generated/projectFolders.d.ts +79 -0
- package/dist/types/api/generated/projects.d.ts +55 -1
- package/dist/types/api/generated/system.d.ts +2 -1
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/project/getProject.d.ts +4 -0
- package/dist/types/api/queries/projectFolders/index.d.ts +1 -0
- package/dist/types/api/queries/projectFolders/projectFolders.d.ts +985 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +1 -1
- package/dist/types/components/FolderForm/FolderForm.d.ts +24 -0
- package/dist/types/components/FolderForm/index.d.ts +3 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +1 -1
- package/dist/types/components/SimpleFormDialog/FormFile.d.ts +16 -0
- package/dist/types/components/SimpleFormDialog/SimpleFormDialog.d.ts +2 -1
- package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +1 -0
- package/dist/types/config/index.d.ts +2 -0
- package/dist/types/config/plannerFeatures.d.ts +13 -0
- package/dist/types/config/powerpackFeatures.d.ts +6 -0
- package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
- package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
- package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/components/ColumnDndProvider.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/components/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.d.ts +26 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useColumnDragRestriction.d.ts +19 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useSortBySettings.d.ts +4 -0
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +2 -1
- package/dist/types/containers/Views/hooks/useBaseViewMutations.d.ts +2 -2
- package/dist/types/context/PowerpackContext.d.ts +17 -6
- package/dist/types/util/buildHierarchicalTableRows.d.ts +43 -0
- package/dist/types/util/errorHandling.d.ts +7 -0
- package/dist/types/util/folderHierarchy.d.ts +37 -0
- package/dist/types/util/folderOperations.d.ts +34 -0
- package/dist/types/util/index.d.ts +5 -0
- package/dist/types/util/keyboardShortcuts.d.ts +6 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +51 -41
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/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");const i=require("../../generated/projects.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 s=i.api.enhanceEndpoints({endpoints:{listGuestUsers:{providesTags:e=>e?.users?[...e.users.map(({email:r})=>({type:"guest",id:r})),{type:"guest",id:"LIST"}]:[{type:"guest",id:"LIST"}]},addGuestUser:{invalidatesTags:[{type:"guest",id:"LIST"}]},removeGuestUser:{invalidatesTags:(e,r,u)=>[{type:"guest",id:u.email}]}}}),{useListGuestUsersQuery:t,useAddGuestUserMutation:q,useRemoveGuestUserMutation:a}=s;exports.useAddGuestUserMutation=q;exports.useListGuestUsersQuery=t;exports.useRemoveGuestUserMutation=a;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/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");const i=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 s=i.api.enhanceEndpoints({endpoints:{listGuestUsers:{providesTags:e=>e?.users?[...e.users.map(({email:r})=>({type:"guest",id:r})),{type:"guest",id:"LIST"}]:[{type:"guest",id:"LIST"}]},addGuestUser:{invalidatesTags:[{type:"guest",id:"LIST"}]},removeGuestUser:{invalidatesTags:(e,r,u)=>[{type:"guest",id:u.email}]}}}),{useListGuestUsersQuery:t,useAddGuestUserMutation:q,useRemoveGuestUserMutation:a}=s;exports.useAddGuestUserMutation=q;exports.useListGuestUsersQuery=t;exports.useRemoveGuestUserMutation=a;
|
|
2
2
|
//# sourceMappingURL=guests.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guests.cjs.js","sources":["../../../../../../src/api/queries/users/guests.ts"],"sourcesContent":["import { projectsApi } from '@shared/api/generated'\n\nconst enhancedGuestsApi = projectsApi.enhanceEndpoints({\n endpoints: {\n listGuestUsers: {\n providesTags: (result) =>\n result?.users\n ? [\n ...result.users.map(({ email }) => ({ type: 'guest', id: email })),\n { type: 'guest', id: 'LIST' },\n ]\n : [{ type: 'guest', id: 'LIST' }],\n },\n addGuestUser: {\n invalidatesTags: [{ type: 'guest', id: 'LIST' }],\n },\n removeGuestUser: {\n invalidatesTags: (result, error, arg) => [{ type: 'guest', id: arg.email }],\n },\n },\n})\n\nexport const { useListGuestUsersQuery, useAddGuestUserMutation, useRemoveGuestUserMutation } =\n enhancedGuestsApi\n"],"names":["enhancedGuestsApi","projectsApi","result","email","error","arg","useListGuestUsersQuery","useAddGuestUserMutation","useRemoveGuestUserMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"guests.cjs.js","sources":["../../../../../../src/api/queries/users/guests.ts"],"sourcesContent":["import { projectsApi } from '@shared/api/generated'\n\nconst enhancedGuestsApi = projectsApi.enhanceEndpoints({\n endpoints: {\n listGuestUsers: {\n providesTags: (result) =>\n result?.users\n ? [\n ...result.users.map(({ email }) => ({ type: 'guest', id: email })),\n { type: 'guest', id: 'LIST' },\n ]\n : [{ type: 'guest', id: 'LIST' }],\n },\n addGuestUser: {\n invalidatesTags: [{ type: 'guest', id: 'LIST' }],\n },\n removeGuestUser: {\n invalidatesTags: (result, error, arg) => [{ type: 'guest', id: arg.email }],\n },\n },\n})\n\nexport const { useListGuestUsersQuery, useAddGuestUserMutation, useRemoveGuestUserMutation } =\n enhancedGuestsApi\n"],"names":["enhancedGuestsApi","projectsApi","result","email","error","arg","useListGuestUsersQuery","useAddGuestUserMutation","useRemoveGuestUserMutation"],"mappings":"uuDAEA,MAAMA,EAAoBC,EAAAA,IAAY,iBAAiB,CACrD,UAAW,CACT,eAAgB,CACd,aAAeC,GACbA,GAAQ,MACJ,CACE,GAAGA,EAAO,MAAM,IAAI,CAAC,CAAE,MAAAC,CAAA,KAAa,CAAE,KAAM,QAAS,GAAIA,GAAQ,EACjE,CAAE,KAAM,QAAS,GAAI,MAAA,CAAO,EAE9B,CAAC,CAAE,KAAM,QAAS,GAAI,OAAQ,CAAA,EAEtC,aAAc,CACZ,gBAAiB,CAAC,CAAE,KAAM,QAAS,GAAI,OAAQ,CAAA,EAEjD,gBAAiB,CACf,gBAAiB,CAACD,EAAQE,EAAOC,IAAQ,CAAC,CAAE,KAAM,QAAS,GAAIA,EAAI,KAAA,CAAO,CAAA,CAC5E,CAEJ,CAAC,EAEY,CAAE,uBAAAC,EAAwB,wBAAAC,EAAyB,2BAAAC,GAC9DR"}
|
|
@@ -23,6 +23,7 @@ import "../../generated/operations.es.js";
|
|
|
23
23
|
import "../../generated/products.es.js";
|
|
24
24
|
import "../../generated/projectDashboard.es.js";
|
|
25
25
|
import { api as p } from "../../generated/projects.es.js";
|
|
26
|
+
import "../../generated/projectFolders.es.js";
|
|
26
27
|
import "../../generated/reviewables.es.js";
|
|
27
28
|
import "../../generated/services.es.js";
|
|
28
29
|
import "../../generated/system.es.js";
|
|
@@ -51,10 +52,10 @@ const o = p.enhanceEndpoints({
|
|
|
51
52
|
invalidatesTags: (t, i, r) => [{ type: "guest", id: r.email }]
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
}), { useListGuestUsersQuery:
|
|
55
|
+
}), { useListGuestUsersQuery: N, useAddGuestUserMutation: O, useRemoveGuestUserMutation: P } = o;
|
|
55
56
|
export {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
O as useAddGuestUserMutation,
|
|
58
|
+
N as useListGuestUsersQuery,
|
|
59
|
+
P as useRemoveGuestUserMutation
|
|
59
60
|
};
|
|
60
61
|
//# sourceMappingURL=guests.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guests.es.js","sources":["../../../../../../src/api/queries/users/guests.ts"],"sourcesContent":["import { projectsApi } from '@shared/api/generated'\n\nconst enhancedGuestsApi = projectsApi.enhanceEndpoints({\n endpoints: {\n listGuestUsers: {\n providesTags: (result) =>\n result?.users\n ? [\n ...result.users.map(({ email }) => ({ type: 'guest', id: email })),\n { type: 'guest', id: 'LIST' },\n ]\n : [{ type: 'guest', id: 'LIST' }],\n },\n addGuestUser: {\n invalidatesTags: [{ type: 'guest', id: 'LIST' }],\n },\n removeGuestUser: {\n invalidatesTags: (result, error, arg) => [{ type: 'guest', id: arg.email }],\n },\n },\n})\n\nexport const { useListGuestUsersQuery, useAddGuestUserMutation, useRemoveGuestUserMutation } =\n enhancedGuestsApi\n"],"names":["enhancedGuestsApi","projectsApi","result","email","error","arg","useListGuestUsersQuery","useAddGuestUserMutation","useRemoveGuestUserMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"guests.es.js","sources":["../../../../../../src/api/queries/users/guests.ts"],"sourcesContent":["import { projectsApi } from '@shared/api/generated'\n\nconst enhancedGuestsApi = projectsApi.enhanceEndpoints({\n endpoints: {\n listGuestUsers: {\n providesTags: (result) =>\n result?.users\n ? [\n ...result.users.map(({ email }) => ({ type: 'guest', id: email })),\n { type: 'guest', id: 'LIST' },\n ]\n : [{ type: 'guest', id: 'LIST' }],\n },\n addGuestUser: {\n invalidatesTags: [{ type: 'guest', id: 'LIST' }],\n },\n removeGuestUser: {\n invalidatesTags: (result, error, arg) => [{ type: 'guest', id: arg.email }],\n },\n },\n})\n\nexport const { useListGuestUsersQuery, useAddGuestUserMutation, useRemoveGuestUserMutation } =\n enhancedGuestsApi\n"],"names":["enhancedGuestsApi","projectsApi","result","email","error","arg","useListGuestUsersQuery","useAddGuestUserMutation","useRemoveGuestUserMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAMA,IAAoBC,EAAY,iBAAiB;AAAA,EACrD,WAAW;AAAA,IACT,gBAAgB;AAAA,MACd,cAAc,CAACC,MACbA,GAAQ,QACJ;AAAA,QACE,GAAGA,EAAO,MAAM,IAAI,CAAC,EAAE,OAAAC,EAAA,OAAa,EAAE,MAAM,SAAS,IAAIA,IAAQ;AAAA,QACjE,EAAE,MAAM,SAAS,IAAI,OAAA;AAAA,MAAO,IAE9B,CAAC,EAAE,MAAM,SAAS,IAAI,QAAQ;AAAA,IAAA;AAAA,IAEtC,cAAc;AAAA,MACZ,iBAAiB,CAAC,EAAE,MAAM,SAAS,IAAI,QAAQ;AAAA,IAAA;AAAA,IAEjD,iBAAiB;AAAA,MACf,iBAAiB,CAACD,GAAQE,GAAOC,MAAQ,CAAC,EAAE,MAAM,SAAS,IAAIA,EAAI,MAAA,CAAO;AAAA,IAAA;AAAA,EAC5E;AAEJ,CAAC,GAEY,EAAE,wBAAAC,GAAwB,yBAAAC,GAAyB,4BAAAC,MAC9DR;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/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/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");const i=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 p=i.api.enhanceEndpoints({endpoints:{deleteUser:{transformErrorResponse:t=>t.data,invalidatesTags:()=>[{type:"user",id:"LIST"}]},deleteAvatar:{invalidatesTags:(t,e,{userName:r})=>[{type:"user",id:r},{type:"user",id:"LIST"}]},setFrontendPreferences:{invalidatesTags:(t,e,{userName:r,disableInvalidations:s})=>s?[]:[{type:"user",id:r},"info"],async onQueryStarted({patchData:t},{dispatch:e,queryFulfilled:r,getState:s}){const u=e(i.api.util.updateQueryData("getCurrentUser",void 0,a=>{a?.data&&(a.data.frontendPreferences={...a.data.frontendPreferences,...t})}));try{await r}catch{u.undo()}}}}}),n=p.injectEndpoints({endpoints:t=>({updateUser:t.mutation({query:({name:e,patch:r})=>({url:`/api/users/${e}`,method:"PATCH",body:r}),transformErrorResponse:e=>e.data,invalidatesTags:(e,r,{name:s})=>[{type:"user",id:s},{type:"user",id:"LIST"},{type:"userPool",id:"LIST"},{type:"feedback",id:"LIST"},"info"]}),updateUserName:t.mutation({query:({name:e,newName:r})=>({url:`/api/users/${e}/rename`,method:"PATCH",body:{newName:r}}),invalidatesTags:(e,r,{name:s})=>[{type:"user",id:s},{type:"user",id:"LIST"}],transformErrorResponse:e=>e.data}),updateUserPassword:t.mutation({query:({name:e,password:r})=>({url:`/api/users/${e}/password`,method:"PATCH",body:{password:r}}),invalidatesTags:()=>["user"],transformErrorResponse:e=>e.data}),addUser:t.mutation({query:({name:e,user:r})=>({url:`/api/users/${e}`,method:"PUT",body:r}),transformErrorResponse:e=>e.data,invalidatesTags:[{type:"user",id:"LIST"}]}),updateUserAPIKey:t.mutation({query:({name:e,apiKey:r})=>({url:`/api/users/${e}/password`,method:"PATCH",body:{apiKey:r}}),transformErrorResponse:e=>e.data,invalidatesTags:()=>[{type:"user",id:"LIST"}]}),invalidateUserSession:t.mutation({query:({name:e,token:r})=>({url:`/api/users/${e}/sessions/${r}`,method:"DELETE"}),invalidatesTags:(e,r,{token:s})=>[{type:"session",id:s}]})}),overrideExisting:!0}),o=n.injectEndpoints({endpoints:t=>({updateUsers:t.mutation({queryFn:async(e,{dispatch:r})=>{const s=await Promise.all(e.map(({name:a,patch:d})=>r(n.endpoints.updateUser.initiate({name:a,patch:d})))),u=s.find(a=>a.error);return u?{error:u.error}:{data:s.map(a=>a.data)}}})})}),{useUpdateUserMutation:q,useUpdateUsersMutation:U,useUpdateUserNameMutation:y,useUpdateUserPasswordMutation:l,useAddUserMutation:m,useDeleteUserMutation:c,useDeleteAvatarMutation:T,useUpdateUserAPIKeyMutation:M,useInvalidateUserSessionMutation:f,useSetFrontendPreferencesMutation:P}=o;exports.useAddUserMutation=m;exports.useDeleteAvatarMutation=T;exports.useDeleteUserMutation=c;exports.useInvalidateUserSessionMutation=f;exports.useSetFrontendPreferencesMutation=P;exports.useUpdateUserAPIKeyMutation=M;exports.useUpdateUserMutation=q;exports.useUpdateUserNameMutation=y;exports.useUpdateUserPasswordMutation=l;exports.useUpdateUsersMutation=U;exports.userQueries=o;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");require("../../generated/graphqlLinks.cjs.js");require("../../generated/access.cjs.js");require("../../generated/actions.cjs.js");require("../../generated/activityFeed.cjs.js");require("../../generated/addons.cjs.js");require("../../generated/anatomy.cjs.js");require("../../generated/attributes.cjs.js");require("../../generated/authentication.cjs.js");require("../../generated/bundles.cjs.js");require("../../generated/configuration.cjs.js");require("../../generated/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");const i=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 p=i.api.enhanceEndpoints({endpoints:{deleteUser:{transformErrorResponse:t=>t.data,invalidatesTags:()=>[{type:"user",id:"LIST"}]},deleteAvatar:{invalidatesTags:(t,e,{userName:r})=>[{type:"user",id:r},{type:"user",id:"LIST"}]},setFrontendPreferences:{invalidatesTags:(t,e,{userName:r,disableInvalidations:s})=>s?[]:[{type:"user",id:r},"info"],async onQueryStarted({patchData:t},{dispatch:e,queryFulfilled:r,getState:s}){const u=e(i.api.util.updateQueryData("getCurrentUser",void 0,a=>{a?.data&&(a.data.frontendPreferences={...a.data.frontendPreferences,...t})}));try{await r}catch{u.undo()}}}}}),n=p.injectEndpoints({endpoints:t=>({updateUser:t.mutation({query:({name:e,patch:r})=>({url:`/api/users/${e}`,method:"PATCH",body:r}),transformErrorResponse:e=>e.data,invalidatesTags:(e,r,{name:s})=>[{type:"user",id:s},{type:"user",id:"LIST"},{type:"userPool",id:"LIST"},{type:"feedback",id:"LIST"},"info"]}),updateUserName:t.mutation({query:({name:e,newName:r})=>({url:`/api/users/${e}/rename`,method:"PATCH",body:{newName:r}}),invalidatesTags:(e,r,{name:s})=>[{type:"user",id:s},{type:"user",id:"LIST"}],transformErrorResponse:e=>e.data}),updateUserPassword:t.mutation({query:({name:e,password:r})=>({url:`/api/users/${e}/password`,method:"PATCH",body:{password:r}}),invalidatesTags:()=>["user"],transformErrorResponse:e=>e.data}),addUser:t.mutation({query:({name:e,user:r})=>({url:`/api/users/${e}`,method:"PUT",body:r}),transformErrorResponse:e=>e.data,invalidatesTags:[{type:"user",id:"LIST"}]}),updateUserAPIKey:t.mutation({query:({name:e,apiKey:r})=>({url:`/api/users/${e}/password`,method:"PATCH",body:{apiKey:r}}),transformErrorResponse:e=>e.data,invalidatesTags:()=>[{type:"user",id:"LIST"}]}),invalidateUserSession:t.mutation({query:({name:e,token:r})=>({url:`/api/users/${e}/sessions/${r}`,method:"DELETE"}),invalidatesTags:(e,r,{token:s})=>[{type:"session",id:s}]})}),overrideExisting:!0}),o=n.injectEndpoints({endpoints:t=>({updateUsers:t.mutation({queryFn:async(e,{dispatch:r})=>{const s=await Promise.all(e.map(({name:a,patch:d})=>r(n.endpoints.updateUser.initiate({name:a,patch:d})))),u=s.find(a=>a.error);return u?{error:u.error}:{data:s.map(a=>a.data)}}})})}),{useUpdateUserMutation:q,useUpdateUsersMutation:U,useUpdateUserNameMutation:y,useUpdateUserPasswordMutation:l,useAddUserMutation:m,useDeleteUserMutation:c,useDeleteAvatarMutation:T,useUpdateUserAPIKeyMutation:M,useInvalidateUserSessionMutation:f,useSetFrontendPreferencesMutation:P}=o;exports.useAddUserMutation=m;exports.useDeleteAvatarMutation=T;exports.useDeleteUserMutation=c;exports.useInvalidateUserSessionMutation=f;exports.useSetFrontendPreferencesMutation=P;exports.useUpdateUserAPIKeyMutation=M;exports.useUpdateUserMutation=q;exports.useUpdateUserNameMutation=y;exports.useUpdateUserPasswordMutation=l;exports.useUpdateUsersMutation=U;exports.userQueries=o;
|
|
2
2
|
//# sourceMappingURL=updateUsers.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateUsers.cjs.js","sources":["../../../../../../src/api/queries/users/updateUsers.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { usersApi } from '@shared/api/generated'\n\nconst updateUserApi = usersApi.enhanceEndpoints({\n endpoints: {\n deleteUser: {\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n },\n deleteAvatar: {\n invalidatesTags: (_result, _error, { userName }) => [\n { type: 'user', id: userName },\n { type: 'user', id: 'LIST' },\n ],\n },\n setFrontendPreferences: {\n // @ts-expect-error - disableInvalidations is not in the api\n invalidatesTags: (_result, _error, { userName, disableInvalidations }) =>\n !disableInvalidations ? [{ type: 'user', id: userName }, 'info'] : [],\n async onQueryStarted({ patchData }, { dispatch, queryFulfilled, getState }) {\n // get current preferences\n\n // optimistic update the user cache\n const patch = dispatch(\n usersApi.util.updateQueryData('getCurrentUser', undefined, (draft) => {\n if (draft?.data) {\n draft.data.frontendPreferences = { ...draft.data.frontendPreferences, ...patchData }\n }\n }),\n )\n try {\n await queryFulfilled\n } catch {\n // rollback the optimistic update if the query fails\n patch.undo()\n }\n }, // onQueryStarted\n },\n },\n})\n\nconst updateUser = updateUserApi.injectEndpoints({\n endpoints: (build) => ({\n updateUser: build.mutation({\n query: ({ name, patch }) => ({\n url: `/api/users/${name}`,\n method: 'PATCH',\n body: patch,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n { type: 'userPool', id: 'LIST' },\n { type: 'feedback', id: 'LIST' },\n 'info',\n ],\n }),\n updateUserName: build.mutation({\n query: ({ name, newName }) => ({\n url: `/api/users/${name}/rename`,\n method: 'PATCH',\n body: { newName },\n }),\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n ],\n transformErrorResponse: (res) => res.data,\n }),\n updateUserPassword: build.mutation({\n query: ({ name, password }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { password },\n }),\n invalidatesTags: () => ['user'],\n transformErrorResponse: (res) => res.data,\n }),\n addUser: build.mutation({\n query: ({ name, user }) => ({\n url: `/api/users/${name}`,\n method: 'PUT',\n body: user,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: [{ type: 'user', id: 'LIST' }],\n }),\n updateUserAPIKey: build.mutation({\n query: ({ name, apiKey }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { apiKey },\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n }),\n invalidateUserSession: build.mutation({\n query: ({ name, token }) => ({\n url: `/api/users/${name}/sessions/${token}`,\n method: 'DELETE',\n }),\n invalidatesTags: (_res, _err, { token }) => [{ type: 'session', id: token }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst updateUser2 = updateUser.injectEndpoints({\n endpoints: (build) => ({\n // update multiple users at once\n updateUsers: build.mutation<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any[],\n { name: string; patch: object }[]\n >({\n //\n queryFn: async (updates, { dispatch }) => {\n const results = await Promise.all(\n updates.map(({ name, patch }: { name: string; patch: object }) => {\n return dispatch(updateUser.endpoints.updateUser.initiate({ name, patch }))\n }),\n )\n\n // Check if any of the results have an error\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const firstError = results.find((result: any) => result.error)\n if (firstError) {\n return { error: firstError.error as FetchBaseQueryError }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return { data: results.map((result: any) => result.data) }\n },\n }),\n }),\n})\n\nexport const {\n useUpdateUserMutation,\n useUpdateUsersMutation,\n useUpdateUserNameMutation,\n useUpdateUserPasswordMutation,\n useAddUserMutation,\n useDeleteUserMutation,\n useDeleteAvatarMutation,\n useUpdateUserAPIKeyMutation,\n useInvalidateUserSessionMutation,\n useSetFrontendPreferencesMutation,\n} = updateUser2\nexport { updateUser2 as userQueries }\n"],"names":["updateUserApi","usersApi","res","_result","_error","userName","disableInvalidations","patchData","dispatch","queryFulfilled","getState","patch","draft","updateUser","build","name","newName","password","user","apiKey","token","_res","_err","updateUser2","updates","results","firstError","result","useUpdateUserMutation","useUpdateUsersMutation","useUpdateUserNameMutation","useUpdateUserPasswordMutation","useAddUserMutation","useDeleteUserMutation","useDeleteAvatarMutation","useUpdateUserAPIKeyMutation","useInvalidateUserSessionMutation","useSetFrontendPreferencesMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateUsers.cjs.js","sources":["../../../../../../src/api/queries/users/updateUsers.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { usersApi } from '@shared/api/generated'\n\nconst updateUserApi = usersApi.enhanceEndpoints({\n endpoints: {\n deleteUser: {\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n },\n deleteAvatar: {\n invalidatesTags: (_result, _error, { userName }) => [\n { type: 'user', id: userName },\n { type: 'user', id: 'LIST' },\n ],\n },\n setFrontendPreferences: {\n // @ts-expect-error - disableInvalidations is not in the api\n invalidatesTags: (_result, _error, { userName, disableInvalidations }) =>\n !disableInvalidations ? [{ type: 'user', id: userName }, 'info'] : [],\n async onQueryStarted({ patchData }, { dispatch, queryFulfilled, getState }) {\n // get current preferences\n\n // optimistic update the user cache\n const patch = dispatch(\n usersApi.util.updateQueryData('getCurrentUser', undefined, (draft) => {\n if (draft?.data) {\n draft.data.frontendPreferences = { ...draft.data.frontendPreferences, ...patchData }\n }\n }),\n )\n try {\n await queryFulfilled\n } catch {\n // rollback the optimistic update if the query fails\n patch.undo()\n }\n }, // onQueryStarted\n },\n },\n})\n\nconst updateUser = updateUserApi.injectEndpoints({\n endpoints: (build) => ({\n updateUser: build.mutation({\n query: ({ name, patch }) => ({\n url: `/api/users/${name}`,\n method: 'PATCH',\n body: patch,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n { type: 'userPool', id: 'LIST' },\n { type: 'feedback', id: 'LIST' },\n 'info',\n ],\n }),\n updateUserName: build.mutation({\n query: ({ name, newName }) => ({\n url: `/api/users/${name}/rename`,\n method: 'PATCH',\n body: { newName },\n }),\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n ],\n transformErrorResponse: (res) => res.data,\n }),\n updateUserPassword: build.mutation({\n query: ({ name, password }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { password },\n }),\n invalidatesTags: () => ['user'],\n transformErrorResponse: (res) => res.data,\n }),\n addUser: build.mutation({\n query: ({ name, user }) => ({\n url: `/api/users/${name}`,\n method: 'PUT',\n body: user,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: [{ type: 'user', id: 'LIST' }],\n }),\n updateUserAPIKey: build.mutation({\n query: ({ name, apiKey }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { apiKey },\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n }),\n invalidateUserSession: build.mutation({\n query: ({ name, token }) => ({\n url: `/api/users/${name}/sessions/${token}`,\n method: 'DELETE',\n }),\n invalidatesTags: (_res, _err, { token }) => [{ type: 'session', id: token }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst updateUser2 = updateUser.injectEndpoints({\n endpoints: (build) => ({\n // update multiple users at once\n updateUsers: build.mutation<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any[],\n { name: string; patch: object }[]\n >({\n //\n queryFn: async (updates, { dispatch }) => {\n const results = await Promise.all(\n updates.map(({ name, patch }: { name: string; patch: object }) => {\n return dispatch(updateUser.endpoints.updateUser.initiate({ name, patch }))\n }),\n )\n\n // Check if any of the results have an error\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const firstError = results.find((result: any) => result.error)\n if (firstError) {\n return { error: firstError.error as FetchBaseQueryError }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return { data: results.map((result: any) => result.data) }\n },\n }),\n }),\n})\n\nexport const {\n useUpdateUserMutation,\n useUpdateUsersMutation,\n useUpdateUserNameMutation,\n useUpdateUserPasswordMutation,\n useAddUserMutation,\n useDeleteUserMutation,\n useDeleteAvatarMutation,\n useUpdateUserAPIKeyMutation,\n useInvalidateUserSessionMutation,\n useSetFrontendPreferencesMutation,\n} = updateUser2\nexport { updateUser2 as userQueries }\n"],"names":["updateUserApi","usersApi","res","_result","_error","userName","disableInvalidations","patchData","dispatch","queryFulfilled","getState","patch","draft","updateUser","build","name","newName","password","user","apiKey","token","_res","_err","updateUser2","updates","results","firstError","result","useUpdateUserMutation","useUpdateUsersMutation","useUpdateUserNameMutation","useUpdateUserPasswordMutation","useAddUserMutation","useDeleteUserMutation","useDeleteAvatarMutation","useUpdateUserAPIKeyMutation","useInvalidateUserSessionMutation","useSetFrontendPreferencesMutation"],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ import "../../generated/operations.es.js";
|
|
|
23
23
|
import "../../generated/products.es.js";
|
|
24
24
|
import "../../generated/projectDashboard.es.js";
|
|
25
25
|
import "../../generated/projects.es.js";
|
|
26
|
+
import "../../generated/projectFolders.es.js";
|
|
26
27
|
import "../../generated/reviewables.es.js";
|
|
27
28
|
import "../../generated/services.es.js";
|
|
28
29
|
import "../../generated/system.es.js";
|
|
@@ -145,28 +146,28 @@ const d = i.enhanceEndpoints({
|
|
|
145
146
|
})
|
|
146
147
|
})
|
|
147
148
|
}), {
|
|
148
|
-
useUpdateUserMutation:
|
|
149
|
-
useUpdateUsersMutation:
|
|
150
|
-
useUpdateUserNameMutation:
|
|
151
|
-
useUpdateUserPasswordMutation:
|
|
152
|
-
useAddUserMutation:
|
|
153
|
-
useDeleteUserMutation:
|
|
154
|
-
useDeleteAvatarMutation:
|
|
155
|
-
useUpdateUserAPIKeyMutation:
|
|
156
|
-
useInvalidateUserSessionMutation:
|
|
157
|
-
useSetFrontendPreferencesMutation:
|
|
149
|
+
useUpdateUserMutation: W,
|
|
150
|
+
useUpdateUsersMutation: X,
|
|
151
|
+
useUpdateUserNameMutation: Y,
|
|
152
|
+
useUpdateUserPasswordMutation: Z,
|
|
153
|
+
useAddUserMutation: ee,
|
|
154
|
+
useDeleteUserMutation: re,
|
|
155
|
+
useDeleteAvatarMutation: te,
|
|
156
|
+
useUpdateUserAPIKeyMutation: se,
|
|
157
|
+
useInvalidateUserSessionMutation: oe,
|
|
158
|
+
useSetFrontendPreferencesMutation: ae
|
|
158
159
|
} = u;
|
|
159
160
|
export {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
161
|
+
ee as useAddUserMutation,
|
|
162
|
+
te as useDeleteAvatarMutation,
|
|
163
|
+
re as useDeleteUserMutation,
|
|
164
|
+
oe as useInvalidateUserSessionMutation,
|
|
165
|
+
ae as useSetFrontendPreferencesMutation,
|
|
166
|
+
se as useUpdateUserAPIKeyMutation,
|
|
167
|
+
W as useUpdateUserMutation,
|
|
168
|
+
Y as useUpdateUserNameMutation,
|
|
169
|
+
Z as useUpdateUserPasswordMutation,
|
|
170
|
+
X as useUpdateUsersMutation,
|
|
170
171
|
u as userQueries
|
|
171
172
|
};
|
|
172
173
|
//# sourceMappingURL=updateUsers.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateUsers.es.js","sources":["../../../../../../src/api/queries/users/updateUsers.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { usersApi } from '@shared/api/generated'\n\nconst updateUserApi = usersApi.enhanceEndpoints({\n endpoints: {\n deleteUser: {\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n },\n deleteAvatar: {\n invalidatesTags: (_result, _error, { userName }) => [\n { type: 'user', id: userName },\n { type: 'user', id: 'LIST' },\n ],\n },\n setFrontendPreferences: {\n // @ts-expect-error - disableInvalidations is not in the api\n invalidatesTags: (_result, _error, { userName, disableInvalidations }) =>\n !disableInvalidations ? [{ type: 'user', id: userName }, 'info'] : [],\n async onQueryStarted({ patchData }, { dispatch, queryFulfilled, getState }) {\n // get current preferences\n\n // optimistic update the user cache\n const patch = dispatch(\n usersApi.util.updateQueryData('getCurrentUser', undefined, (draft) => {\n if (draft?.data) {\n draft.data.frontendPreferences = { ...draft.data.frontendPreferences, ...patchData }\n }\n }),\n )\n try {\n await queryFulfilled\n } catch {\n // rollback the optimistic update if the query fails\n patch.undo()\n }\n }, // onQueryStarted\n },\n },\n})\n\nconst updateUser = updateUserApi.injectEndpoints({\n endpoints: (build) => ({\n updateUser: build.mutation({\n query: ({ name, patch }) => ({\n url: `/api/users/${name}`,\n method: 'PATCH',\n body: patch,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n { type: 'userPool', id: 'LIST' },\n { type: 'feedback', id: 'LIST' },\n 'info',\n ],\n }),\n updateUserName: build.mutation({\n query: ({ name, newName }) => ({\n url: `/api/users/${name}/rename`,\n method: 'PATCH',\n body: { newName },\n }),\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n ],\n transformErrorResponse: (res) => res.data,\n }),\n updateUserPassword: build.mutation({\n query: ({ name, password }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { password },\n }),\n invalidatesTags: () => ['user'],\n transformErrorResponse: (res) => res.data,\n }),\n addUser: build.mutation({\n query: ({ name, user }) => ({\n url: `/api/users/${name}`,\n method: 'PUT',\n body: user,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: [{ type: 'user', id: 'LIST' }],\n }),\n updateUserAPIKey: build.mutation({\n query: ({ name, apiKey }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { apiKey },\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n }),\n invalidateUserSession: build.mutation({\n query: ({ name, token }) => ({\n url: `/api/users/${name}/sessions/${token}`,\n method: 'DELETE',\n }),\n invalidatesTags: (_res, _err, { token }) => [{ type: 'session', id: token }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst updateUser2 = updateUser.injectEndpoints({\n endpoints: (build) => ({\n // update multiple users at once\n updateUsers: build.mutation<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any[],\n { name: string; patch: object }[]\n >({\n //\n queryFn: async (updates, { dispatch }) => {\n const results = await Promise.all(\n updates.map(({ name, patch }: { name: string; patch: object }) => {\n return dispatch(updateUser.endpoints.updateUser.initiate({ name, patch }))\n }),\n )\n\n // Check if any of the results have an error\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const firstError = results.find((result: any) => result.error)\n if (firstError) {\n return { error: firstError.error as FetchBaseQueryError }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return { data: results.map((result: any) => result.data) }\n },\n }),\n }),\n})\n\nexport const {\n useUpdateUserMutation,\n useUpdateUsersMutation,\n useUpdateUserNameMutation,\n useUpdateUserPasswordMutation,\n useAddUserMutation,\n useDeleteUserMutation,\n useDeleteAvatarMutation,\n useUpdateUserAPIKeyMutation,\n useInvalidateUserSessionMutation,\n useSetFrontendPreferencesMutation,\n} = updateUser2\nexport { updateUser2 as userQueries }\n"],"names":["updateUserApi","usersApi","res","_result","_error","userName","disableInvalidations","patchData","dispatch","queryFulfilled","getState","patch","draft","updateUser","build","name","newName","password","user","apiKey","token","_res","_err","updateUser2","updates","results","firstError","result","useUpdateUserMutation","useUpdateUsersMutation","useUpdateUserNameMutation","useUpdateUserPasswordMutation","useAddUserMutation","useDeleteUserMutation","useDeleteAvatarMutation","useUpdateUserAPIKeyMutation","useInvalidateUserSessionMutation","useSetFrontendPreferencesMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateUsers.es.js","sources":["../../../../../../src/api/queries/users/updateUsers.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport { usersApi } from '@shared/api/generated'\n\nconst updateUserApi = usersApi.enhanceEndpoints({\n endpoints: {\n deleteUser: {\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n },\n deleteAvatar: {\n invalidatesTags: (_result, _error, { userName }) => [\n { type: 'user', id: userName },\n { type: 'user', id: 'LIST' },\n ],\n },\n setFrontendPreferences: {\n // @ts-expect-error - disableInvalidations is not in the api\n invalidatesTags: (_result, _error, { userName, disableInvalidations }) =>\n !disableInvalidations ? [{ type: 'user', id: userName }, 'info'] : [],\n async onQueryStarted({ patchData }, { dispatch, queryFulfilled, getState }) {\n // get current preferences\n\n // optimistic update the user cache\n const patch = dispatch(\n usersApi.util.updateQueryData('getCurrentUser', undefined, (draft) => {\n if (draft?.data) {\n draft.data.frontendPreferences = { ...draft.data.frontendPreferences, ...patchData }\n }\n }),\n )\n try {\n await queryFulfilled\n } catch {\n // rollback the optimistic update if the query fails\n patch.undo()\n }\n }, // onQueryStarted\n },\n },\n})\n\nconst updateUser = updateUserApi.injectEndpoints({\n endpoints: (build) => ({\n updateUser: build.mutation({\n query: ({ name, patch }) => ({\n url: `/api/users/${name}`,\n method: 'PATCH',\n body: patch,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n { type: 'userPool', id: 'LIST' },\n { type: 'feedback', id: 'LIST' },\n 'info',\n ],\n }),\n updateUserName: build.mutation({\n query: ({ name, newName }) => ({\n url: `/api/users/${name}/rename`,\n method: 'PATCH',\n body: { newName },\n }),\n invalidatesTags: (_result, _error, { name }) => [\n { type: 'user', id: name },\n { type: 'user', id: 'LIST' },\n ],\n transformErrorResponse: (res) => res.data,\n }),\n updateUserPassword: build.mutation({\n query: ({ name, password }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { password },\n }),\n invalidatesTags: () => ['user'],\n transformErrorResponse: (res) => res.data,\n }),\n addUser: build.mutation({\n query: ({ name, user }) => ({\n url: `/api/users/${name}`,\n method: 'PUT',\n body: user,\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: [{ type: 'user', id: 'LIST' }],\n }),\n updateUserAPIKey: build.mutation({\n query: ({ name, apiKey }) => ({\n url: `/api/users/${name}/password`,\n method: 'PATCH',\n body: { apiKey },\n }),\n transformErrorResponse: (res) => res.data,\n invalidatesTags: () => [{ type: 'user', id: 'LIST' }],\n }),\n invalidateUserSession: build.mutation({\n query: ({ name, token }) => ({\n url: `/api/users/${name}/sessions/${token}`,\n method: 'DELETE',\n }),\n invalidatesTags: (_res, _err, { token }) => [{ type: 'session', id: token }],\n }),\n }),\n overrideExisting: true,\n})\n\nconst updateUser2 = updateUser.injectEndpoints({\n endpoints: (build) => ({\n // update multiple users at once\n updateUsers: build.mutation<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any[],\n { name: string; patch: object }[]\n >({\n //\n queryFn: async (updates, { dispatch }) => {\n const results = await Promise.all(\n updates.map(({ name, patch }: { name: string; patch: object }) => {\n return dispatch(updateUser.endpoints.updateUser.initiate({ name, patch }))\n }),\n )\n\n // Check if any of the results have an error\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const firstError = results.find((result: any) => result.error)\n if (firstError) {\n return { error: firstError.error as FetchBaseQueryError }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return { data: results.map((result: any) => result.data) }\n },\n }),\n }),\n})\n\nexport const {\n useUpdateUserMutation,\n useUpdateUsersMutation,\n useUpdateUserNameMutation,\n useUpdateUserPasswordMutation,\n useAddUserMutation,\n useDeleteUserMutation,\n useDeleteAvatarMutation,\n useUpdateUserAPIKeyMutation,\n useInvalidateUserSessionMutation,\n useSetFrontendPreferencesMutation,\n} = updateUser2\nexport { updateUser2 as userQueries }\n"],"names":["updateUserApi","usersApi","res","_result","_error","userName","disableInvalidations","patchData","dispatch","queryFulfilled","getState","patch","draft","updateUser","build","name","newName","password","user","apiKey","token","_res","_err","updateUser2","updates","results","firstError","result","useUpdateUserMutation","useUpdateUsersMutation","useUpdateUserNameMutation","useUpdateUserPasswordMutation","useAddUserMutation","useDeleteUserMutation","useDeleteAvatarMutation","useUpdateUserAPIKeyMutation","useInvalidateUserSessionMutation","useSetFrontendPreferencesMutation"],"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 N=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/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/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 a=require("./getVersionsProductsUtils.cjs.js"),V=N.api.enhanceEndpoints({endpoints:{GetVersions:{transformResponse:a.transformVersionsResponse,providesTags:a.provideTagsForVersionsResult},GetVersionsByProductId:{transformResponse:a.transformVersionsResponse,providesTags:a.provideTagsForVersionsResult},GetProducts:{transformResponse:a.transformProductsResponse,providesTags:a.provideTagsForProductsResult}}}),I=250,E=1e3,_=10,m=V.injectEndpoints({endpoints:G=>({getVersionsInfinite:G.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(f,p,c,s)=>{const e=f.pageInfo;if(!(!(c.desc?e?.hasPreviousPage:e?.hasNextPage)||!e?.endCursor))return{cursor:e?.endCursor,desc:c.desc}}},queryFn:async({queryArg:f,pageParam:p},c)=>{try{const{sortBy:s,desc:e,folderIds:g,...d}=f,{cursor:P}=p,o={...d};s?(o.sortBy=s,e?(o.before=P||void 0,o.last=I):(o.after=P||void 0,o.first=I)):(o.after=P||void 0,o.first=I),g&&g.length&&(o.folderIds=g);const r=await c.dispatch(V.endpoints.GetVersions.initiate(o,{forceRefetch:!0}));if(r.error)throw r.error;const u={versions:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:r.data||u}}catch(s){return console.error("Error in getVersionsInfiniteQuery queryFn:",s),{error:{status:"FETCH_ERROR",error:a.parseGQLErrorMessage(s.message)}}}},providesTags:a.provideTagsForVersionsInfinite}),getVersionsByProducts:G.query({queryFn:async(f,{dispatch:p,forced:c})=>{const{productIds:s=[],desc:e,...g}=f,d=async(l,n)=>{const i={...g,productIds:[l]};return e?(n&&(i.before=n),i.last=E):(n&&(i.after=n),i.first=E),p(V.endpoints.GetVersionsByProductId.initiate(i,{forceRefetch:c}))},P=s.map(l=>d(l)),o=await Promise.allSettled(P),r=[],u=[];for(let l=0;l<o.length;l++){const n=o[l],i=s[l];if(n.status==="rejected"){console.error(`Error fetching versions for product ${i}:`,n.reason),u.push({productId:i,error:a.parseGQLErrorMessage(n.reason)});continue}const h=n.value;if(h.error){console.error(`Error fetching versions for product ${i}:`,h.error),u.push({productId:i,error:a.parseGQLErrorMessage(h.error?.message||"Unknown error")});continue}if(!h.data)continue;r.push(...h.data.versions);let t=h.data.pageInfo,q=1;for(;t&&q<_;){const v=e?t.hasPreviousPage:t.hasNextPage,R=t.endCursor;if(!v||!R)break;const y=await d(i,R);if(y.error){console.error(`Error fetching versions page ${q+1} for product ${i}:`,y.error),u.push({productId:i,error:y.error});break}if(!y.data)break;r.push(...y.data.versions),t=y.data.pageInfo,q++}}return u.length>0&&console.warn(`Partial success: ${u.length} of ${s.length} products failed to fetch versions`,u),{data:{versions:r,pageInfo:void 0,errors:u.length>0?u:void 0}}},providesTags:a.provideTagsForVersionsResult}),getProductsInfinite:G.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(f,p,c,s)=>{const e=f.pageInfo;if(!(!(c.desc?e?.hasPreviousPage:e?.hasNextPage)||!e?.endCursor))return{cursor:e?.endCursor,desc:c.desc}}},queryFn:async({queryArg:f,pageParam:p},c)=>{let s;try{const{sortBy:e,desc:g,folderIds:d,...P}=f,{cursor:o}=p,r={...P};if(e?(r.sortBy=e,g?(r.before=o||void 0,r.last=I):(r.after=o||void 0,r.first=I)):(r.after=o||void 0,r.first=I),d&&d.length&&(r.folderIds=d),s=await c.dispatch(V.endpoints.GetProducts.initiate(r,{forceRefetch:!0})),s.error)throw s.error;const u={products:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:s.data||u}}catch(e){return console.error("Error in getProductsInfiniteQuery queryFn:",e),{error:{status:"FETCH_ERROR",error:a.parseGQLErrorMessage(e.message)}}}},providesTags:a.provideTagsForProductsInfinite}),getGroupedVersionsList:G.query({queryFn:async({projectName:f,groups:p,groupFilterKey:c="versionFilter",versionFilter:s,productFilter:e,taskFilter:g,folderIds:d,desc:P,sortBy:o,featuredOnly:r,hasReviewables:u},l)=>{try{const n=[];for(const t of p){const q=t.count||500,v={projectName:f,productFilter:e,taskFilter:g,versionFilter:s,[c]:t.filter,folderIds:d?.length?d:void 0,sortBy:o,featuredOnly:r,hasReviewables:u,group:t.value};P?v.last=q:v.first=q;const R=l.dispatch(V.endpoints.GetVersions.initiate(v,{forceRefetch:!0}));n.push(R)}const i=await Promise.all(n),h=[];for(const t of i){if(t.error)throw t.error;const q=t.originalArgs?.group,v=t.data?.pageInfo?.hasNextPage||t.data?.pageInfo?.hasPreviousPage||!1,R=t.data?.versions.map((y,Q,T)=>({...y,groups:[{value:q,hasNextPage:Q===T.length-1&&v?q:void 0}]}))||[];h.push(...R)}return{data:{versions:h}}}catch(n){return console.error("Error in getGroupedVersionsList queryFn:",n),{error:{status:"FETCH_ERROR",error:a.parseGQLErrorMessage(n.message)}}}},providesTags:a.provideTagsForVersionsResult})})}),{useGetVersionsQuery:F}=V,{useGetVersionsInfiniteInfiniteQuery:C,useGetVersionsByProductsQuery:x,useGetProductsInfiniteInfiniteQuery:O,useGetGroupedVersionsListQuery:w}=m;exports.VP_INFINITE_QUERY_COUNT=I;exports.enhancedVersionsPageApi=V;exports.injectedVersionsPageApi=m;exports.useGetGroupedVersionsListQuery=w;exports.useGetProductsInfiniteQuery=O;exports.useGetVersionsByProductsQuery=x;exports.useGetVersionsInfiniteQuery=C;exports.useGetVersionsQuery=F;
|
|
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/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=_;
|
|
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 VpFolderFragment,\n GetProductsQuery,\n GetProductsQueryVariables,\n GetVersionsByProductIdQueryVariables,\n GetVersionsQuery,\n GetVersionsQueryVariables,\n gqlApi,\n PageInfo,\n} from '@shared/api/generated'\nimport {\n parseGQLErrorMessage,\n provideTagsForProductsInfinite,\n provideTagsForProductsResult,\n provideTagsForVersionsInfinite,\n provideTagsForVersionsResult,\n transformProductsResponse,\n transformVersionsResponse,\n} from './getVersionsProductsUtils'\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 },\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 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 ),\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 }),\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":["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","sortBy","desc","folderIds","rest","cursor","queryParams","result","fallback","e","parseGQLErrorMessage","provideTagsForVersionsInfinite","args","dispatch","forced","productIds","fetchVersionsPage","productId","promises","settledResults","allVersions","errors","i","settledResult","pageCount","hasNextPage","nextPageResult","provideTagsForProductsInfinite","projectName","groups","groupFilterKey","versionFilter","productFilter","taskFilter","featuredOnly","hasReviewables","group","count","promise","versions","res","groupValue","groupVersions","version","a","error","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 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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"}
|