@ynput/ayon-frontend-shared 0.2.35 → 0.2.36
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 +32 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +140 -126
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +10 -3
- package/dist/Views.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.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.cjs5.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/_virtual/index.es2.js +5 -2
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +2 -5
- package/dist/_virtual/index.es3.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/_virtual/index.es5.js +2 -2
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +372 -340
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +111 -95
- package/dist/components.es.js.map +1 -1
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.es.js +21 -17
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +19 -9
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js +3 -3
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +275 -302
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +5 -5
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +1411 -1366
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
- package/dist/node_modules/decode-named-character-reference/index.dom.cjs.js.map +1 -1
- package/dist/node_modules/decode-named-character-reference/index.dom.es.js.map +1 -1
- package/dist/node_modules/immer/dist/immer.cjs.js +1 -1
- package/dist/node_modules/immer/dist/immer.cjs.js.map +1 -1
- package/dist/node_modules/immer/dist/immer.es.js +185 -185
- package/dist/node_modules/immer/dist/immer.es.js.map +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
- package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/unist-util-is/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/unist-util-is/lib/index.es.js +8 -1
- package/dist/node_modules/unist-util-is/lib/index.es.js.map +1 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.cjs.js.map +1 -1
- package/dist/node_modules/unist-util-visit-parents/lib/index.es.js.map +1 -1
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js +2 -2
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.cjs.js.map +1 -1
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js +121 -98
- package/dist/shared/node_modules/primereact/hooks/hooks.esm.es.js.map +1 -1
- package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/shared/node_modules/prop-types/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +10 -9
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +209 -47
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +296 -118
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +88 -122
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.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 +6 -5
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +27 -26
- package/dist/shared/src/api/queries/entityLists/getLists.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 +77 -71
- package/dist/shared/src/api/queries/entityLists/updateLists.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 +111 -49
- 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 +97 -74
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js +5 -0
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchProducts.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/patchProducts.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchProducts.es.js +41 -0
- package/dist/shared/src/api/queries/overview/patchProducts.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +76 -0
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js +2 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js +79 -0
- package/dist/shared/src/api/queries/overview/refetchFilteredEntities.es.js.map +1 -0
- 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 +198 -169
- package/dist/shared/src/api/queries/overview/updateOverview.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 +19 -18
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +2 -0
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +296 -0
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js +2 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js +116 -0
- package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +11 -10
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
- package/dist/shared/src/components/Badge/Badge.cjs.js +15 -7
- package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -1
- package/dist/shared/src/components/Badge/Badge.es.js +34 -13
- package/dist/shared/src/components/Badge/Badge.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 +3 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- 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 +13 -12
- 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 +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.es.js +3 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityData.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 +16 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js +18 -0
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.cjs.js.map +1 -0
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js +26 -0
- package/dist/shared/src/components/EarlyPreview/EarlyPreview.es.js.map +1 -0
- 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 +12 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js +58 -0
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js.map +1 -0
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js +158 -0
- package/dist/shared/src/components/FeaturedVersionOrder/FeaturedVersionOrder.es.js.map +1 -0
- 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 +5 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js +2 -0
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.cjs.js.map +1 -0
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js +10 -0
- package/dist/shared/src/components/LegacyBadge/LegacyBadge.es.js.map +1 -0
- 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 +12 -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 +3 -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 +12 -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 +59 -48
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.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 +12 -2
- 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 +98 -42
- 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 +12 -2
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.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 +12 -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 +11 -10
- 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 +12 -2
- 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 +13 -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 +12 -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 +3 -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 +411 -243
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +8 -7
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +50 -47
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- 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 +22 -12
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js +56 -0
- package/dist/shared/src/components/SizeSlider/SizeSlider.cjs.js.map +1 -0
- package/dist/shared/src/components/SizeSlider/SizeSlider.es.js +113 -0
- package/dist/shared/src/components/SizeSlider/SizeSlider.es.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js +2 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.cjs.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.es.js +11 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.es.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js +43 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js +51 -0
- package/dist/shared/src/components/SortingSetting/SortingSetting.styled.es.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js +2 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.cjs.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js +39 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.es.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js +15 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js +21 -0
- package/dist/shared/src/components/TableGridSwitch/TableGridSwitch.styled.es.js.map +1 -0
- 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 +12 -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 +5 -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 +3 -2
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +12 -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 +4 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +12 -2
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +6 -6
- package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.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 +174 -152
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +12 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +57 -47
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js +2 -7
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js +0 -5
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +117 -113
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js +15 -15
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js +30 -30
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.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 +44 -19
- 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 +12 -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 +12 -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 +12 -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 +12 -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/ActivityCategorySelect/CategoryDropdownItem.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js +18 -18
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js +20 -13
- package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/CategoryTag.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js +3 -3
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js +11 -11
- package/dist/shared/src/containers/Feed/components/ActivityStatus/ActivityStatus.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js +11 -9
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.es.js +21 -18
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.styled.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 +6 -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 +3 -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 +646 -576
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +51 -42
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +64 -54
- 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 +382 -209
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +12 -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 +12 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +12 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.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 +158 -144
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.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 +5 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +145 -132
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +13 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +123 -104
- 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 +83 -87
- 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 +108 -88
- 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 +12 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +12 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.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 +204 -189
- 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 +59 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +263 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -0
- 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 +18 -7
- 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 +12 -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 +12 -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 +12 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +173 -163
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js +20 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/columnConfig.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +23 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +77 -37
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +24 -38
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js +17 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/metaRows.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +49 -44
- package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js +9 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/restrictedEntity.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +104 -91
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js +6 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CollapsedWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +23 -13
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js +11 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js +16 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EmptyWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +11 -11
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +38 -33
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +25 -19
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +75 -72
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js +11 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js +16 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ErrorWidget.es.js.map +1 -0
- 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 +51 -40
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js +17 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MetaWidget.es.js.map +1 -0
- 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 +12 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +8 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +79 -45
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.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 +12 -2
- 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 +203 -163
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +34 -7
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +34 -7
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +98 -73
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +13 -7
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js +9 -7
- package/dist/shared/src/containers/Slicer/createFilterFromSlicer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +69 -59
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.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/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 +6 -4
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +4 -2
- 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 +3 -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 +3 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -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 +5 -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 +53 -48
- package/dist/shared/src/context/DetailsPanelContext.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 +15 -13
- package/dist/shared/src/context/PowerpackContext.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 +5 -4
- package/dist/shared/src/context/RemoteModulesContext.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 +14 -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 +3 -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 +3 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +2 -0
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +96 -0
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +2 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +133 -0
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -0
- package/dist/shared/src/hooks/useGroupedPagination.cjs.js +2 -0
- package/dist/shared/src/hooks/useGroupedPagination.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useGroupedPagination.es.js +23 -0
- package/dist/shared/src/hooks/useGroupedPagination.es.js.map +1 -0
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +39 -23
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js +1 -1
- package/dist/shared/src/hooks/useLoadModule.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 +5 -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 +3 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +6 -5
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getGroupByDataType.cjs.js +2 -0
- package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -0
- package/dist/shared/src/util/getGroupByDataType.es.js +16 -0
- package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -0
- package/dist/shared/src/util/productTypes.cjs.js.map +1 -1
- package/dist/shared/src/util/productTypes.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +378 -6
- package/dist/types/api/generated/graphqlLinks.d.ts +36 -1
- package/dist/types/api/generated/views.d.ts +52 -11
- package/dist/types/api/queries/actions/getActions.d.ts +192 -36
- package/dist/types/api/queries/activities/getActivities.d.ts +519 -88
- package/dist/types/api/queries/activities/getCategories.d.ts +64 -12
- package/dist/types/api/queries/activities/getMentions.d.ts +64 -12
- package/dist/types/api/queries/activities/updateActivities.d.ts +86 -0
- package/dist/types/api/queries/addons/getAddons.d.ts +526 -48
- package/dist/types/api/queries/attributes/getAttributes.d.ts +128 -24
- package/dist/types/api/queries/authentication/getAuthentication.d.ts +64 -12
- package/dist/types/api/queries/cloud/cloud.d.ts +128 -24
- package/dist/types/api/queries/entities/getEntity.d.ts +381 -60
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +171 -24
- package/dist/types/api/queries/entities/updateEntity.d.ts +43 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +533 -168
- package/dist/types/api/queries/entityLists/getListsAttributes.d.ts +64 -12
- package/dist/types/api/queries/entityLists/listFolders.d.ts +64 -12
- package/dist/types/api/queries/folders/getFolders.d.ts +128 -24
- package/dist/types/api/queries/grouping/getGrouping.d.ts +64 -12
- package/dist/types/api/queries/links/getEntityLinks.d.ts +64 -12
- package/dist/types/api/queries/links/getLinks.d.ts +40 -40
- package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +5 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +529 -100
- package/dist/types/api/queries/overview/index.d.ts +2 -0
- package/dist/types/api/queries/overview/patchProducts.d.ts +13 -0
- package/dist/types/api/queries/overview/patchVersions.d.ts +13 -0
- package/dist/types/api/queries/overview/refetchFilteredEntities.d.ts +26 -0
- package/dist/types/api/queries/overview/updateOverview.d.ts +1 -10
- package/dist/types/api/queries/permissions/getPermissions.d.ts +128 -24
- package/dist/types/api/queries/project/getProject.d.ts +192 -36
- package/dist/types/api/queries/review/getReview.d.ts +192 -36
- package/dist/types/api/queries/share/share.d.ts +64 -12
- package/dist/types/api/queries/system/getSystem.d.ts +192 -36
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +265 -36
- package/dist/types/api/queries/users/getUsers.d.ts +731 -120
- package/dist/types/api/queries/users/guests.d.ts +64 -12
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +2931 -0
- package/dist/types/api/queries/versions/getVersionsProductsUtils.d.ts +31 -0
- package/dist/types/api/queries/versions/index.d.ts +2 -0
- package/dist/types/api/queries/versions/updateVersions.d.ts +262 -12
- package/dist/types/api/queries/views/getViews.d.ts +256 -48
- package/dist/types/api/queries/watchers/getWatchers.d.ts +64 -12
- package/dist/types/components/Badge/Badge.d.ts +5 -4
- package/dist/types/components/EarlyPreview/EarlyPreview.d.ts +5 -0
- package/dist/types/components/EarlyPreview/index.d.ts +1 -0
- package/dist/types/components/EnumEditor/EnumEditor.styled.d.ts +1 -1
- package/dist/types/components/FeaturedVersionOrder/FeaturedVersionOrder.d.ts +14 -0
- package/dist/types/components/FeaturedVersionOrder/index.d.ts +1 -0
- package/dist/types/components/LegacyBadge/LegacyBadge.d.ts +5 -0
- package/dist/types/components/LegacyBadge/index.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +5 -0
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +45 -6
- package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +2 -1
- package/dist/types/components/SizeSlider/SizeSlider.d.ts +13 -0
- package/dist/types/components/SizeSlider/index.d.ts +1 -0
- package/dist/types/components/SortingSetting/SortingSetting.d.ts +6 -0
- package/dist/types/components/SortingSetting/SortingSetting.styled.d.ts +3 -0
- package/dist/types/components/SortingSetting/index.d.ts +1 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +6 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.styled.d.ts +4 -0
- package/dist/types/components/TableGridSwitch/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +6 -0
- package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +2 -1
- package/dist/types/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +10 -6
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +10 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +7 -2
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +5 -3
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +0 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +3 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +5 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +12 -4
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupBySettings.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/types/columnConfig.d.ts +14 -0
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +3 -2
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +19 -4
- package/dist/types/containers/ProjectTreeTable/types/widgetDisplayConfig.d.ts +0 -0
- package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/loadingUtils.d.ts +1 -6
- package/dist/types/containers/ProjectTreeTable/utils/metaRows.d.ts +33 -0
- package/dist/types/containers/ProjectTreeTable/utils/restrictedEntity.d.ts +13 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/DateWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EmptyWidget.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +4 -2
- package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +1 -2
- package/dist/types/containers/ProjectTreeTable/widgets/ErrorWidget.d.ts +9 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/MetaWidget.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +3 -0
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +4 -2
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +10 -0
- package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
- package/dist/types/containers/Slicer/types.d.ts +2 -0
- package/dist/types/containers/Views/ViewItem/ViewItem.d.ts +2 -2
- package/dist/types/containers/Views/index.d.ts +1 -1
- package/dist/types/context/DetailsPanelContext.d.ts +10 -0
- package/dist/types/hooks/index.d.ts +3 -1
- package/dist/types/hooks/useGetEntityGroups.d.ts +11 -0
- package/dist/types/{containers/ProjectTreeTable/hooks/useProjectTableModules.d.ts → hooks/useGroupByRemoteModules.d.ts} +6 -5
- package/dist/types/hooks/useGroupedPagination.d.ts +25 -0
- package/dist/types/util/getGroupByDataType.d.ts +20 -0
- package/dist/types/util/index.d.ts +1 -0
- package/dist/types/util/productTypes.d.ts +1 -1
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +25 -23
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js +0 -60
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.cjs.js.map +0 -1
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js +0 -343
- package/dist/shared/src/components/ProjectTableSettings/RowHeightSettings.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +0 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +0 -95
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +0 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +0 -132
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +0 -1
- package/dist/shared/src/hooks/useTagStyling.cjs.js +0 -2
- package/dist/shared/src/hooks/useTagStyling.cjs.js.map +0 -1
- package/dist/shared/src/hooks/useTagStyling.es.js +0 -33
- package/dist/shared/src/hooks/useTagStyling.es.js.map +0 -1
- package/dist/types/components/ProjectTableSettings/RowHeightSettings.d.ts +0 -3
- package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +0 -10
- package/dist/types/hooks/useTagStyling.d.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePasteLinks.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
|
|
@@ -64,6 +64,7 @@ import "../../../api/queries/links/getLinks.es.js";
|
|
|
64
64
|
import "../../../api/queries/links/getEntityLinks.es.js";
|
|
65
65
|
import "../../../api/queries/overview/getOverview.es.js";
|
|
66
66
|
import "../../../api/queries/overview/updateOverview.es.js";
|
|
67
|
+
import "../../../api/queries/versions/getVersionsProducts.es.js";
|
|
67
68
|
import "../../../api/queries/permissions/getPermissions.es.js";
|
|
68
69
|
import "../../../api/queries/products/createProduct.es.js";
|
|
69
70
|
import "../../../api/queries/project/getProject.es.js";
|
|
@@ -139,6 +140,7 @@ import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.j
|
|
|
139
140
|
import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
|
|
140
141
|
import "../ProjectTreeTable.es.js";
|
|
141
142
|
import { useCellEditing as R } from "../context/CellEditingContext.es.js";
|
|
143
|
+
import "short-uuid";
|
|
142
144
|
import "@tanstack/react-table";
|
|
143
145
|
import "../widgets/CollapsedWidget.es.js";
|
|
144
146
|
import "../widgets/DateWidget.es.js";
|
|
@@ -175,11 +177,13 @@ import "../../../components/Powerpack/PricingLink.es.js";
|
|
|
175
177
|
import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
176
178
|
import "../../../components/Powerpack/CTAButton.es.js";
|
|
177
179
|
import "../../../components/Powerpack/RequiredAddonVersion.es.js";
|
|
180
|
+
import "../../../components/SizeSlider/SizeSlider.es.js";
|
|
178
181
|
import "../../../components/SettingsPanel/SettingsPanel.es.js";
|
|
179
182
|
import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
180
183
|
import "../../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
181
184
|
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
182
185
|
import "../../../components/SearchFilter/filterDates.es.js";
|
|
186
|
+
import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
|
|
183
187
|
import "../../../components/Badge/Badge.es.js";
|
|
184
188
|
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
185
189
|
import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
@@ -193,9 +197,15 @@ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
|
|
|
193
197
|
import "../../../components/AccessUser/AccessUser.es.js";
|
|
194
198
|
import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
195
199
|
import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
200
|
+
import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
|
|
201
|
+
import "../../../components/SortingSetting/SortingSetting.styled.es.js";
|
|
202
|
+
import "../../../components/EarlyPreview/EarlyPreview.es.js";
|
|
203
|
+
import "../../../components/LegacyBadge/LegacyBadge.es.js";
|
|
196
204
|
import "../../../components/LinksManager/CellEditingDialog.es.js";
|
|
197
205
|
import "../context/DetailsPanelEntityContext.es.js";
|
|
198
206
|
import "../context/SelectedRowsContext.es.js";
|
|
207
|
+
import "../widgets/EmptyWidget.es.js";
|
|
208
|
+
import "../widgets/ErrorWidget.es.js";
|
|
199
209
|
import "../ProjectTreeTable.styled.es.js";
|
|
200
210
|
import "../components/SelectionCell.es.js";
|
|
201
211
|
import "../components/RowSelectionHeader.es.js";
|
|
@@ -227,7 +237,7 @@ import "../../Views/Views.styled.es.js";
|
|
|
227
237
|
import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
|
|
228
238
|
import "../../Views/ViewsMenu/ViewsMenu.es.js";
|
|
229
239
|
import "uuid";
|
|
230
|
-
const
|
|
240
|
+
const ap = (B) => {
|
|
231
241
|
const { getEntityById: j, projectName: C } = S(), n = C, { history: E } = R(), [u] = x(), [l] = $();
|
|
232
242
|
return { pasteTableLinks: M(
|
|
233
243
|
async (w) => {
|
|
@@ -349,6 +359,6 @@ const _r = (B) => {
|
|
|
349
359
|
) };
|
|
350
360
|
};
|
|
351
361
|
export {
|
|
352
|
-
|
|
362
|
+
ap as default
|
|
353
363
|
};
|
|
354
364
|
//# sourceMappingURL=usePasteLinks.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePasteLinks.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usePasteLinks.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/usePasteLinks.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { useCreateEntityLinkMutation, useDeleteEntityLinkMutation } from '@shared/api'\nimport {\n addMultipleLinks,\n removeMultipleLinks,\n LinkToAdd,\n LinkToRemove,\n} from '@shared/components/LinksManager/utils/linkUpdates'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { getEntityId } from '@shared/util'\nimport { PasteMethod } from '../context'\nimport { useCellEditing } from '@shared/containers'\nimport { toast } from 'react-toastify'\n\n/**\n * Represents a link update operation for table links\n */\nexport type LinkUpdate = {\n /** Row ID in the table */\n rowId: string\n /** ID of the source entity (the entity that will have links) */\n sourceEntityId: string\n /** Type of the source entity (e.g., 'folder', 'task') */\n sourceEntityType: string\n /** Type of link (e.g., 'workflow', 'dependency') */\n linkType: string\n /** Direction of the link from source entity perspective */\n direction: 'in' | 'out'\n /** Type of the target entities that will be linked */\n targetEntityType: string\n /**\n * Operation type:\n * - 'replace': Remove all existing links of this type and add new ones\n * - 'merge': Keep existing links and add new ones (skip duplicates)\n */\n operation: PasteMethod\n /** Array of target entity IDs to link to */\n targetEntityIds: string[]\n}\n\nexport type PasteTableLinks = (linkUpdates: LinkUpdate[]) => Promise<void>\n\ninterface usePasteLinksProps {\n projectName?: string\n}\n\nconst usePasteLinks = (props?: usePasteLinksProps) => {\n const { getEntityById, projectName: contextProjectName } = useProjectTableContext()\n const projectName = props?.projectName || contextProjectName\n const { history } = useCellEditing()\n\n // Add mutation hooks for link operations\n const [deleteLink] = useDeleteEntityLinkMutation()\n const [addLink] = useCreateEntityLinkMutation()\n\n // Handle link updates using the utility functions\n const pasteTableLinks = useCallback<PasteTableLinks>(\n async (linkUpdates: LinkUpdate[]) => {\n if (!projectName || !linkUpdates.length) return\n\n // Group operations by entity and link type for processing\n const operationsToProcess = new Map<string, LinkUpdate[]>()\n\n for (const update of linkUpdates) {\n const key = `${update.sourceEntityId}-${update.linkType}-${update.direction}`\n if (!operationsToProcess.has(key)) {\n operationsToProcess.set(key, [])\n }\n operationsToProcess.get(key)!.push(update)\n }\n\n const updatePromises: Promise<void>[] = []\n // Collect all adds/removes across all operations to build a single history entry\n const addedInPaste: LinkToAdd[] = []\n const removedInPaste: LinkToRemove[] = []\n\n // Pre-flight validation: detect any self-referential links across the whole paste\n for (const [, updates] of operationsToProcess) {\n const { sourceEntityId } = updates[0]\n const targets = new Set<string>()\n updates.forEach((u) => u.targetEntityIds.forEach((id) => targets.add(id)))\n if (targets.has(sourceEntityId)) {\n toast.error(\"You can't link an entity to itself\")\n return\n }\n }\n // Process each unique entity-linkType-direction combination\n for (const [key, updates] of operationsToProcess) {\n const firstUpdate = updates[0]\n const {\n sourceEntityId,\n sourceEntityType,\n linkType,\n direction,\n targetEntityType,\n operation,\n } = firstUpdate\n\n // Collect all target entity IDs from all updates for this combination\n const allTargetEntityIds = new Set<string>()\n updates.forEach((update) => {\n update.targetEntityIds.forEach((id) => allTargetEntityIds.add(id))\n })\n\n const linksToAdd: LinkToAdd[] = []\n const linksToRemove: LinkToRemove[] = []\n\n // Get current links for this entity and link type\n const entityData = getEntityById(sourceEntityId)\n if (!entityData) {\n console.warn(`Entity not found: ${sourceEntityId}`)\n continue\n }\n\n // Get current links for this link type and direction\n const currentLinks = entityData.links\n\n if (operation === 'replace') {\n // Remove all current links of this (linkType + direction + targetEntityType) only.\n if (Array.isArray(currentLinks)) {\n for (const link of currentLinks) {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType.split('|')[0]\n ) {\n linksToRemove.push({\n id: link.id,\n target: {\n entityId: link.node.id,\n entityType: link.entityType,\n },\n source: { entityId: sourceEntityId, entityType: sourceEntityType },\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n // Add all new links\n for (const targetEntityId of allTargetEntityIds) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n } else if (operation === 'merge') {\n // Get existing target entity IDs for this (linkType + direction + targetEntityType)\n const existingTargetIds = new Set<string>()\n if (Array.isArray(currentLinks)) {\n currentLinks.forEach((link) => {\n if (\n link.entityType === targetEntityType &&\n link.direction === direction &&\n link.linkType === linkType\n ) {\n existingTargetIds.add(link.node.id)\n }\n })\n }\n\n console.log(existingTargetIds)\n\n // Only add links that don't already exist\n for (const targetEntityId of allTargetEntityIds) {\n if (!existingTargetIds.has(targetEntityId)) {\n const linkId = getEntityId()\n\n linksToAdd.push({\n targetEntityId,\n linkId,\n sourceEntityId,\n sourceEntityType,\n targetEntityType,\n linkType,\n direction,\n projectName,\n })\n }\n }\n }\n\n if (linksToRemove.length > 0) {\n updatePromises.push(removeMultipleLinks(linksToRemove, deleteLink))\n removedInPaste.push(...linksToRemove)\n }\n if (linksToAdd.length > 0) {\n updatePromises.push(addMultipleLinks(linksToAdd, addLink))\n addedInPaste.push(...linksToAdd)\n }\n }\n try {\n // Execute all link operations in parallel\n await Promise.all(updatePromises)\n\n // Push a single history entry that undoes BOTH: remove added links and re-add removed links\n if (history && (addedInPaste.length > 0 || removedInPaste.length > 0)) {\n // Prepare inverse operations for undo\n const addedToRemove: LinkToRemove[] = addedInPaste.map((link) => ({\n id: link.linkId,\n projectName: link.projectName,\n linkType: link.linkType,\n direction: link.direction,\n target: { entityId: link.targetEntityId, entityType: link.targetEntityType },\n source: { entityId: link.sourceEntityId, entityType: link.sourceEntityType },\n }))\n\n const removedToAdd: LinkToAdd[] = removedInPaste.map((link) => ({\n targetEntityId: link.target.entityId,\n linkId: link.id,\n sourceEntityId: link.source.entityId,\n sourceEntityType: link.source.entityType,\n targetEntityType: link.target.entityType,\n linkType: link.linkType,\n direction: link.direction,\n projectName: link.projectName,\n }))\n\n // Single callbacks to keep history atomic\n const undoCallback = () => {\n const tasks: Promise<void>[] = []\n if (addedToRemove.length) tasks.push(removeMultipleLinks(addedToRemove, deleteLink))\n if (removedToAdd.length) tasks.push(addMultipleLinks(removedToAdd, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n const redoCallback = () => {\n const tasks: Promise<void>[] = []\n if (removedInPaste.length) tasks.push(removeMultipleLinks(removedInPaste, deleteLink))\n if (addedInPaste.length) tasks.push(addMultipleLinks(addedInPaste, addLink))\n if (tasks.length) Promise.all(tasks).catch(() => {})\n }\n\n history.pushHistory([undoCallback], [redoCallback])\n }\n } catch (error) {\n throw error\n }\n },\n [projectName, getEntityById, deleteLink, addLink, history],\n )\n\n return { pasteTableLinks }\n}\n\nexport default usePasteLinks\n"],"names":["usePasteLinks","props","getEntityById","contextProjectName","useProjectTableContext","projectName","history","useCellEditing","deleteLink","useDeleteEntityLinkMutation","addLink","useCreateEntityLinkMutation","useCallback","linkUpdates","operationsToProcess","update","key","updatePromises","addedInPaste","removedInPaste","updates","sourceEntityId","targets","u","id","toast","firstUpdate","sourceEntityType","linkType","direction","targetEntityType","operation","allTargetEntityIds","linksToAdd","linksToRemove","entityData","currentLinks","link","targetEntityId","linkId","getEntityId","existingTargetIds","removeMultipleLinks","addMultipleLinks","addedToRemove","removedToAdd","undoCallback","tasks","redoCallback","error"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),f=require("@ynput/ayon-react-components"),S=require("../utils/clientFilterToQueryFilter.cjs.js");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const h=({queryFilters:q,sliceFilter:r})=>d.useMemo(()=>{var o,s,l,a;let e=q;if((o=r==null?void 0:r.values)!=null&&o.length){const i=S.clientFilterToQueryFilter([r]);(s=i.conditions)!=null&&s.length&&(e={conditions:[...(e==null?void 0:e.conditions)||[],...i.conditions],operator:"and"})}let g=q,n="";if((l=e==null?void 0:e.conditions)!=null&&l.length){const i=[],t=e.conditions.filter(c=>{if(c.key===f.SEARCH_FILTER_ID){const u=c.value;return u!=null&&String(u).trim()!==""&&i.push(String(u)),!1}return!0});n=i.join(" "),e=t.length?{...e,conditions:t}:{...e,conditions:[]}}return{filterString:(a=e==null?void 0:e.conditions)!=null&&a.length?JSON.stringify(e):"",filter:e,search:n,combinedFilters:e,displayFilters:g}},[q,r]);exports.useQueryFilters=h;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),f=require("@ynput/ayon-react-components"),S=require("../utils/clientFilterToQueryFilter.cjs.js");require("short-uuid");require("lodash");require("react-toastify");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("@tanstack/react-table");require("../ProjectTreeTable.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");;/* empty css */require("clsx");require("../../ContextMenu/ContextMenuContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("axios");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../ProjectTreeTable.styled.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const h=({queryFilters:q,sliceFilter:r})=>d.useMemo(()=>{var o,s,l,a;let e=q;if((o=r==null?void 0:r.values)!=null&&o.length){const i=S.clientFilterToQueryFilter([r]);(s=i.conditions)!=null&&s.length&&(e={conditions:[...(e==null?void 0:e.conditions)||[],...i.conditions],operator:"and"})}let g=q,n="";if((l=e==null?void 0:e.conditions)!=null&&l.length){const i=[],t=e.conditions.filter(c=>{if(c.key===f.SEARCH_FILTER_ID){const u=c.value;return u!=null&&String(u).trim()!==""&&i.push(String(u)),!1}return!0});n=i.join(" "),e=t.length?{...e,conditions:t}:{...e,conditions:[]}}return{filterString:(a=e==null?void 0:e.conditions)!=null&&a.length?JSON.stringify(e):"",filter:e,search:n,combinedFilters:e,displayFilters:g}},[q,r]);exports.useQueryFilters=h;
|
|
2
2
|
//# sourceMappingURL=useQueryFilters.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQueryFilters.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":"40aAmBO,MAAMA,EAAkB,CAAC,CAC9B,aAAAC,EACA,YAAAC,CACF,IACSC,UAAQ,IAAM,aACnB,IAAIC,EAAsBH,EAGtB,IAAAI,EAAAH,GAAA,YAAAA,EAAa,SAAb,MAAAG,EAAqB,OAAQ,CAC/B,MAAMC,EAAmBC,EAAAA,0BAA0B,CAACL,CAAW,CAAC,GAG5DM,EAAAF,EAAiB,aAAjB,MAAAE,EAA6B,SAETJ,EAAA,CACpB,WAAY,CAAC,IAFYA,GAAA,YAAAA,EAAqB,aAAc,CAAC,EAEzB,GAAGE,EAAiB,UAAU,EAClE,SAAU,KACZ,EACF,CAKF,IAAIG,EAAqBR,EAGrBS,EAAoB,GAEpB,IAAAC,EAAAP,GAAA,YAAAA,EAAqB,aAArB,MAAAO,EAAiC,OAAQ,CAC3C,MAAMC,EAAyB,CAAC,EAE1BC,EAAsBT,EAAoB,WAAW,OAAQU,GAAc,CAC1E,GAAAA,EAA6B,MAAQC,mBAAkB,CAC1D,MAAMC,EAAOF,EAA6B,MACtC,OAAqBE,GAAQ,MAAQ,OAAOA,CAAG,EAAE,KAAK,IAAM,IACjDJ,EAAA,KAAK,OAAOI,CAAG,CAAC,EAExB,EAAA,CAEF,MAAA,EAAA,CACR,EAGmBN,EAAAE,EAAa,KAAK,GAAG,EAGzCR,EAAsBS,EAAoB,OACtC,CAAE,GAAGT,EAAqB,WAAYS,CAAoB,EAC1D,CAAE,GAAGT,EAAqB,WAAY,CAAA,CAAG,CAAA,CAOxC,MAAA,CACL,cALwBa,EAAAb,GAAA,YAAAA,EAAqB,aAArB,MAAAa,EAAiC,OACvD,KAAK,UAAUb,CAAmB,EAClC,GAIF,OAAQA,EACR,OAAQM,EACR,gBAAiBN,EACjB,eAAgBK,CAClB,CAAA,EACC,CAACR,EAAcC,CAAW,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useMemo as u } from "react";
|
|
2
2
|
import { SEARCH_FILTER_ID as d } from "@ynput/ayon-react-components";
|
|
3
3
|
import { clientFilterToQueryFilter as c } from "../utils/clientFilterToQueryFilter.es.js";
|
|
4
|
+
import "short-uuid";
|
|
4
5
|
import "lodash";
|
|
5
6
|
import "react-toastify";
|
|
6
7
|
import "uuid";
|
|
@@ -85,6 +86,7 @@ import "../../../api/queries/links/getLinks.es.js";
|
|
|
85
86
|
import "../../../api/queries/links/getEntityLinks.es.js";
|
|
86
87
|
import "../../../api/queries/overview/getOverview.es.js";
|
|
87
88
|
import "../../../api/queries/overview/updateOverview.es.js";
|
|
89
|
+
import "../../../api/queries/versions/getVersionsProducts.es.js";
|
|
88
90
|
import "../../../api/queries/permissions/getPermissions.es.js";
|
|
89
91
|
import "../../../api/queries/products/createProduct.es.js";
|
|
90
92
|
import "../../../api/queries/project/getProject.es.js";
|
|
@@ -205,11 +207,13 @@ import "../../../components/Powerpack/PricingLink.es.js";
|
|
|
205
207
|
import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
|
|
206
208
|
import "../../../components/Powerpack/CTAButton.es.js";
|
|
207
209
|
import "../../../components/Powerpack/RequiredAddonVersion.es.js";
|
|
210
|
+
import "../../../components/SizeSlider/SizeSlider.es.js";
|
|
208
211
|
import "../../../components/SettingsPanel/SettingsPanel.es.js";
|
|
209
212
|
import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
210
213
|
import "../../../components/AttributeEditor/components/MinMaxField.es.js";
|
|
211
214
|
import "../../../components/EnumEditor/EnumEditor.styled.es.js";
|
|
212
215
|
import "../../../components/SearchFilter/filterDates.es.js";
|
|
216
|
+
import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
|
|
213
217
|
import "../../../components/Badge/Badge.es.js";
|
|
214
218
|
import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
|
|
215
219
|
import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
|
|
@@ -223,10 +227,16 @@ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
|
|
|
223
227
|
import "../../../components/AccessUser/AccessUser.es.js";
|
|
224
228
|
import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
|
|
225
229
|
import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
|
|
230
|
+
import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
|
|
231
|
+
import "../../../components/SortingSetting/SortingSetting.styled.es.js";
|
|
232
|
+
import "../../../components/EarlyPreview/EarlyPreview.es.js";
|
|
233
|
+
import "../../../components/LegacyBadge/LegacyBadge.es.js";
|
|
226
234
|
import "../../../components/LinksManager/CellEditingDialog.es.js";
|
|
235
|
+
import "../widgets/EmptyWidget.es.js";
|
|
236
|
+
import "../widgets/ErrorWidget.es.js";
|
|
227
237
|
import "../ProjectTreeTable.styled.es.js";
|
|
228
238
|
import "../widgets/LoadMoreWidget.es.js";
|
|
229
|
-
const
|
|
239
|
+
const wr = ({
|
|
230
240
|
queryFilters: p,
|
|
231
241
|
sliceFilter: i
|
|
232
242
|
}) => u(() => {
|
|
@@ -259,6 +269,6 @@ const Ar = ({
|
|
|
259
269
|
};
|
|
260
270
|
}, [p, i]);
|
|
261
271
|
export {
|
|
262
|
-
|
|
272
|
+
wr as useQueryFilters
|
|
263
273
|
};
|
|
264
274
|
//# sourceMappingURL=useQueryFilters.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQueryFilters.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useQueryFilters.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { Filter, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { type QueryTasksFoldersApiArg } from '@shared/api'\nimport { clientFilterToQueryFilter } from '../utils'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\ninterface UseQueryFiltersProps {\n queryFilters: QueryFilter\n sliceFilter?: Filter | null\n}\n\ninterface QueryFiltersResult {\n filter: QueryTasksFoldersApiArg['tasksFoldersQuery']['filter']\n filterString?: string\n search: QueryTasksFoldersApiArg['tasksFoldersQuery']['search']\n combinedFilters: QueryFilter // For data fetching (includes slice filters)\n displayFilters: QueryFilter // For SearchFilterWrapper (excludes slice filters, except hierarchy)\n}\n\nexport const useQueryFilters = ({\n queryFilters,\n sliceFilter,\n}: UseQueryFiltersProps): QueryFiltersResult => {\n return useMemo(() => {\n let combinedQueryFilter = queryFilters\n\n // If there's a slice filter, convert it and merge it with the query filters\n if (sliceFilter?.values?.length) {\n const sliceQueryFilter = clientFilterToQueryFilter([sliceFilter])\n\n // Merge the slice filter with existing query filters for data fetching\n if (sliceQueryFilter.conditions?.length) {\n const existingConditions = combinedQueryFilter?.conditions || []\n combinedQueryFilter = {\n conditions: [...existingConditions, ...sliceQueryFilter.conditions],\n operator: 'and',\n }\n }\n }\n\n // Create display filters (for SearchFilterWrapper)\n // This excludes slice filters, except for hierarchy when slice type changes\n let displayQueryFilter = queryFilters\n\n // extract text search conditions, remove them from combinedQueryFilter and merge to fuzzySearchFilter\n let fuzzySearchFilter = ''\n\n if (combinedQueryFilter?.conditions?.length) {\n const searchValues: string[] = []\n\n const remainingConditions = combinedQueryFilter.conditions.filter((condition) => {\n if ((condition as QueryCondition).key === SEARCH_FILTER_ID) {\n const val = (condition as QueryCondition).value\n if (val !== undefined && val !== null && String(val).trim() !== '') {\n searchValues.push(String(val))\n }\n return false // remove search condition\n }\n return true\n })\n\n // Join multiple search conditions into one space-separated fuzzy search string\n fuzzySearchFilter = searchValues.join(' ')\n\n // If there are remaining conditions, keep them; otherwise set empty conditions\n combinedQueryFilter = remainingConditions.length\n ? { ...combinedQueryFilter, conditions: remainingConditions }\n : { ...combinedQueryFilter, conditions: [] }\n }\n\n const queryFilterString = combinedQueryFilter?.conditions?.length\n ? JSON.stringify(combinedQueryFilter)\n : ''\n\n return {\n filterString: queryFilterString,\n filter: combinedQueryFilter,\n search: fuzzySearchFilter,\n combinedFilters: combinedQueryFilter,\n displayFilters: displayQueryFilter,\n }\n }, [queryFilters, sliceFilter])\n}\n"],"names":["useQueryFilters","queryFilters","sliceFilter","useMemo","combinedQueryFilter","_a","sliceQueryFilter","clientFilterToQueryFilter","_b","displayQueryFilter","fuzzySearchFilter","_c","searchValues","remainingConditions","condition","SEARCH_FILTER_ID","val","_d"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAMA,KAAkB,CAAC;AAAA,EAC9B,cAAAC;AAAA,EACA,aAAAC;AACF,MACSC,EAAQ,MAAM;;AACnB,MAAIC,IAAsBH;AAGtB,OAAAI,IAAAH,KAAA,gBAAAA,EAAa,WAAb,QAAAG,EAAqB,QAAQ;AAC/B,UAAMC,IAAmBC,EAA0B,CAACL,CAAW,CAAC;AAG5D,KAAAM,IAAAF,EAAiB,eAAjB,QAAAE,EAA6B,WAETJ,IAAA;AAAA,MACpB,YAAY,CAAC,IAFYA,KAAA,gBAAAA,EAAqB,eAAc,CAAC,GAEzB,GAAGE,EAAiB,UAAU;AAAA,MAClE,UAAU;AAAA,IACZ;AAAA,EACF;AAKF,MAAIG,IAAqBR,GAGrBS,IAAoB;AAEpB,OAAAC,IAAAP,KAAA,gBAAAA,EAAqB,eAArB,QAAAO,EAAiC,QAAQ;AAC3C,UAAMC,IAAyB,CAAC,GAE1BC,IAAsBT,EAAoB,WAAW,OAAO,CAACU,MAAc;AAC1E,UAAAA,EAA6B,QAAQC,GAAkB;AAC1D,cAAMC,IAAOF,EAA6B;AACtC,eAAqBE,KAAQ,QAAQ,OAAOA,CAAG,EAAE,KAAK,MAAM,MACjDJ,EAAA,KAAK,OAAOI,CAAG,CAAC,GAExB;AAAA,MAAA;AAEF,aAAA;AAAA,IAAA,CACR;AAGmB,IAAAN,IAAAE,EAAa,KAAK,GAAG,GAGzCR,IAAsBS,EAAoB,SACtC,EAAE,GAAGT,GAAqB,YAAYS,EAAoB,IAC1D,EAAE,GAAGT,GAAqB,YAAY,CAAA,EAAG;AAAA,EAAA;AAOxC,SAAA;AAAA,IACL,eALwBa,IAAAb,KAAA,gBAAAA,EAAqB,eAArB,QAAAa,EAAiC,SACvD,KAAK,UAAUb,CAAmB,IAClC;AAAA,IAIF,QAAQA;AAAA,IACR,QAAQM;AAAA,IACR,iBAAiBN;AAAA,IACjB,gBAAgBK;AAAA,EAClB;AAAA,GACC,CAACR,GAAcC,CAAW,CAAC;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const j=require("react-toastify"),Q=require("../context/ProjectTableQueriesContext.cjs.js"),k=require("react"),R=require("../context/ProjectTableContext.cjs.js"),$=q=>{const{pushHistory:A}=q||{},{getEntityById:g,projectName:C,getInheritedDependents:F,findInheritedValueFromAncestors:U,findNonInheritedValues:V}=R.useProjectTableContext(),{updateEntities:v}=Q.useProjectTableQueriesContext(),M=k.useCallback(async(b=[],P=!0)=>{var d;if(!b.length||!C)return;let y=b.filter(t=>!t.isLink);const x=y.filter(t=>{if(t.field==="folderType"&&t.type==="folder"){const r=g(t.id);if(r!=null&&r.hasVersions)return!1}return!0}),T=y.length-x.length;if(T>0&&j.toast.error(`Cannot change folder type for ${T} folder${T>1?"s":""} with published versions`),y=x,!y.length)return;if(A&&P){const t=y.map(({rowId:h,id:c,type:o,field:s,isAttrib:l,meta:a})=>{var E;const e=g(c);if(!e)throw"Entity not found: "+c;const i=(e==null?void 0:e.entityId)||e.id,f=l?((E=e.attrib)==null?void 0:E[s])??null:e[s]??null,m=(e==null?void 0:e.ownAttrib)||[],p=l&&!m.includes(s);return{rowId:h,id:i,type:o,field:s,value:f,isAttrib:l,wasInherited:p,ownAttrib:m,folderId:(e==null?void 0:e.folderId)||(e==null?void 0:e.parentId),meta:a}}),r=y.flatMap(({rowId:h,id:c,type:o,field:s,value:l,isAttrib:a,meta:e})=>{const i=g(c),f=(i==null?void 0:i.entityId)||(i==null?void 0:i.id)||c;return i?{rowId:h,id:f,type:o,field:s,value:l,isAttrib:a,ownAttrib:(i==null?void 0:i.ownAttrib)||[],folderId:"folderId"in i?i.folderId:i==null?void 0:i.parentId,meta:e}:[]});A(t,r)}const w=["task","folder","product","version"];let I=[];for(const t of y){let{id:r,type:h,field:c,value:o,isAttrib:s,meta:l}=t;const a=g(r),e=(a==null?void 0:a.entityId)||(a==null?void 0:a.id)||r;let i=h;if(!w.includes(i))continue;const f=s?{attrib:{[c]:o}}:{[c]:o};if(s){const p=[...(a==null?void 0:a.ownAttrib)||[]];p.includes(c)||p.push(c),f.ownAttrib=p}const m=I.findIndex(p=>p.entityId===e&&p.entityType===i);if(m!==-1){const p=I[m];let E={...p.data,...f};(d=p.data)!=null&&d.attrib&&f.attrib&&(E={...E,attrib:{...p.data.attrib,...f.attrib}}),I[m]={...p,data:E}}else I.push({rowId:t.rowId,entityType:i,entityId:e,type:"update",data:f,meta:l})}const O=I.filter(t=>!!t.entityId&&t.type==="update"&&t.data&&"attrib"in t.data).map(t=>{var r;return{entityId:t.entityId,entityType:t.entityType,attrib:t.data&&"attrib"in t.data?(r=t.data)==null?void 0:r.attrib:{}}}),u=F(O).map(t=>({entityId:t.entityId,entityType:t.entityType,data:{attrib:t.attrib}}));try{I.length&&await v({operations:I,patchOperations:u})}catch(t){console.error("Error updating entities:",t),j.toast.error("Failed to update entities: "+(t==null?void 0:t.error))}},[C,v,g,F,A]),N=k.useCallback(async(b,P=!0)=>{var I,O;if(!b.length||!C)return;if(P&&A){const n=[];for(const d of b){const t=g(d.entityId);for(const r of d.attribs)t!=null&&t.attrib&&r in t.attrib&&n.push({rowId:d.rowId,id:(t==null?void 0:t.entityId)||(t==null?void 0:t.id)||d.entityId,type:d.entityType,field:r,value:t.attrib[r],isAttrib:!0,wasInherited:!1,ownAttrib:(t==null?void 0:t.ownAttrib)||[],folderId:t==null?void 0:t.folderId,meta:t.meta})}const u=b.flatMap(d=>d.attribs.map(t=>({rowId:d.rowId,id:d.entityId,type:d.entityType,field:t,value:null,isAttrib:!0,wasInherited:!0,ownAttrib:d.ownAttrib,folderId:d.folderId,meta:d.meta})));n.length>0&&A(n,u)}const y=["task","folder"],x=[],T=[];for(const n of b){let u=n.entityType;if(!y.includes(u))continue;u=u;const d={};n.attribs.forEach(s=>{d[s]=null}),x.push({rowId:n.rowId,entityType:u,entityId:n.entityId,type:"update",data:{attrib:d},meta:n.meta});const r=(()=>{const s=n.folderId,l=[];let a=s,e=b.find(f=>f.entityId===a);for(;e;)l.push(e),a=e.folderId,e=b.find(f=>f.entityId===a);return l.length>0?l[l.length-1]:null})(),h=(r==null?void 0:r.attribs)||[],c=n.attribs.filter(s=>h.includes(s)),o=n.attribs.filter(s=>!h.includes(s));o.length>0&&T.push({...n,attribs:o}),r&&c.length>0&&T.push({...n,attribs:c,folderId:r.folderId})}const w=[];for(const n of T){const u=n.entityType,d=[...n.ownAttrib||[]].filter(o=>!n.attribs.includes(o)),t=V(n.folderId,n.attribs),r={entityId:n.entityId,entityType:u,data:{attrib:t,ownAttrib:d}};w.push(r);const c=F([{entityId:n.entityId,entityType:u,attrib:t}]).map(o=>({entityId:o.entityId,entityType:o.entityType,data:{attrib:o.attrib}}));for(const o of c){const s=w.findIndex(l=>l.entityId===o.entityId);if(s!==-1){const l=w[s];let a={...((I=l.data)==null?void 0:I.attrib)||{},...((O=o.data)==null?void 0:O.attrib)||{}};w[s]={...l,data:{attrib:a}}}else w.push({entityId:o.entityId,entityType:o.entityType,data:o.data})}}try{await v({operations:x,patchOperations:w})}catch{j.toast.error("Failed to update entities")}},[C,v,F,U,A]);return{updateEntities:M,inheritFromParent:N}};module.exports=$;
|
|
2
2
|
//# sourceMappingURL=useUpdateTableData.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory } = props || {}\n const {\n getEntityById,\n projectName,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n const entityUpdates = entities.filter((e) => !e.isLink)\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","getEntityById","projectName","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","_a","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entity","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","toast","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib","_b"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory } = props || {}\n const {\n getEntityById,\n projectName,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${filteredCount > 1 ? 's' : ''} with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","getEntityById","projectName","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","entityData","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityId","oldValue","_a","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib","_b"],"mappings":"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"}
|