@ynput/ayon-frontend-shared 0.3.9 → 0.3.11
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 +352 -342
- 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 +40 -22
- 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 +95 -93
- 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 +57 -54
- 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/entityLists/types.d.ts +1 -0
- 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/tasks/updateTasks.d.ts +7 -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLinks.es.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getLinks.es.js","sources":["../../../../../../src/api/queries/links/getLinks.ts"],"sourcesContent":["import { FetchBaseQueryError } from '@reduxjs/toolkit/query'\nimport {\n GetSearchedFoldersQuery,\n GetSearchedProductsQuery,\n GetSearchedRepresentationsQuery,\n GetSearchedTasksQuery,\n GetSearchedVersionsQuery,\n GetSearchedWorkfilesQuery,\n gqlLinksApi,\n} from '@shared/api/generated'\nimport { PubSub } from '@shared/util'\n\nexport const ENTITIES_INFINITE_QUERY_COUNT = 50 // Number of items to fetch per page\n\n// Define page param type for infinite query\ntype EntitySearchPageParam = {\n cursor: string\n}\n\nexport type SearchEntityLink = {\n id: string\n name: string\n entityType: string\n parents: string[]\n label: string\n icon: string | undefined\n subType: string | undefined\n}\n\nexport type GetSearchedEntitiesLinksResult = {\n pageInfo: any\n entities: SearchEntityLink[]\n}\n\nexport type GetSearchedEntitiesLinksArgs = {\n projectName: string\n entityType: string // 'folder' | 'product' | 'version' | 'task' | 'representation' | 'workfile'\n search?: string\n parentIds?: string[] // Optional parent IDs to filter entities\n sortBy?: string\n}\n\ntype GetSearchedEntity =\n | GetSearchedTasksQuery\n | GetSearchedFoldersQuery\n | GetSearchedProductsQuery\n | GetSearchedVersionsQuery\n | GetSearchedRepresentationsQuery\n | GetSearchedWorkfilesQuery\ntype SearchedTaskNode = GetSearchedTasksQuery['project']['tasks']['edges'][0]['node']\ntype SearchedFolderNode = GetSearchedFoldersQuery['project']['folders']['edges'][0]['node']\ntype SearchedProductNode = GetSearchedProductsQuery['project']['products']['edges'][0]['node']\ntype SearchedVersionNode = GetSearchedVersionsQuery['project']['versions']['edges'][0]['node']\ntype SearchedRepresentationNode =\n GetSearchedRepresentationsQuery['project']['representations']['edges'][0]['node']\ntype SearchedWorkfileNode = GetSearchedWorkfilesQuery['project']['workfiles']['edges'][0]['node']\n\nconst injectedQueries = gqlLinksApi.injectEndpoints({\n endpoints: (build) => ({\n getSearchedEntitiesLinks: build.infiniteQuery<\n GetSearchedEntitiesLinksResult,\n GetSearchedEntitiesLinksArgs,\n EntitySearchPageParam\n >({\n infiniteQueryOptions: {\n initialPageParam: { cursor: '' },\n getNextPageParam: (lastPage, _allPages, lastPageParam) => {\n const pageInfo = lastPage.pageInfo\n if (!pageInfo.hasNextPage || !pageInfo.endCursor) return undefined\n return { cursor: pageInfo.endCursor }\n },\n },\n providesTags: [{ type: 'linkSearchItem', id: 'LIST' }],\n queryFn: async ({ queryArg, pageParam }, api) => {\n try {\n const { projectName, entityType, search, parentIds } = queryArg\n const { cursor } = pageParam\n\n // Build query variables\n const variables: any = {\n projectName,\n first: ENTITIES_INFINITE_QUERY_COUNT,\n }\n\n // Add cursor-based pagination\n if (cursor) {\n variables.after = cursor\n }\n\n variables.search = search || ''\n variables.parentIds = parentIds\n\n let result: GetSearchedEntity\n // Use the appropriate generated query based on entity type\n switch (entityType) {\n case 'folder':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedFolders.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'product':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedProducts.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'task':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedTasks.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'version':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedVersions.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'representation':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedRepresentations.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n case 'workfile':\n result = await api\n .dispatch(\n gqlLinksApi.endpoints.GetSearchedWorkfiles.initiate(variables, {\n forceRefetch: true,\n }),\n )\n .unwrap()\n break\n default:\n throw new Error(`Unsupported entity type: ${entityType}`)\n }\n\n const projectData = result.project\n if (!projectData) {\n throw new Error('No project data returned')\n }\n\n // @ts-expect-error - TypeScript doesn't know the structure of projectData\n const entityData = projectData[entityType + 's']\n\n // Transform entity data to search link format\n const entities: SearchEntityLink[] = entityData?.edges\n ?.map(({ node }: any) => {\n switch (entityType) {\n case 'task':\n const taskNode = node as SearchedTaskNode\n return {\n entityType: 'task',\n id: taskNode.id,\n name: taskNode.name,\n label: taskNode.label || taskNode.name,\n parents: taskNode.parents || [],\n subType: taskNode.subType,\n }\n case 'folder':\n const folderNode = node as SearchedFolderNode\n return {\n entityType: 'folder',\n id: folderNode.id,\n name: folderNode.name,\n label: folderNode.label || folderNode.name,\n parents: folderNode.parents || [],\n subType: folderNode.subType,\n }\n case 'product':\n const productNode = node as SearchedProductNode\n return {\n entityType: 'product',\n id: productNode.id,\n name: productNode.name,\n label: productNode.name,\n parents: productNode.parents || [],\n subType: productNode.subType,\n }\n case 'version':\n const versionNode = node as SearchedVersionNode\n return {\n entityType: 'version',\n id: versionNode.id,\n name: versionNode.name,\n label: versionNode.name,\n parents: versionNode.parents || [],\n }\n case 'representation':\n const representationNode = node as SearchedRepresentationNode\n return {\n entityType: 'representation',\n id: representationNode.id,\n name: representationNode.name,\n label: representationNode.name,\n parents: representationNode.parents || [],\n }\n case 'workfile':\n const workfileNode = node as SearchedWorkfileNode\n return {\n entityType: 'workfile',\n id: workfileNode.id,\n name: workfileNode.name,\n label: workfileNode.name,\n parents: workfileNode.parents || [],\n }\n default:\n return null\n }\n })\n .filter(Boolean) as SearchEntityLink[] // Remove nulls, ensure correct type\n\n if (!entityData) {\n throw new Error(`No ${entityType} data returned`)\n }\n\n return {\n data: {\n pageInfo: entityData.pageInfo,\n entities: entities,\n },\n }\n } catch (error: any) {\n console.error('Error in getSearchedEntitiesLinks queryFn:', error)\n return { error: { status: 'FETCH_ERROR', error: error.message } as FetchBaseQueryError }\n }\n },\n // Subscribe to link.created and link.deleted WebSocket events\n async onCacheEntryAdded(\n { projectName },\n { cacheDataLoaded, cacheEntryRemoved, dispatch },\n ) {\n let token: any\n\n try {\n await cacheDataLoaded\n\n const handlePubSub = async (_topic: string, message: any) => {\n // Only react to link.created and link.deleted events for this project\n if (!_topic.startsWith('link.created') && !_topic.startsWith('link.deleted')) return\n if (message?.project !== projectName) return\n\n // Link events have inputId and outputId in the summary\n const inputId = message?.summary?.inputId\n const outputId = message?.summary?.outputId\n if (!inputId && !outputId) return\n\n // Invalidate the search query cache when a link is created or deleted\n // This ensures the search results are fresh and don't show stale data\n dispatch(\n gqlLinksApi.util.invalidateTags([{ type: 'linkSearchItem', id: 'LIST' }]),\n )\n }\n\n // Subscribe to link events\n // NOTE: backend emits topics like 'link.created' and 'link.deleted'.\n // PubSub supports prefix matching when subscribing.\n token = PubSub.subscribe('link', handlePubSub)\n } catch (e) {\n // cache entry removed before loaded - ignore\n }\n\n await cacheEntryRemoved\n if (token) PubSub.unsubscribe(token)\n },\n }),\n }),\n})\n\nexport const { useGetSearchedEntitiesLinksInfiniteQuery } = injectedQueries\n"],"names":["ENTITIES_INFINITE_QUERY_COUNT","injectedQueries","gqlLinksApi","build","lastPage","_allPages","lastPageParam","pageInfo","queryArg","pageParam","api","projectName","entityType","search","parentIds","cursor","variables","result","projectData","entityData","entities","node","taskNode","folderNode","productNode","versionNode","representationNode","workfileNode","error","cacheDataLoaded","cacheEntryRemoved","dispatch","token","handlePubSub","_topic","message","inputId","outputId","PubSub","useGetSearchedEntitiesLinksInfiniteQuery"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../base/client.cjs.js");require("../../generated/graphql.cjs.js");const f=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");const C=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 F=require("@reduxjs/toolkit"),T=require("./getEntityLinks.cjs.js"),A=async(i,r,e,t)=>{switch(i){case"task":return(await t(f.api.endpoints.GetTaskLinkData.initiate({projectName:e,taskId:r})).unwrap())?.project.task;case"folder":return(await t(f.api.endpoints.GetFolderLinkData.initiate({projectName:e,folderId:r})).unwrap())?.project.folder;case"product":return(await t(f.api.endpoints.GetProductLinkData.initiate({projectName:e,productId:r})).unwrap())?.project.product;case"version":return(await t(f.api.endpoints.GetVersionLinkData.initiate({projectName:e,versionId:r})).unwrap())?.project.version;case"representation":return(await t(f.api.endpoints.GetRepresentationLinkData.initiate({projectName:e,representationId:r})).unwrap())?.project.representation;case"workfile":return(await t(f.api.endpoints.GetWorkfileLinkData.initiate({projectName:e,workfileId:r})).unwrap())?.project.workfile;default:throw new Error(`Unknown entity type: ${i}`)}},S=({projectName:i,sourceEntity:r,targetEntity:e,linkId:t,linkType:u,direction:q,isDelete:g=!1},{state:d,dispatch:c},y=[])=>{const l=(n,a,E)=>{const v=T.entityLinksApi.util.selectCachedArgsForQuery(d,"getEntityLinks").filter(p=>p.projectName===i&&p.entityType===n.entityType);let L=!1;for(const p of v)try{const k=c(T.entityLinksApi.util.updateQueryData("getEntityLinks",p,b=>{const o=b.find(s=>s.id===n.entityId);if(o)if(L=!0,console.log(`Found and patching ${n.entityType} ${n.entityId} in cache`),g)o.links=o.links.filter(s=>s.id!==t);else{console.log(`Adding new link to ${n.entityType}`);const s={id:t,direction:E,linkType:u,entityType:a.entityType,node:{id:a.entityId,name:a.name,label:a.label,parents:a.parents,subType:a.subType}},$=o.links.findIndex(D=>D.id===t);$!==-1?o.links[$]=s:(console.log(`Adding new link to ${n.entityType} links cache`,s,F.current(o)),o.links.push(s))}}));y.push(k)}catch(k){console.error(`Error patching cache for ${n.entityType}:`,k)}L||(n.entityId===r.entityId?(console.warn(`Source ${n.entityType} ${n.entityId} not in cache - invalidating to refresh UI`),c(T.entityLinksApi.util.invalidateTags([{type:"link",id:`${i}-${n.entityType}`}]))):console.log(`Target ${n.entityType} ${n.entityId} not in cache - skipping patch (entity not currently visible)`))};l(r,e,q),l(e,r,q==="in"?"out":"in")},G=C.api.enhanceEndpoints({endpoints:{deleteEntityLink:{transformErrorResponse:i=>i.data?.detail||"",async onQueryStarted({linkId:i,projectName:r,patch:e},{dispatch:t,getState:u,queryFulfilled:q}){const g=u();let d=[];const c=e?.source,y=e?.target,l=e?.linkType||"",w=e?.direction||"out";if(c&&y)try{S({projectName:r,sourceEntity:c,targetEntity:y,linkId:i,linkType:l,direction:w,isDelete:!0},{state:g,dispatch:t},d),await q}catch(n){console.error("Error patching entities during link deletion:",n);for(const a of d)a.undo();t(T.entityLinksApi.util.invalidateTags([{type:"link",id:`${r}-${c.entityType}`},{type:"link",id:`${r}-${y.entityType}`}]))}else console.warn("Source or target entity not provided for link deletion")}},createEntityLink:{transformErrorResponse:i=>i.data?.detail||"",async onQueryStarted({projectName:i,createLinkRequestModel:r,patch:e},{dispatch:t,getState:u,queryFulfilled:q}){const{linkType:g,id:d}=r,c=u();let y=[];const l=e?.source,w=l?.entityType,n=l?.entityId,a=e?.target,E=a?.entityType,I=a?.entityId,v=e?.direction||"out",L=g?.split("|")[0];try{if(l.entityType&&a){const p=A(w,n,i,t),k=A(E,I,i,t),b=await Promise.all([p,k]),o=b[0],s=b[1];if(!o||!s)throw new Error("Source or target entity data not found");if(!d)throw new Error("Link ID not found in cache entry");const $={entityType:w,entityId:n,name:o.name,label:"label"in o?o.label:void 0,parents:o.parents||[],subType:"subType"in o?o.subType:void 0},D={entityType:E,entityId:I,name:s.name,label:"label"in s?s.label:void 0,parents:s.parents||[],subType:"subType"in s?s.subType:void 0};S({projectName:i,sourceEntity:$,targetEntity:D,linkId:d,linkType:L,direction:v,isDelete:!1},{state:c,dispatch:t},y),await q}else throw console.warn("Source entity type not provided, falling back to task query"),new Error("Source entity type not provided")}catch(p){console.error(p);for(const k of y)k.undo();l&&a&&t(T.entityLinksApi.util.invalidateTags([{type:"link",id:`${i}-${l.entityType}`},{type:"link",id:`${i}-${a.entityType}`}]))}}}}}),{useDeleteEntityLinkMutation:h,useCreateEntityLinkMutation:M}=G;exports.useCreateEntityLinkMutation=M;exports.useDeleteEntityLinkMutation=h;
|
|
2
2
|
//# sourceMappingURL=updateLinks.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateLinks.cjs.js","sources":["../../../../../../src/api/queries/links/updateLinks.ts"],"sourcesContent":["import { gqlLinksApi, linksApi } from '@shared/api/generated'\nimport { RootState } from '@reduxjs/toolkit/query'\nimport { current, ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EntityLink, EntityWithLinks, entityLinksApi } from './getEntityLinks'\n\ntype Entity = {\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile'\n entityId: string\n name: string\n label?: string | null\n parents: string[]\n subType: string | undefined // Optional subtype for folders, products, versions\n}\n\n// Helper function to get entity data by type\nconst getEntityDataByType = async (\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile',\n entityId: string,\n projectName: string,\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n switch (entityType) {\n case 'task': {\n const resTask = await dispatch(\n gqlLinksApi.endpoints.GetTaskLinkData.initiate({\n projectName,\n taskId: entityId,\n }),\n ).unwrap()\n return resTask?.project.task\n }\n case 'folder': {\n const resFolder = await dispatch(\n gqlLinksApi.endpoints.GetFolderLinkData.initiate({\n projectName,\n folderId: entityId,\n }),\n ).unwrap()\n return resFolder?.project.folder\n }\n case 'product': {\n const resProduct = await dispatch(\n gqlLinksApi.endpoints.GetProductLinkData.initiate({\n projectName,\n productId: entityId,\n }),\n ).unwrap()\n return resProduct?.project.product\n }\n case 'version': {\n const resVersion = await dispatch(\n gqlLinksApi.endpoints.GetVersionLinkData.initiate({\n projectName,\n versionId: entityId,\n }),\n ).unwrap()\n return resVersion?.project.version\n }\n case 'representation': {\n const resRepresentation = await dispatch(\n gqlLinksApi.endpoints.GetRepresentationLinkData.initiate({\n projectName,\n representationId: entityId,\n }),\n ).unwrap()\n return resRepresentation?.project.representation\n }\n case 'workfile': {\n const resWorkfile = await dispatch(\n gqlLinksApi.endpoints.GetWorkfileLinkData.initiate({\n projectName,\n workfileId: entityId,\n }),\n ).unwrap()\n return resWorkfile?.project.workfile\n }\n default:\n throw new Error(`Unknown entity type: ${entityType}`)\n }\n}\n\n// Helper function to patch entity links cache for all entity types\nconst patchEntityLinksCache = (\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete = false,\n }: {\n projectName: string\n sourceEntity: Entity\n targetEntity: Entity\n linkId: string\n linkType: string\n direction: 'in' | 'out'\n isDelete?: boolean\n },\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches: any[] = [],\n) => {\n // Helper function to patch a single entity's links\n const patchEntityLinks = (\n entityToPatch: Entity,\n otherEntity: Entity,\n linkDirection: 'in' | 'out',\n ) => {\n // Get all cached query arguments for the getEntityLinks endpoint\n const cachedArgs = entityLinksApi.util.selectCachedArgsForQuery(state, 'getEntityLinks')\n\n // Filter for queries that match our project and entity type\n const relevantArgs = cachedArgs.filter(\n (args) => args.projectName === projectName && args.entityType === entityToPatch.entityType,\n )\n\n let entityFoundInAnyCache = false\n\n for (const args of relevantArgs) {\n try {\n const patch = dispatch(\n entityLinksApi.util.updateQueryData(\n 'getEntityLinks',\n args,\n (draft: EntityWithLinks[]) => {\n // Find the entity in the cache\n const entityInCache = draft.find((entity) => entity.id === entityToPatch.entityId)\n if (!entityInCache) {\n // Entity not in this specific cache, continue to next one\n return\n }\n\n entityFoundInAnyCache = true\n console.log(\n `Found and patching ${entityToPatch.entityType} ${entityToPatch.entityId} in cache`,\n )\n\n if (isDelete) {\n // Remove the link from the entity\n entityInCache.links = entityInCache.links.filter((link) => link.id !== linkId)\n } else {\n console.log(`Adding new link to ${entityToPatch.entityType}`)\n // Add the new link to the entity\n const newLink: EntityLink = {\n id: linkId,\n direction: linkDirection,\n linkType,\n entityType: otherEntity.entityType,\n node: {\n id: otherEntity.entityId,\n name: otherEntity.name,\n label: otherEntity.label,\n parents: otherEntity.parents,\n subType: otherEntity.subType,\n },\n }\n\n // Check if link already exists and update it, or add new one\n const existingLinkIndex = entityInCache.links.findIndex(\n (link) => link.id === linkId,\n )\n\n if (existingLinkIndex !== -1) {\n entityInCache.links[existingLinkIndex] = newLink\n } else {\n console.log(\n `Adding new link to ${entityToPatch.entityType} links cache`,\n newLink,\n current(entityInCache),\n )\n entityInCache.links.push(newLink)\n }\n }\n },\n ),\n )\n\n patches.push(patch)\n } catch (error) {\n console.error(`Error patching cache for ${entityToPatch.entityType}:`, error)\n }\n }\n\n // If entity was not found in any cache, handle based on context\n if (!entityFoundInAnyCache) {\n // For source entities (where user is creating the link from), we need to invalidate\n // to ensure the user sees the new link appear in the UI\n if (entityToPatch.entityId === sourceEntity.entityId) {\n console.warn(\n `Source ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - invalidating to refresh UI`,\n )\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${entityToPatch.entityType}` },\n ]),\n )\n } else {\n // For target entities, we can skip since they're not currently visible\n console.log(\n `Target ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - skipping patch (entity not currently visible)`,\n )\n // No action needed - when the entity is eventually loaded, it will have the correct links from the server\n }\n }\n }\n\n // Patch the source entity with the link\n patchEntityLinks(sourceEntity, targetEntity, direction)\n\n // Patch the target entity with the link (flip direction)\n const targetDirection = direction === 'in' ? 'out' : 'in'\n patchEntityLinks(targetEntity, sourceEntity, targetDirection)\n}\n\nconst enhancedApi = linksApi.enhanceEndpoints({\n endpoints: {\n deleteEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { linkId, projectName, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const state = getState()\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const targetEntity = patch?.target\n const linkType = patch?.linkType || ''\n const direction = patch?.direction || 'out'\n\n if (sourceEntity && targetEntity) {\n try {\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete: true,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish\n await queryFulfilled\n } catch (error) {\n console.error('Error patching entities during link deletion:', error)\n // Undo patches if there's an error\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n } else {\n console.warn('Source or target entity not provided for link deletion')\n }\n },\n },\n createEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { projectName, createLinkRequestModel, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const { linkType, id: linkId } = createLinkRequestModel\n const state = getState()\n\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const sourceEntityType = sourceEntity?.entityType\n const sourceEntityId = sourceEntity?.entityId\n const targetEntity = patch?.target\n const targetEntityType = targetEntity?.entityType\n const targetEntityId = targetEntity?.entityId\n const direction = patch?.direction || ('out' as 'in' | 'out')\n const linkTypeName = linkType?.split('|')[0] as string\n\n try {\n if (sourceEntity.entityType && targetEntity) {\n // Get the source entity data based on its type\n const sourcePromise = getEntityDataByType(\n sourceEntityType,\n sourceEntityId,\n projectName,\n dispatch,\n )\n\n const targetPromise = getEntityDataByType(\n targetEntityType,\n targetEntityId,\n projectName,\n dispatch,\n )\n\n // Wait for both cache data and source entity data to be loaded\n const res = await Promise.all([sourcePromise, targetPromise])\n const sourceEntityData = res[0]\n const targetEntityData = res[1]\n\n if (!sourceEntityData || !targetEntityData) {\n throw new Error('Source or target entity data not found')\n }\n\n if (!linkId) {\n throw new Error('Link ID not found in cache entry')\n }\n\n const sourceEntity: Entity = {\n entityType: sourceEntityType,\n entityId: sourceEntityId,\n name: sourceEntityData.name,\n label: 'label' in sourceEntityData ? sourceEntityData.label : undefined,\n parents: sourceEntityData.parents || [],\n subType: 'subType' in sourceEntityData ? sourceEntityData.subType : undefined,\n }\n\n const targetEntity: Entity = {\n entityType: targetEntityType,\n entityId: targetEntityId,\n name: targetEntityData.name,\n label: 'label' in targetEntityData ? targetEntityData.label : undefined,\n parents: targetEntityData.parents || [],\n subType: 'subType' in targetEntityData ? targetEntityData.subType : undefined,\n }\n\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType: linkTypeName,\n direction,\n isDelete: false,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish (undo patches if it fails)\n await queryFulfilled\n } else {\n console.warn('Source entity type not provided, falling back to task query')\n throw new Error('Source entity type not provided')\n }\n } catch (error) {\n console.error(error)\n\n // Undo patches if the mutation fails\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n if (sourceEntity && targetEntity) {\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n }\n },\n },\n },\n})\n\nexport const { useDeleteEntityLinkMutation, useCreateEntityLinkMutation } = enhancedApi\n"],"names":["getEntityDataByType","entityType","entityId","projectName","dispatch","gqlLinksApi","patchEntityLinksCache","sourceEntity","targetEntity","linkId","linkType","direction","isDelete","state","patches","patchEntityLinks","entityToPatch","otherEntity","linkDirection","relevantArgs","entityLinksApi","args","entityFoundInAnyCache","patch","draft","entityInCache","entity","link","newLink","existingLinkIndex","current","error","enhancedApi","linksApi","getState","queryFulfilled","createLinkRequestModel","sourceEntityType","sourceEntityId","targetEntityType","targetEntityId","linkTypeName","sourcePromise","targetPromise","res","sourceEntityData","targetEntityData","useDeleteEntityLinkMutation","useCreateEntityLinkMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateLinks.cjs.js","sources":["../../../../../../src/api/queries/links/updateLinks.ts"],"sourcesContent":["import { gqlLinksApi, linksApi } from '@shared/api/generated'\nimport { RootState } from '@reduxjs/toolkit/query'\nimport { current, ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EntityLink, EntityWithLinks, entityLinksApi } from './getEntityLinks'\n\ntype Entity = {\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile'\n entityId: string\n name: string\n label?: string | null\n parents: string[]\n subType: string | undefined // Optional subtype for folders, products, versions\n}\n\n// Helper function to get entity data by type\nconst getEntityDataByType = async (\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile',\n entityId: string,\n projectName: string,\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n switch (entityType) {\n case 'task': {\n const resTask = await dispatch(\n gqlLinksApi.endpoints.GetTaskLinkData.initiate({\n projectName,\n taskId: entityId,\n }),\n ).unwrap()\n return resTask?.project.task\n }\n case 'folder': {\n const resFolder = await dispatch(\n gqlLinksApi.endpoints.GetFolderLinkData.initiate({\n projectName,\n folderId: entityId,\n }),\n ).unwrap()\n return resFolder?.project.folder\n }\n case 'product': {\n const resProduct = await dispatch(\n gqlLinksApi.endpoints.GetProductLinkData.initiate({\n projectName,\n productId: entityId,\n }),\n ).unwrap()\n return resProduct?.project.product\n }\n case 'version': {\n const resVersion = await dispatch(\n gqlLinksApi.endpoints.GetVersionLinkData.initiate({\n projectName,\n versionId: entityId,\n }),\n ).unwrap()\n return resVersion?.project.version\n }\n case 'representation': {\n const resRepresentation = await dispatch(\n gqlLinksApi.endpoints.GetRepresentationLinkData.initiate({\n projectName,\n representationId: entityId,\n }),\n ).unwrap()\n return resRepresentation?.project.representation\n }\n case 'workfile': {\n const resWorkfile = await dispatch(\n gqlLinksApi.endpoints.GetWorkfileLinkData.initiate({\n projectName,\n workfileId: entityId,\n }),\n ).unwrap()\n return resWorkfile?.project.workfile\n }\n default:\n throw new Error(`Unknown entity type: ${entityType}`)\n }\n}\n\n// Helper function to patch entity links cache for all entity types\nconst patchEntityLinksCache = (\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete = false,\n }: {\n projectName: string\n sourceEntity: Entity\n targetEntity: Entity\n linkId: string\n linkType: string\n direction: 'in' | 'out'\n isDelete?: boolean\n },\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches: any[] = [],\n) => {\n // Helper function to patch a single entity's links\n const patchEntityLinks = (\n entityToPatch: Entity,\n otherEntity: Entity,\n linkDirection: 'in' | 'out',\n ) => {\n // Get all cached query arguments for the getEntityLinks endpoint\n const cachedArgs = entityLinksApi.util.selectCachedArgsForQuery(state, 'getEntityLinks')\n\n // Filter for queries that match our project and entity type\n const relevantArgs = cachedArgs.filter(\n (args) => args.projectName === projectName && args.entityType === entityToPatch.entityType,\n )\n\n let entityFoundInAnyCache = false\n\n for (const args of relevantArgs) {\n try {\n const patch = dispatch(\n entityLinksApi.util.updateQueryData(\n 'getEntityLinks',\n args,\n (draft: EntityWithLinks[]) => {\n // Find the entity in the cache\n const entityInCache = draft.find((entity) => entity.id === entityToPatch.entityId)\n if (!entityInCache) {\n // Entity not in this specific cache, continue to next one\n return\n }\n\n entityFoundInAnyCache = true\n console.log(\n `Found and patching ${entityToPatch.entityType} ${entityToPatch.entityId} in cache`,\n )\n\n if (isDelete) {\n // Remove the link from the entity\n entityInCache.links = entityInCache.links.filter((link) => link.id !== linkId)\n } else {\n console.log(`Adding new link to ${entityToPatch.entityType}`)\n // Add the new link to the entity\n const newLink: EntityLink = {\n id: linkId,\n direction: linkDirection,\n linkType,\n entityType: otherEntity.entityType,\n node: {\n id: otherEntity.entityId,\n name: otherEntity.name,\n label: otherEntity.label,\n parents: otherEntity.parents,\n subType: otherEntity.subType,\n },\n }\n\n // Check if link already exists and update it, or add new one\n const existingLinkIndex = entityInCache.links.findIndex(\n (link) => link.id === linkId,\n )\n\n if (existingLinkIndex !== -1) {\n entityInCache.links[existingLinkIndex] = newLink\n } else {\n console.log(\n `Adding new link to ${entityToPatch.entityType} links cache`,\n newLink,\n current(entityInCache),\n )\n entityInCache.links.push(newLink)\n }\n }\n },\n ),\n )\n\n patches.push(patch)\n } catch (error) {\n console.error(`Error patching cache for ${entityToPatch.entityType}:`, error)\n }\n }\n\n // If entity was not found in any cache, handle based on context\n if (!entityFoundInAnyCache) {\n // For source entities (where user is creating the link from), we need to invalidate\n // to ensure the user sees the new link appear in the UI\n if (entityToPatch.entityId === sourceEntity.entityId) {\n console.warn(\n `Source ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - invalidating to refresh UI`,\n )\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${entityToPatch.entityType}` },\n ]),\n )\n } else {\n // For target entities, we can skip since they're not currently visible\n console.log(\n `Target ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - skipping patch (entity not currently visible)`,\n )\n // No action needed - when the entity is eventually loaded, it will have the correct links from the server\n }\n }\n }\n\n // Patch the source entity with the link\n patchEntityLinks(sourceEntity, targetEntity, direction)\n\n // Patch the target entity with the link (flip direction)\n const targetDirection = direction === 'in' ? 'out' : 'in'\n patchEntityLinks(targetEntity, sourceEntity, targetDirection)\n}\n\nconst enhancedApi = linksApi.enhanceEndpoints({\n endpoints: {\n deleteEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { linkId, projectName, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const state = getState()\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const targetEntity = patch?.target\n const linkType = patch?.linkType || ''\n const direction = patch?.direction || 'out'\n\n if (sourceEntity && targetEntity) {\n try {\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete: true,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish\n await queryFulfilled\n } catch (error) {\n console.error('Error patching entities during link deletion:', error)\n // Undo patches if there's an error\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n } else {\n console.warn('Source or target entity not provided for link deletion')\n }\n },\n },\n createEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { projectName, createLinkRequestModel, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const { linkType, id: linkId } = createLinkRequestModel\n const state = getState()\n\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const sourceEntityType = sourceEntity?.entityType\n const sourceEntityId = sourceEntity?.entityId\n const targetEntity = patch?.target\n const targetEntityType = targetEntity?.entityType\n const targetEntityId = targetEntity?.entityId\n const direction = patch?.direction || ('out' as 'in' | 'out')\n const linkTypeName = linkType?.split('|')[0] as string\n\n try {\n if (sourceEntity.entityType && targetEntity) {\n // Get the source entity data based on its type\n const sourcePromise = getEntityDataByType(\n sourceEntityType,\n sourceEntityId,\n projectName,\n dispatch,\n )\n\n const targetPromise = getEntityDataByType(\n targetEntityType,\n targetEntityId,\n projectName,\n dispatch,\n )\n\n // Wait for both cache data and source entity data to be loaded\n const res = await Promise.all([sourcePromise, targetPromise])\n const sourceEntityData = res[0]\n const targetEntityData = res[1]\n\n if (!sourceEntityData || !targetEntityData) {\n throw new Error('Source or target entity data not found')\n }\n\n if (!linkId) {\n throw new Error('Link ID not found in cache entry')\n }\n\n const sourceEntity: Entity = {\n entityType: sourceEntityType,\n entityId: sourceEntityId,\n name: sourceEntityData.name,\n label: 'label' in sourceEntityData ? sourceEntityData.label : undefined,\n parents: sourceEntityData.parents || [],\n subType: 'subType' in sourceEntityData ? sourceEntityData.subType : undefined,\n }\n\n const targetEntity: Entity = {\n entityType: targetEntityType,\n entityId: targetEntityId,\n name: targetEntityData.name,\n label: 'label' in targetEntityData ? targetEntityData.label : undefined,\n parents: targetEntityData.parents || [],\n subType: 'subType' in targetEntityData ? targetEntityData.subType : undefined,\n }\n\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType: linkTypeName,\n direction,\n isDelete: false,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish (undo patches if it fails)\n await queryFulfilled\n } else {\n console.warn('Source entity type not provided, falling back to task query')\n throw new Error('Source entity type not provided')\n }\n } catch (error) {\n console.error(error)\n\n // Undo patches if the mutation fails\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n if (sourceEntity && targetEntity) {\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n }\n },\n },\n },\n})\n\nexport const { useDeleteEntityLinkMutation, useCreateEntityLinkMutation } = enhancedApi\n"],"names":["getEntityDataByType","entityType","entityId","projectName","dispatch","gqlLinksApi","patchEntityLinksCache","sourceEntity","targetEntity","linkId","linkType","direction","isDelete","state","patches","patchEntityLinks","entityToPatch","otherEntity","linkDirection","relevantArgs","entityLinksApi","args","entityFoundInAnyCache","patch","draft","entityInCache","entity","link","newLink","existingLinkIndex","current","error","enhancedApi","linksApi","getState","queryFulfilled","createLinkRequestModel","sourceEntityType","sourceEntityId","targetEntityType","targetEntityId","linkTypeName","sourcePromise","targetPromise","res","sourceEntityData","targetEntityData","useDeleteEntityLinkMutation","useCreateEntityLinkMutation"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../../base/client.es.js";
|
|
2
2
|
import "../../generated/graphql.es.js";
|
|
3
|
-
import { api as
|
|
3
|
+
import { api as f } from "../../generated/graphqlLinks.es.js";
|
|
4
4
|
import "../../generated/access.es.js";
|
|
5
5
|
import "../../generated/actions.es.js";
|
|
6
6
|
import "../../generated/activityFeed.es.js";
|
|
@@ -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";
|
|
@@ -42,42 +43,42 @@ const A = async (i, r, t, e) => {
|
|
|
42
43
|
switch (i) {
|
|
43
44
|
case "task":
|
|
44
45
|
return (await e(
|
|
45
|
-
|
|
46
|
+
f.endpoints.GetTaskLinkData.initiate({
|
|
46
47
|
projectName: t,
|
|
47
48
|
taskId: r
|
|
48
49
|
})
|
|
49
50
|
).unwrap())?.project.task;
|
|
50
51
|
case "folder":
|
|
51
52
|
return (await e(
|
|
52
|
-
|
|
53
|
+
f.endpoints.GetFolderLinkData.initiate({
|
|
53
54
|
projectName: t,
|
|
54
55
|
folderId: r
|
|
55
56
|
})
|
|
56
57
|
).unwrap())?.project.folder;
|
|
57
58
|
case "product":
|
|
58
59
|
return (await e(
|
|
59
|
-
|
|
60
|
+
f.endpoints.GetProductLinkData.initiate({
|
|
60
61
|
projectName: t,
|
|
61
62
|
productId: r
|
|
62
63
|
})
|
|
63
64
|
).unwrap())?.project.product;
|
|
64
65
|
case "version":
|
|
65
66
|
return (await e(
|
|
66
|
-
|
|
67
|
+
f.endpoints.GetVersionLinkData.initiate({
|
|
67
68
|
projectName: t,
|
|
68
69
|
versionId: r
|
|
69
70
|
})
|
|
70
71
|
).unwrap())?.project.version;
|
|
71
72
|
case "representation":
|
|
72
73
|
return (await e(
|
|
73
|
-
|
|
74
|
+
f.endpoints.GetRepresentationLinkData.initiate({
|
|
74
75
|
projectName: t,
|
|
75
76
|
representationId: r
|
|
76
77
|
})
|
|
77
78
|
).unwrap())?.project.representation;
|
|
78
79
|
case "workfile":
|
|
79
80
|
return (await e(
|
|
80
|
-
|
|
81
|
+
f.endpoints.GetWorkfileLinkData.initiate({
|
|
81
82
|
projectName: t,
|
|
82
83
|
workfileId: r
|
|
83
84
|
})
|
|
@@ -91,7 +92,7 @@ const A = async (i, r, t, e) => {
|
|
|
91
92
|
targetEntity: t,
|
|
92
93
|
linkId: e,
|
|
93
94
|
linkType: p,
|
|
94
|
-
direction:
|
|
95
|
+
direction: m,
|
|
95
96
|
isDelete: g = !1
|
|
96
97
|
}, {
|
|
97
98
|
state: u,
|
|
@@ -155,12 +156,12 @@ const A = async (i, r, t, e) => {
|
|
|
155
156
|
`Target ${n.entityType} ${n.entityId} not in cache - skipping patch (entity not currently visible)`
|
|
156
157
|
));
|
|
157
158
|
};
|
|
158
|
-
c(r, t,
|
|
159
|
+
c(r, t, m), c(t, r, m === "in" ? "out" : "in");
|
|
159
160
|
}, G = S.enhanceEndpoints({
|
|
160
161
|
endpoints: {
|
|
161
162
|
deleteEntityLink: {
|
|
162
163
|
transformErrorResponse: (i) => i.data?.detail || "",
|
|
163
|
-
async onQueryStarted({ linkId: i, projectName: r, patch: t }, { dispatch: e, getState: p, queryFulfilled:
|
|
164
|
+
async onQueryStarted({ linkId: i, projectName: r, patch: t }, { dispatch: e, getState: p, queryFulfilled: m }) {
|
|
164
165
|
const g = p();
|
|
165
166
|
let u = [];
|
|
166
167
|
const l = t?.source, y = t?.target, c = t?.linkType || "", w = t?.direction || "out";
|
|
@@ -178,7 +179,7 @@ const A = async (i, r, t, e) => {
|
|
|
178
179
|
},
|
|
179
180
|
{ state: g, dispatch: e },
|
|
180
181
|
u
|
|
181
|
-
), await
|
|
182
|
+
), await m;
|
|
182
183
|
} catch (n) {
|
|
183
184
|
console.error("Error patching entities during link deletion:", n);
|
|
184
185
|
for (const a of u)
|
|
@@ -196,7 +197,7 @@ const A = async (i, r, t, e) => {
|
|
|
196
197
|
},
|
|
197
198
|
createEntityLink: {
|
|
198
199
|
transformErrorResponse: (i) => i.data?.detail || "",
|
|
199
|
-
async onQueryStarted({ projectName: i, createLinkRequestModel: r, patch: t }, { dispatch: e, getState: p, queryFulfilled:
|
|
200
|
+
async onQueryStarted({ projectName: i, createLinkRequestModel: r, patch: t }, { dispatch: e, getState: p, queryFulfilled: m }) {
|
|
200
201
|
const { linkType: g, id: u } = r, l = p();
|
|
201
202
|
let y = [];
|
|
202
203
|
const c = t?.source, w = c?.entityType, n = c?.entityId, a = t?.target, E = a?.entityType, L = a?.entityId, v = t?.direction || "out", $ = g?.split("|")[0];
|
|
@@ -244,7 +245,7 @@ const A = async (i, r, t, e) => {
|
|
|
244
245
|
},
|
|
245
246
|
{ state: l, dispatch: e },
|
|
246
247
|
y
|
|
247
|
-
), await
|
|
248
|
+
), await m;
|
|
248
249
|
} else
|
|
249
250
|
throw console.warn("Source entity type not provided, falling back to task query"), new Error("Source entity type not provided");
|
|
250
251
|
} catch (d) {
|
|
@@ -261,9 +262,9 @@ const A = async (i, r, t, e) => {
|
|
|
261
262
|
}
|
|
262
263
|
}
|
|
263
264
|
}
|
|
264
|
-
}), { useDeleteEntityLinkMutation:
|
|
265
|
+
}), { useDeleteEntityLinkMutation: Tt, useCreateEntityLinkMutation: Et } = G;
|
|
265
266
|
export {
|
|
266
|
-
|
|
267
|
-
|
|
267
|
+
Et as useCreateEntityLinkMutation,
|
|
268
|
+
Tt as useDeleteEntityLinkMutation
|
|
268
269
|
};
|
|
269
270
|
//# sourceMappingURL=updateLinks.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateLinks.es.js","sources":["../../../../../../src/api/queries/links/updateLinks.ts"],"sourcesContent":["import { gqlLinksApi, linksApi } from '@shared/api/generated'\nimport { RootState } from '@reduxjs/toolkit/query'\nimport { current, ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EntityLink, EntityWithLinks, entityLinksApi } from './getEntityLinks'\n\ntype Entity = {\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile'\n entityId: string\n name: string\n label?: string | null\n parents: string[]\n subType: string | undefined // Optional subtype for folders, products, versions\n}\n\n// Helper function to get entity data by type\nconst getEntityDataByType = async (\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile',\n entityId: string,\n projectName: string,\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n switch (entityType) {\n case 'task': {\n const resTask = await dispatch(\n gqlLinksApi.endpoints.GetTaskLinkData.initiate({\n projectName,\n taskId: entityId,\n }),\n ).unwrap()\n return resTask?.project.task\n }\n case 'folder': {\n const resFolder = await dispatch(\n gqlLinksApi.endpoints.GetFolderLinkData.initiate({\n projectName,\n folderId: entityId,\n }),\n ).unwrap()\n return resFolder?.project.folder\n }\n case 'product': {\n const resProduct = await dispatch(\n gqlLinksApi.endpoints.GetProductLinkData.initiate({\n projectName,\n productId: entityId,\n }),\n ).unwrap()\n return resProduct?.project.product\n }\n case 'version': {\n const resVersion = await dispatch(\n gqlLinksApi.endpoints.GetVersionLinkData.initiate({\n projectName,\n versionId: entityId,\n }),\n ).unwrap()\n return resVersion?.project.version\n }\n case 'representation': {\n const resRepresentation = await dispatch(\n gqlLinksApi.endpoints.GetRepresentationLinkData.initiate({\n projectName,\n representationId: entityId,\n }),\n ).unwrap()\n return resRepresentation?.project.representation\n }\n case 'workfile': {\n const resWorkfile = await dispatch(\n gqlLinksApi.endpoints.GetWorkfileLinkData.initiate({\n projectName,\n workfileId: entityId,\n }),\n ).unwrap()\n return resWorkfile?.project.workfile\n }\n default:\n throw new Error(`Unknown entity type: ${entityType}`)\n }\n}\n\n// Helper function to patch entity links cache for all entity types\nconst patchEntityLinksCache = (\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete = false,\n }: {\n projectName: string\n sourceEntity: Entity\n targetEntity: Entity\n linkId: string\n linkType: string\n direction: 'in' | 'out'\n isDelete?: boolean\n },\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches: any[] = [],\n) => {\n // Helper function to patch a single entity's links\n const patchEntityLinks = (\n entityToPatch: Entity,\n otherEntity: Entity,\n linkDirection: 'in' | 'out',\n ) => {\n // Get all cached query arguments for the getEntityLinks endpoint\n const cachedArgs = entityLinksApi.util.selectCachedArgsForQuery(state, 'getEntityLinks')\n\n // Filter for queries that match our project and entity type\n const relevantArgs = cachedArgs.filter(\n (args) => args.projectName === projectName && args.entityType === entityToPatch.entityType,\n )\n\n let entityFoundInAnyCache = false\n\n for (const args of relevantArgs) {\n try {\n const patch = dispatch(\n entityLinksApi.util.updateQueryData(\n 'getEntityLinks',\n args,\n (draft: EntityWithLinks[]) => {\n // Find the entity in the cache\n const entityInCache = draft.find((entity) => entity.id === entityToPatch.entityId)\n if (!entityInCache) {\n // Entity not in this specific cache, continue to next one\n return\n }\n\n entityFoundInAnyCache = true\n console.log(\n `Found and patching ${entityToPatch.entityType} ${entityToPatch.entityId} in cache`,\n )\n\n if (isDelete) {\n // Remove the link from the entity\n entityInCache.links = entityInCache.links.filter((link) => link.id !== linkId)\n } else {\n console.log(`Adding new link to ${entityToPatch.entityType}`)\n // Add the new link to the entity\n const newLink: EntityLink = {\n id: linkId,\n direction: linkDirection,\n linkType,\n entityType: otherEntity.entityType,\n node: {\n id: otherEntity.entityId,\n name: otherEntity.name,\n label: otherEntity.label,\n parents: otherEntity.parents,\n subType: otherEntity.subType,\n },\n }\n\n // Check if link already exists and update it, or add new one\n const existingLinkIndex = entityInCache.links.findIndex(\n (link) => link.id === linkId,\n )\n\n if (existingLinkIndex !== -1) {\n entityInCache.links[existingLinkIndex] = newLink\n } else {\n console.log(\n `Adding new link to ${entityToPatch.entityType} links cache`,\n newLink,\n current(entityInCache),\n )\n entityInCache.links.push(newLink)\n }\n }\n },\n ),\n )\n\n patches.push(patch)\n } catch (error) {\n console.error(`Error patching cache for ${entityToPatch.entityType}:`, error)\n }\n }\n\n // If entity was not found in any cache, handle based on context\n if (!entityFoundInAnyCache) {\n // For source entities (where user is creating the link from), we need to invalidate\n // to ensure the user sees the new link appear in the UI\n if (entityToPatch.entityId === sourceEntity.entityId) {\n console.warn(\n `Source ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - invalidating to refresh UI`,\n )\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${entityToPatch.entityType}` },\n ]),\n )\n } else {\n // For target entities, we can skip since they're not currently visible\n console.log(\n `Target ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - skipping patch (entity not currently visible)`,\n )\n // No action needed - when the entity is eventually loaded, it will have the correct links from the server\n }\n }\n }\n\n // Patch the source entity with the link\n patchEntityLinks(sourceEntity, targetEntity, direction)\n\n // Patch the target entity with the link (flip direction)\n const targetDirection = direction === 'in' ? 'out' : 'in'\n patchEntityLinks(targetEntity, sourceEntity, targetDirection)\n}\n\nconst enhancedApi = linksApi.enhanceEndpoints({\n endpoints: {\n deleteEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { linkId, projectName, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const state = getState()\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const targetEntity = patch?.target\n const linkType = patch?.linkType || ''\n const direction = patch?.direction || 'out'\n\n if (sourceEntity && targetEntity) {\n try {\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete: true,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish\n await queryFulfilled\n } catch (error) {\n console.error('Error patching entities during link deletion:', error)\n // Undo patches if there's an error\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n } else {\n console.warn('Source or target entity not provided for link deletion')\n }\n },\n },\n createEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { projectName, createLinkRequestModel, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const { linkType, id: linkId } = createLinkRequestModel\n const state = getState()\n\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const sourceEntityType = sourceEntity?.entityType\n const sourceEntityId = sourceEntity?.entityId\n const targetEntity = patch?.target\n const targetEntityType = targetEntity?.entityType\n const targetEntityId = targetEntity?.entityId\n const direction = patch?.direction || ('out' as 'in' | 'out')\n const linkTypeName = linkType?.split('|')[0] as string\n\n try {\n if (sourceEntity.entityType && targetEntity) {\n // Get the source entity data based on its type\n const sourcePromise = getEntityDataByType(\n sourceEntityType,\n sourceEntityId,\n projectName,\n dispatch,\n )\n\n const targetPromise = getEntityDataByType(\n targetEntityType,\n targetEntityId,\n projectName,\n dispatch,\n )\n\n // Wait for both cache data and source entity data to be loaded\n const res = await Promise.all([sourcePromise, targetPromise])\n const sourceEntityData = res[0]\n const targetEntityData = res[1]\n\n if (!sourceEntityData || !targetEntityData) {\n throw new Error('Source or target entity data not found')\n }\n\n if (!linkId) {\n throw new Error('Link ID not found in cache entry')\n }\n\n const sourceEntity: Entity = {\n entityType: sourceEntityType,\n entityId: sourceEntityId,\n name: sourceEntityData.name,\n label: 'label' in sourceEntityData ? sourceEntityData.label : undefined,\n parents: sourceEntityData.parents || [],\n subType: 'subType' in sourceEntityData ? sourceEntityData.subType : undefined,\n }\n\n const targetEntity: Entity = {\n entityType: targetEntityType,\n entityId: targetEntityId,\n name: targetEntityData.name,\n label: 'label' in targetEntityData ? targetEntityData.label : undefined,\n parents: targetEntityData.parents || [],\n subType: 'subType' in targetEntityData ? targetEntityData.subType : undefined,\n }\n\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType: linkTypeName,\n direction,\n isDelete: false,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish (undo patches if it fails)\n await queryFulfilled\n } else {\n console.warn('Source entity type not provided, falling back to task query')\n throw new Error('Source entity type not provided')\n }\n } catch (error) {\n console.error(error)\n\n // Undo patches if the mutation fails\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n if (sourceEntity && targetEntity) {\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n }\n },\n },\n },\n})\n\nexport const { useDeleteEntityLinkMutation, useCreateEntityLinkMutation } = enhancedApi\n"],"names":["getEntityDataByType","entityType","entityId","projectName","dispatch","gqlLinksApi","patchEntityLinksCache","sourceEntity","targetEntity","linkId","linkType","direction","isDelete","state","patches","patchEntityLinks","entityToPatch","otherEntity","linkDirection","relevantArgs","entityLinksApi","args","entityFoundInAnyCache","patch","draft","entityInCache","entity","link","newLink","existingLinkIndex","current","error","enhancedApi","linksApi","getState","queryFulfilled","createLinkRequestModel","sourceEntityType","sourceEntityId","targetEntityType","targetEntityId","linkTypeName","sourcePromise","targetPromise","res","sourceEntityData","targetEntityData","useDeleteEntityLinkMutation","useCreateEntityLinkMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateLinks.es.js","sources":["../../../../../../src/api/queries/links/updateLinks.ts"],"sourcesContent":["import { gqlLinksApi, linksApi } from '@shared/api/generated'\nimport { RootState } from '@reduxjs/toolkit/query'\nimport { current, ThunkDispatch, UnknownAction } from '@reduxjs/toolkit'\nimport { EntityLink, EntityWithLinks, entityLinksApi } from './getEntityLinks'\n\ntype Entity = {\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile'\n entityId: string\n name: string\n label?: string | null\n parents: string[]\n subType: string | undefined // Optional subtype for folders, products, versions\n}\n\n// Helper function to get entity data by type\nconst getEntityDataByType = async (\n entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile',\n entityId: string,\n projectName: string,\n dispatch: ThunkDispatch<any, any, UnknownAction>,\n) => {\n switch (entityType) {\n case 'task': {\n const resTask = await dispatch(\n gqlLinksApi.endpoints.GetTaskLinkData.initiate({\n projectName,\n taskId: entityId,\n }),\n ).unwrap()\n return resTask?.project.task\n }\n case 'folder': {\n const resFolder = await dispatch(\n gqlLinksApi.endpoints.GetFolderLinkData.initiate({\n projectName,\n folderId: entityId,\n }),\n ).unwrap()\n return resFolder?.project.folder\n }\n case 'product': {\n const resProduct = await dispatch(\n gqlLinksApi.endpoints.GetProductLinkData.initiate({\n projectName,\n productId: entityId,\n }),\n ).unwrap()\n return resProduct?.project.product\n }\n case 'version': {\n const resVersion = await dispatch(\n gqlLinksApi.endpoints.GetVersionLinkData.initiate({\n projectName,\n versionId: entityId,\n }),\n ).unwrap()\n return resVersion?.project.version\n }\n case 'representation': {\n const resRepresentation = await dispatch(\n gqlLinksApi.endpoints.GetRepresentationLinkData.initiate({\n projectName,\n representationId: entityId,\n }),\n ).unwrap()\n return resRepresentation?.project.representation\n }\n case 'workfile': {\n const resWorkfile = await dispatch(\n gqlLinksApi.endpoints.GetWorkfileLinkData.initiate({\n projectName,\n workfileId: entityId,\n }),\n ).unwrap()\n return resWorkfile?.project.workfile\n }\n default:\n throw new Error(`Unknown entity type: ${entityType}`)\n }\n}\n\n// Helper function to patch entity links cache for all entity types\nconst patchEntityLinksCache = (\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete = false,\n }: {\n projectName: string\n sourceEntity: Entity\n targetEntity: Entity\n linkId: string\n linkType: string\n direction: 'in' | 'out'\n isDelete?: boolean\n },\n {\n state,\n dispatch,\n }: {\n state: RootState<any, any, 'restApi'>\n dispatch: ThunkDispatch<any, any, UnknownAction>\n },\n patches: any[] = [],\n) => {\n // Helper function to patch a single entity's links\n const patchEntityLinks = (\n entityToPatch: Entity,\n otherEntity: Entity,\n linkDirection: 'in' | 'out',\n ) => {\n // Get all cached query arguments for the getEntityLinks endpoint\n const cachedArgs = entityLinksApi.util.selectCachedArgsForQuery(state, 'getEntityLinks')\n\n // Filter for queries that match our project and entity type\n const relevantArgs = cachedArgs.filter(\n (args) => args.projectName === projectName && args.entityType === entityToPatch.entityType,\n )\n\n let entityFoundInAnyCache = false\n\n for (const args of relevantArgs) {\n try {\n const patch = dispatch(\n entityLinksApi.util.updateQueryData(\n 'getEntityLinks',\n args,\n (draft: EntityWithLinks[]) => {\n // Find the entity in the cache\n const entityInCache = draft.find((entity) => entity.id === entityToPatch.entityId)\n if (!entityInCache) {\n // Entity not in this specific cache, continue to next one\n return\n }\n\n entityFoundInAnyCache = true\n console.log(\n `Found and patching ${entityToPatch.entityType} ${entityToPatch.entityId} in cache`,\n )\n\n if (isDelete) {\n // Remove the link from the entity\n entityInCache.links = entityInCache.links.filter((link) => link.id !== linkId)\n } else {\n console.log(`Adding new link to ${entityToPatch.entityType}`)\n // Add the new link to the entity\n const newLink: EntityLink = {\n id: linkId,\n direction: linkDirection,\n linkType,\n entityType: otherEntity.entityType,\n node: {\n id: otherEntity.entityId,\n name: otherEntity.name,\n label: otherEntity.label,\n parents: otherEntity.parents,\n subType: otherEntity.subType,\n },\n }\n\n // Check if link already exists and update it, or add new one\n const existingLinkIndex = entityInCache.links.findIndex(\n (link) => link.id === linkId,\n )\n\n if (existingLinkIndex !== -1) {\n entityInCache.links[existingLinkIndex] = newLink\n } else {\n console.log(\n `Adding new link to ${entityToPatch.entityType} links cache`,\n newLink,\n current(entityInCache),\n )\n entityInCache.links.push(newLink)\n }\n }\n },\n ),\n )\n\n patches.push(patch)\n } catch (error) {\n console.error(`Error patching cache for ${entityToPatch.entityType}:`, error)\n }\n }\n\n // If entity was not found in any cache, handle based on context\n if (!entityFoundInAnyCache) {\n // For source entities (where user is creating the link from), we need to invalidate\n // to ensure the user sees the new link appear in the UI\n if (entityToPatch.entityId === sourceEntity.entityId) {\n console.warn(\n `Source ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - invalidating to refresh UI`,\n )\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${entityToPatch.entityType}` },\n ]),\n )\n } else {\n // For target entities, we can skip since they're not currently visible\n console.log(\n `Target ${entityToPatch.entityType} ${entityToPatch.entityId} not in cache - skipping patch (entity not currently visible)`,\n )\n // No action needed - when the entity is eventually loaded, it will have the correct links from the server\n }\n }\n }\n\n // Patch the source entity with the link\n patchEntityLinks(sourceEntity, targetEntity, direction)\n\n // Patch the target entity with the link (flip direction)\n const targetDirection = direction === 'in' ? 'out' : 'in'\n patchEntityLinks(targetEntity, sourceEntity, targetDirection)\n}\n\nconst enhancedApi = linksApi.enhanceEndpoints({\n endpoints: {\n deleteEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { linkId, projectName, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const state = getState()\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const targetEntity = patch?.target\n const linkType = patch?.linkType || ''\n const direction = patch?.direction || 'out'\n\n if (sourceEntity && targetEntity) {\n try {\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType,\n direction,\n isDelete: true,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish\n await queryFulfilled\n } catch (error) {\n console.error('Error patching entities during link deletion:', error)\n // Undo patches if there's an error\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n } else {\n console.warn('Source or target entity not provided for link deletion')\n }\n },\n },\n createEntityLink: {\n transformErrorResponse: (error: any) => error.data?.detail || '',\n async onQueryStarted(\n // @ts-ignore - patch is purely used for patching the entities\n { projectName, createLinkRequestModel, patch },\n { dispatch, getState, queryFulfilled },\n ) {\n const { linkType, id: linkId } = createLinkRequestModel\n const state = getState()\n\n let patches: any[] = []\n\n const sourceEntity = patch?.source\n const sourceEntityType = sourceEntity?.entityType\n const sourceEntityId = sourceEntity?.entityId\n const targetEntity = patch?.target\n const targetEntityType = targetEntity?.entityType\n const targetEntityId = targetEntity?.entityId\n const direction = patch?.direction || ('out' as 'in' | 'out')\n const linkTypeName = linkType?.split('|')[0] as string\n\n try {\n if (sourceEntity.entityType && targetEntity) {\n // Get the source entity data based on its type\n const sourcePromise = getEntityDataByType(\n sourceEntityType,\n sourceEntityId,\n projectName,\n dispatch,\n )\n\n const targetPromise = getEntityDataByType(\n targetEntityType,\n targetEntityId,\n projectName,\n dispatch,\n )\n\n // Wait for both cache data and source entity data to be loaded\n const res = await Promise.all([sourcePromise, targetPromise])\n const sourceEntityData = res[0]\n const targetEntityData = res[1]\n\n if (!sourceEntityData || !targetEntityData) {\n throw new Error('Source or target entity data not found')\n }\n\n if (!linkId) {\n throw new Error('Link ID not found in cache entry')\n }\n\n const sourceEntity: Entity = {\n entityType: sourceEntityType,\n entityId: sourceEntityId,\n name: sourceEntityData.name,\n label: 'label' in sourceEntityData ? sourceEntityData.label : undefined,\n parents: sourceEntityData.parents || [],\n subType: 'subType' in sourceEntityData ? sourceEntityData.subType : undefined,\n }\n\n const targetEntity: Entity = {\n entityType: targetEntityType,\n entityId: targetEntityId,\n name: targetEntityData.name,\n label: 'label' in targetEntityData ? targetEntityData.label : undefined,\n parents: targetEntityData.parents || [],\n subType: 'subType' in targetEntityData ? targetEntityData.subType : undefined,\n }\n\n // Update entity links cache for both entities\n patchEntityLinksCache(\n {\n projectName,\n sourceEntity,\n targetEntity,\n linkId,\n linkType: linkTypeName,\n direction,\n isDelete: false,\n },\n { state, dispatch },\n patches,\n )\n\n // Wait for the mutation to finish (undo patches if it fails)\n await queryFulfilled\n } else {\n console.warn('Source entity type not provided, falling back to task query')\n throw new Error('Source entity type not provided')\n }\n } catch (error) {\n console.error(error)\n\n // Undo patches if the mutation fails\n for (const patch of patches) {\n patch.undo()\n }\n\n // Invalidate entity links queries as fallback\n if (sourceEntity && targetEntity) {\n dispatch(\n entityLinksApi.util.invalidateTags([\n { type: 'link', id: `${projectName}-${sourceEntity.entityType}` },\n { type: 'link', id: `${projectName}-${targetEntity.entityType}` },\n ]),\n )\n }\n }\n },\n },\n },\n})\n\nexport const { useDeleteEntityLinkMutation, useCreateEntityLinkMutation } = enhancedApi\n"],"names":["getEntityDataByType","entityType","entityId","projectName","dispatch","gqlLinksApi","patchEntityLinksCache","sourceEntity","targetEntity","linkId","linkType","direction","isDelete","state","patches","patchEntityLinks","entityToPatch","otherEntity","linkDirection","relevantArgs","entityLinksApi","args","entityFoundInAnyCache","patch","draft","entityInCache","entity","link","newLink","existingLinkIndex","current","error","enhancedApi","linksApi","getState","queryFulfilled","createLinkRequestModel","sourceEntityType","sourceEntityId","targetEntityType","targetEntityId","linkTypeName","sourcePromise","targetPromise","res","sourceEntityData","targetEntityData","useDeleteEntityLinkMutation","useCreateEntityLinkMutation"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const G=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");const F=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");require("lodash");require("react-toastify");require("uuid");const A=require("../../../util/pubsub.cjs.js"),_=u=>{try{return JSON.parse(u)}catch{return{}}},w=u=>{if(!u.project)return[];const s=[];for(const{node:e}of u.project.tasks.edges)s.push({...e,folderId:e.folderId||"root",attrib:_(e.allAttrib),entityId:e.id,entityType:"task",links:[]});return s},b=(u=[],s,e)=>{const t=u?.map(o=>({type:"overviewTask",id:o.id}))||[],a=e?(Array.isArray(e)?e:[e]).map(o=>({type:"overviewTask",id:o})):[];return[...t,...a,{type:"overviewTask",id:s},{type:"overviewTask",id:"LIST"}]},P=G.api.enhanceEndpoints({endpoints:{GetTasksByParent:{transformResponse:w,providesTags:(u,s,{parentIds:e,projectName:t})=>b(u,t,e)},GetTasksList:{transformResponse:u=>({tasks:w(u),pageInfo:u.project.tasks.pageInfo}),providesTags:(u,s,{projectName:e})=>b(u?.tasks||[],e)}}}),L=F.api.enhanceEndpoints({endpoints:{searchFolders:{}}}),E=100,N=P.injectEndpoints({endpoints:u=>({getOverviewTasksByFolders:u.query({async queryFn({projectName:s,parentIds:e,filter:t,folderFilter:a,search:o},{dispatch:g,forced:y}){try{const h=[];for(let i=0;i<e.length;i+=20){const k=e.slice(i,i+20),r=(await Promise.all(k.map(async n=>g(P.endpoints.GetTasksByParent.initiate({projectName:s,parentIds:[n],filter:t,folderFilter:a,search:o},{forceRefetch:y}))))).filter(n=>!!n.data).flatMap(n=>n.data);h.push(...r)}return{data:h}}catch(I){return console.error(I),{error:{status:"FETCH_ERROR",error:I.message}}}},serializeQueryArgs:({queryArgs:{parentIds:s,...e}})=>({...e}),forceRefetch({currentArg:s,previousArg:e}){return JSON.stringify(s)!==JSON.stringify(e)},providesTags:(s,e,{parentIds:t,projectName:a})=>b(s,a,t),async onCacheEntryAdded({projectName:s,parentIds:e,filter:t,search:a},{cacheDataLoaded:o,cacheEntryRemoved:g,updateCachedData:y,dispatch:I}){let h;const i=new Set,k=100,d=500;let r=!1;const n=()=>{r||(r=!0,setTimeout(T,d))},T=async()=>{if(r=!1,!i.size)return;const f=Array.from(i).slice(0,k);f.forEach(l=>i.delete(l));try{const p=(await I(P.endpoints.GetTasksList.initiate({projectName:s,taskIds:f},{forceRefetch:!0})).unwrap()).tasks||[],q=new Map(p.map(c=>[c.id,c]));y(c=>{for(const m of p){const v=c.findIndex(R=>R.id===m.id);v>-1?c[v]=m:c.push(m)}for(const m of f)if(!q.has(m)){const v=c.findIndex(R=>R.id===m);v>-1&&c.splice(v,1)}})}catch(l){console.error("Realtime overview batch update failed",l)}finally{i.size&&n()}};try{await o;const f=async(l,p)=>{const q=p?.summary?.entityId,c=p?.summary?.parentId;!q||!c||e.includes(c)&&(i.add(q),n())};h=A.subscribe("entity.task",f)}catch{}await g,h&&A.unsubscribe(h)}}),getSearchFolders:u.query({async queryFn({projectName:s,folderSearchRequest:e},{dispatch:t}){try{return{data:(await t(L.endpoints.searchFolders.initiate({projectName:s,folderSearchRequest:e}))).data?.folderIds||[]}}catch(a){return console.error(a),{error:{status:"FETCH_ERROR",error:a.message}}}}}),getTasksListInfinite:u.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(s,e,t,a)=>{const o=s.pageInfo;if(!(!(t.desc?o.hasPreviousPage:o.hasNextPage)||!o.endCursor))return{cursor:o.endCursor,desc:t.desc}}},queryFn:async({queryArg:s,pageParam:e},t)=>{try{const{projectName:a,filter:o,folderFilter:g,search:y,folderIds:I,sortBy:h,desc:i}=s,{cursor:k}=e,d={projectName:a,filter:o,folderFilter:g,search:y,folderIds:I};h?(d.sortBy=h,i?(d.before=k||void 0,d.last=E):(d.after=k||void 0,d.first=E)):(d.after=k||void 0,d.first=E);const r=await t.dispatch(P.endpoints.GetTasksList.initiate(d,{forceRefetch:!0}));if(r.error)throw r.error;const n={tasks:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:r.data||n}}catch(a){return console.error("Error in getTasksListInfinite queryFn:",a),{error:{status:"FETCH_ERROR",error:a.message}}}},providesTags:(s,e,{projectName:t})=>b(s?.pages.flatMap(a=>a.tasks)||[],t),async onCacheEntryAdded(s,{cacheDataLoaded:e,cacheEntryRemoved:t,updateCachedData:a,dispatch:o}){let g;const y=new Set,I=100,h=500;let i=!1;const k=()=>{i||(i=!0,setTimeout(d,h))},d=async()=>{if(i=!1,!y.size)return;const r=Array.from(y).slice(0,I);r.forEach(n=>y.delete(n));try{const T=(await o(P.endpoints.GetTasksList.initiate({projectName:s.projectName,taskIds:r,folderIds:s.folderIds},{forceRefetch:!0})).unwrap()).tasks||[],f=new Map(T.map(l=>[l.id,l]));a(l=>{for(const p of T){let q=!1;for(const c of l.pages){const m=c.tasks.findIndex(v=>v.id===p.id);if(m!==-1){c.tasks[m]=p,q=!0;break}}q||(l.pages.length?l.pages[0].tasks.unshift(p):l.pages.push({tasks:[p],pageInfo:{startCursor:null,endCursor:null,hasNextPage:!1,hasPreviousPage:!1}}))}for(const p of r)if(!f.has(p))for(const q of l.pages){const c=q.tasks.findIndex(m=>m.id===p);if(c!==-1){q.tasks.splice(c,1);break}}})}catch(n){console.error("Realtime infinite tasks batch update failed",n)}finally{y.size&&k()}};try{await e;const r=async(n,T)=>{const f=T?.summary?.entityId;f&&(y.add(f),k())};g=A.subscribe("entity.task",r)}catch{}await t,g&&A.unsubscribe(g)}}),getGroupedTasksList:u.query({queryFn:async({projectName:s,groups:e,search:t,folderFilter:a,folderIds:o,desc:g,sortBy:y,groupCount:I},h)=>{try{let i=[];for(const r of e){const n=I||r.count||500,T={projectName:s,filter:r.filter,folderFilter:a,search:t,folderIds:o,sortBy:y,group:r.value};g?T.last=n:T.first=n;const f=h.dispatch(P.endpoints.GetTasksList.initiate(T,{forceRefetch:!0}));i.push(f)}const k=await Promise.all(i),d=[];for(const r of k){if(r.error)throw r.error;const n=r.originalArgs?.group,T=r.data?.pageInfo?.hasNextPage||r.data?.pageInfo?.hasPreviousPage||!1,f=r.data?.tasks.map((l,p,q)=>({...l,groups:[{value:n,hasNextPage:p===q.length-1&&T?n:void 0}]}))||[];d.push(...f)}return{data:{tasks:d}}}catch(i){return console.error("Error in getGroupedTasksList queryFn:",i),{error:{status:"FETCH_ERROR",error:i.message}}}},providesTags:(s,e,{projectName:t})=>b(s?.tasks,t)})})}),{useGetOverviewTasksByFoldersQuery:S,useGetSearchFoldersQuery:C,useGetTasksListQuery:x,useGetTasksListInfiniteInfiniteQuery:Q,useLazyGetTasksByParentQuery:B,useGetGroupedTasksListQuery:O}=N;exports.TASKS_INFINITE_QUERY_COUNT=E;exports.default=N;exports.parseAllAttribs=_;exports.useGetGroupedTasksListQuery=O;exports.useGetOverviewTasksByFoldersQuery=S;exports.useGetSearchFoldersQuery=C;exports.useGetTasksListInfiniteInfiniteQuery=Q;exports.useGetTasksListQuery=x;exports.useLazyGetTasksByParentQuery=B;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../../base/client.cjs.js");const G=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");const F=require("../../generated/folders.cjs.js");require("../../generated/inbox.cjs.js");require("../../generated/links.cjs.js");require("../../generated/market.cjs.js");require("../../generated/onboarding.cjs.js");require("../../generated/operations.cjs.js");require("../../generated/products.cjs.js");require("../../generated/projectDashboard.cjs.js");require("../../generated/projects.cjs.js");require("../../generated/projectFolders.cjs.js");require("../../generated/reviewables.cjs.js");require("../../generated/services.cjs.js");require("../../generated/system.cjs.js");require("../../generated/tasks.cjs.js");require("../../generated/teams.cjs.js");require("../../generated/thumbnails.cjs.js");require("../../generated/uRIs.cjs.js");require("../../generated/users.cjs.js");require("../../generated/versions.cjs.js");require("../../generated/workfiles.cjs.js");require("../../generated/ynputCloud.cjs.js");require("../../generated/grouping.cjs.js");require("../../generated/views.cjs.js");require("lodash");require("react-toastify");require("uuid");const A=require("../../../util/pubsub.cjs.js"),_=u=>{try{return JSON.parse(u)}catch{return{}}},w=u=>{if(!u.project)return[];const s=[];for(const{node:e}of u.project.tasks.edges)s.push({...e,folderId:e.folderId||"root",attrib:_(e.allAttrib),entityId:e.id,entityType:"task",links:[]});return s},b=(u=[],s,e)=>{const t=u?.map(o=>({type:"overviewTask",id:o.id}))||[],a=e?(Array.isArray(e)?e:[e]).map(o=>({type:"overviewTask",id:o})):[];return[...t,...a,{type:"overviewTask",id:s},{type:"overviewTask",id:"LIST"}]},P=G.api.enhanceEndpoints({endpoints:{GetTasksByParent:{transformResponse:w,providesTags:(u,s,{parentIds:e,projectName:t})=>b(u,t,e)},GetTasksList:{transformResponse:u=>({tasks:w(u),pageInfo:u.project.tasks.pageInfo}),providesTags:(u,s,{projectName:e})=>b(u?.tasks||[],e)}}}),L=F.api.enhanceEndpoints({endpoints:{searchFolders:{}}}),E=100,N=P.injectEndpoints({endpoints:u=>({getOverviewTasksByFolders:u.query({async queryFn({projectName:s,parentIds:e,filter:t,folderFilter:a,search:o},{dispatch:g,forced:y}){try{const h=[];for(let i=0;i<e.length;i+=20){const k=e.slice(i,i+20),r=(await Promise.all(k.map(async n=>g(P.endpoints.GetTasksByParent.initiate({projectName:s,parentIds:[n],filter:t,folderFilter:a,search:o},{forceRefetch:y}))))).filter(n=>!!n.data).flatMap(n=>n.data);h.push(...r)}return{data:h}}catch(I){return console.error(I),{error:{status:"FETCH_ERROR",error:I.message}}}},serializeQueryArgs:({queryArgs:{parentIds:s,...e}})=>({...e}),forceRefetch({currentArg:s,previousArg:e}){return JSON.stringify(s)!==JSON.stringify(e)},providesTags:(s,e,{parentIds:t,projectName:a})=>b(s,a,t),async onCacheEntryAdded({projectName:s,parentIds:e,filter:t,search:a},{cacheDataLoaded:o,cacheEntryRemoved:g,updateCachedData:y,dispatch:I}){let h;const i=new Set,k=100,d=500;let r=!1;const n=()=>{r||(r=!0,setTimeout(T,d))},T=async()=>{if(r=!1,!i.size)return;const f=Array.from(i).slice(0,k);f.forEach(l=>i.delete(l));try{const p=(await I(P.endpoints.GetTasksList.initiate({projectName:s,taskIds:f},{forceRefetch:!0})).unwrap()).tasks||[],q=new Map(p.map(c=>[c.id,c]));y(c=>{for(const m of p){const v=c.findIndex(R=>R.id===m.id);v>-1?c[v]=m:c.push(m)}for(const m of f)if(!q.has(m)){const v=c.findIndex(R=>R.id===m);v>-1&&c.splice(v,1)}})}catch(l){console.error("Realtime overview batch update failed",l)}finally{i.size&&n()}};try{await o;const f=async(l,p)=>{const q=p?.summary?.entityId,c=p?.summary?.parentId;!q||!c||e.includes(c)&&(i.add(q),n())};h=A.subscribe("entity.task",f)}catch{}await g,h&&A.unsubscribe(h)}}),getSearchFolders:u.query({async queryFn({projectName:s,folderSearchRequest:e},{dispatch:t}){try{return{data:(await t(L.endpoints.searchFolders.initiate({projectName:s,folderSearchRequest:e}))).data?.folderIds||[]}}catch(a){return console.error(a),{error:{status:"FETCH_ERROR",error:a.message}}}}}),getTasksListInfinite:u.infiniteQuery({infiniteQueryOptions:{initialPageParam:{cursor:"",desc:!1},getNextPageParam:(s,e,t,a)=>{const o=s.pageInfo;if(!(!(t.desc?o.hasPreviousPage:o.hasNextPage)||!o.endCursor))return{cursor:o.endCursor,desc:t.desc}}},queryFn:async({queryArg:s,pageParam:e},t)=>{try{const{projectName:a,filter:o,folderFilter:g,search:y,folderIds:I,sortBy:h,desc:i}=s,{cursor:k}=e,d={projectName:a,filter:o,folderFilter:g,search:y,folderIds:I};h?(d.sortBy=h,i?(d.before=k||void 0,d.last=E):(d.after=k||void 0,d.first=E)):(d.after=k||void 0,d.first=E);const r=await t.dispatch(P.endpoints.GetTasksList.initiate(d,{forceRefetch:!0}));if(r.error)throw r.error;const n={tasks:[],pageInfo:{hasNextPage:!1,endCursor:null,startCursor:null,hasPreviousPage:!1}};return{data:r.data||n}}catch(a){return console.error("Error in getTasksListInfinite queryFn:",a),{error:{status:"FETCH_ERROR",error:a.message}}}},providesTags:(s,e,{projectName:t})=>b(s?.pages.flatMap(a=>a.tasks)||[],t),async onCacheEntryAdded(s,{cacheDataLoaded:e,cacheEntryRemoved:t,updateCachedData:a,dispatch:o}){let g;const y=new Set,I=100,h=500;let i=!1;const k=()=>{i||(i=!0,setTimeout(d,h))},d=async()=>{if(i=!1,!y.size)return;const r=Array.from(y).slice(0,I);r.forEach(n=>y.delete(n));try{const T=(await o(P.endpoints.GetTasksList.initiate({projectName:s.projectName,taskIds:r,folderIds:s.folderIds},{forceRefetch:!0})).unwrap()).tasks||[],f=new Map(T.map(l=>[l.id,l]));a(l=>{for(const p of T){let q=!1;for(const c of l.pages){const m=c.tasks.findIndex(v=>v.id===p.id);if(m!==-1){c.tasks[m]=p,q=!0;break}}q||(l.pages.length?l.pages[0].tasks.unshift(p):l.pages.push({tasks:[p],pageInfo:{startCursor:null,endCursor:null,hasNextPage:!1,hasPreviousPage:!1}}))}for(const p of r)if(!f.has(p))for(const q of l.pages){const c=q.tasks.findIndex(m=>m.id===p);if(c!==-1){q.tasks.splice(c,1);break}}})}catch(n){console.error("Realtime infinite tasks batch update failed",n)}finally{y.size&&k()}};try{await e;const r=async(n,T)=>{const f=T?.summary?.entityId;f&&(y.add(f),k())};g=A.subscribe("entity.task",r)}catch{}await t,g&&A.unsubscribe(g)}}),getGroupedTasksList:u.query({queryFn:async({projectName:s,groups:e,search:t,folderFilter:a,folderIds:o,desc:g,sortBy:y,groupCount:I},h)=>{try{let i=[];for(const r of e){const n=I||r.count||500,T={projectName:s,filter:r.filter,folderFilter:a,search:t,folderIds:o,sortBy:y,group:r.value};g?T.last=n:T.first=n;const f=h.dispatch(P.endpoints.GetTasksList.initiate(T,{forceRefetch:!0}));i.push(f)}const k=await Promise.all(i),d=[];for(const r of k){if(r.error)throw r.error;const n=r.originalArgs?.group,T=r.data?.pageInfo?.hasNextPage||r.data?.pageInfo?.hasPreviousPage||!1,f=r.data?.tasks.map((l,p,q)=>({...l,groups:[{value:n,hasNextPage:p===q.length-1&&T?n:void 0}]}))||[];d.push(...f)}return{data:{tasks:d}}}catch(i){return console.error("Error in getGroupedTasksList queryFn:",i),{error:{status:"FETCH_ERROR",error:i.message}}}},providesTags:(s,e,{projectName:t})=>b(s?.tasks,t)})})}),{useGetOverviewTasksByFoldersQuery:S,useGetSearchFoldersQuery:C,useGetTasksListQuery:x,useGetTasksListInfiniteInfiniteQuery:Q,useLazyGetTasksByParentQuery:B,useGetGroupedTasksListQuery:O}=N;exports.TASKS_INFINITE_QUERY_COUNT=E;exports.default=N;exports.parseAllAttribs=_;exports.useGetGroupedTasksListQuery=O;exports.useGetOverviewTasksByFoldersQuery=S;exports.useGetSearchFoldersQuery=C;exports.useGetTasksListInfiniteInfiniteQuery=Q;exports.useGetTasksListQuery=x;exports.useLazyGetTasksByParentQuery=B;
|
|
2
2
|
//# sourceMappingURL=getOverview.cjs.js.map
|