@ynput/ayon-frontend-shared 0.2.22 → 0.2.24
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 +22 -12
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +22 -12
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +17 -1
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +19 -3
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/SimpleTable.cjs.js +18 -0
- package/dist/SimpleTable.cjs.js.map +1 -0
- package/dist/SimpleTable.es.js +18 -0
- package/dist/SimpleTable.es.js.map +1 -0
- package/dist/api.cjs.js +15 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +87 -72
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +6 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +6 -0
- package/dist/components.es.js.map +1 -1
- package/dist/hooks.cjs.js +2 -0
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.es.js +2 -0
- package/dist/hooks.es.js.map +1 -1
- package/dist/index.cjs.js +22 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +22 -12
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/base/client.cjs.js +2 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +2 -1
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +9 -10
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +9 -10
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js +447 -0
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/generated/graphqlLinks.es.js +447 -0
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
- package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
- package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
- package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
- package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
- package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
- package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
- package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
- package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
- package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
- package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.cjs.js +1 -0
- package/dist/shared/src/api/queries/cloud/cloud.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/cloud/cloud.es.js +1 -0
- package/dist/shared/src/api/queries/cloud/cloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js +4 -1
- package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +2 -0
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +2 -0
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +4 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +4 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +3 -0
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +3 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +1 -0
- package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js +1 -0
- package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +142 -0
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +142 -0
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +202 -0
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/getLinks.es.js +202 -0
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js +304 -0
- package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/updateLinks.es.js +304 -0
- package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js +8 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js +8 -0
- package/dist/shared/src/api/queries/links/utils/formatEntityLinks.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +5 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +5 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +70 -15
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -15
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
- package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.cjs.js +1 -0
- package/dist/shared/src/api/queries/products/createProduct.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/products/createProduct.es.js +1 -0
- package/dist/shared/src/api/queries/products/createProduct.es.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
- package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
- package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +2 -0
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +2 -0
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
- package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
- package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.cjs.js +1 -0
- package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/share/share.es.js +1 -0
- package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
- package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
- package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +2 -0
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +2 -0
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +4 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +4 -0
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
- package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
- package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js +1 -0
- package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/updateVersions.es.js +1 -0
- package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.cjs.js +1 -0
- package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/getViews.es.js +1 -0
- package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
- package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
- package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +149 -0
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -0
- package/dist/shared/src/components/Chips/Chips.es.js +149 -0
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +5 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +5 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +37 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +37 -27
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +6 -2
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -2
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +331 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +332 -0
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +125 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +125 -0
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +92 -0
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +92 -0
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js +250 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js +250 -0
- package/dist/shared/src/components/LinksManager/LinksManager.styled.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js +229 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js +229 -0
- package/dist/shared/src/components/LinksManager/LinksManagerDialog.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js +12 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js +13 -0
- package/dist/shared/src/components/LinksManager/SearchingLoadingItems.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js +103 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js +104 -0
- package/dist/shared/src/components/LinksManager/hooks/useKeyboardNavigation.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +278 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +279 -0
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js +70 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.cjs.js.map +1 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js +70 -0
- package/dist/shared/src/components/LinksManager/utils/linkUpdates.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +22 -12
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +22 -12
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +104 -14
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +104 -14
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +22 -12
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +22 -12
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -13
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -13
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +22 -12
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +22 -12
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +22 -12
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +22 -12
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +5 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +5 -0
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +22 -12
- 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/VersionUploader/components/UploadVersionForm.cjs.js +22 -12
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +22 -12
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +7 -2
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +7 -2
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +22 -12
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +22 -12
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +4 -0
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -0
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +22 -12
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +22 -12
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +22 -12
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +18 -8
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +18 -8
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -0
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +357 -0
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +357 -0
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +262 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +263 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +273 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +274 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +250 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +251 -0
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +35 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +36 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +235 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +235 -0
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +49 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +49 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js +12 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js +12 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/entityHierarchies.es.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js +26 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js +26 -0
- package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +2 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +2 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +4 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +4 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +5 -4
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -4
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +4 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +4 -0
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -0
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +36 -6
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +36 -6
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +25 -0
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +25 -0
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +263 -9
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +264 -10
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +21 -11
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +21 -11
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +1 -229
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +2 -230
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +432 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +432 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +120 -47
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +121 -48
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js +33 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js +33 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/DetailsPanelEntityContext.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +13 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +14 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +104 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +104 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +13 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +13 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +127 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +127 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +134 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +134 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +199 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +199 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +111 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +111 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnVirtualization.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +65 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +65 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +113 -14
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +113 -14
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +4 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +4 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +199 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +199 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +201 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +202 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js +4 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useProjectTableModules.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +103 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +103 -4
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +13 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +13 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +126 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +126 -15
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js +49 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js +49 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +142 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +143 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +14 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +14 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +0 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +0 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +299 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +299 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +22 -12
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +22 -12
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +528 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +529 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +160 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +160 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +74 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +74 -0
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js +19 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js +19 -0
- package/dist/shared/src/containers/SimpleTable/context/SimpleTableContext.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +1 -0
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +18 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +18 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js +17 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js +17 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js +37 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js +37 -0
- package/dist/shared/src/containers/Views/ViewsMenu/SectionHeader.styled.es.js.map +1 -0
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js +13 -2
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js +14 -3
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js +1 -2
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js +2 -3
- package/dist/shared/src/containers/Views/ViewsMenu/ViewsMenu.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +11 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +11 -0
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +53 -14
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +53 -14
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +4 -0
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js +2 -2
- package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js +2 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js +2 -1
- package/dist/shared/src/containers/Views/utils/getCustomViewsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +4 -0
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +4 -0
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +4 -0
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +4 -0
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +4 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +4 -0
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +4 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +4 -0
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +4 -0
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +4 -0
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +4 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +147 -0
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -0
- package/dist/shared/src/hooks/useHierarchyTable.es.js +147 -0
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -0
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +12 -5
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +12 -5
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +4 -0
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -0
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/{utils/extractVersionFromFilename.es.js.map → util/extractVersionFromFilename.cjs.js.map} +1 -1
- package/dist/shared/src/util/extractVersionFromFilename.es.js.map +1 -0
- package/dist/shared/src/util/getEntityId.cjs.js +11 -0
- package/dist/shared/src/util/getEntityId.cjs.js.map +1 -0
- package/dist/shared/src/util/getEntityId.es.js +11 -0
- package/dist/shared/src/util/getEntityId.es.js.map +1 -0
- package/dist/shared/src/{utils → util}/versionUploadHelpers.cjs.js +3 -2
- package/dist/shared/src/{utils/versionUploadHelpers.es.js.map → util/versionUploadHelpers.cjs.js.map} +1 -1
- package/dist/shared/src/{utils → util}/versionUploadHelpers.es.js +3 -2
- package/dist/shared/src/util/versionUploadHelpers.es.js.map +1 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js +16 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.cjs.js.map +1 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js +17 -0
- package/dist/src/containers/Slicer/hooks/useRowKeydown.es.js.map +1 -0
- package/dist/types/SimpleTable.d.ts +6 -0
- package/dist/types/api/generated/graphql.d.ts +116 -33
- package/dist/types/api/generated/graphqlLinks.d.ts +2269 -0
- package/dist/types/api/generated/index.d.ts +2 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +80 -79
- package/dist/types/api/queries/entityLists/types.d.ts +5 -5
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/links/getEntityLinks.d.ts +182 -0
- package/dist/types/api/queries/links/getLinks.d.ts +862 -0
- package/dist/types/api/queries/links/index.d.ts +3 -0
- package/dist/types/api/queries/links/updateLinks.d.ts +321 -0
- package/dist/types/api/queries/links/utils/formatEntityLinks.d.ts +1 -0
- package/dist/types/api/queries/overview/index.d.ts +1 -0
- package/dist/types/api/queries/overview/updateOverview.d.ts +9 -0
- package/dist/types/components/Chips/Chips.d.ts +14 -0
- package/dist/types/components/Chips/index.d.ts +1 -0
- package/dist/types/components/LinksManager/AddNewLinks.d.ts +11 -0
- package/dist/types/components/LinksManager/LinkManagerItem.d.ts +9 -0
- package/dist/types/components/LinksManager/LinksManager.d.ts +24 -0
- package/dist/types/components/LinksManager/LinksManager.styled.d.ts +17 -0
- package/dist/types/components/LinksManager/LinksManagerDialog.d.ts +9 -0
- package/dist/types/components/LinksManager/SearchingLoadingItems.d.ts +5 -0
- package/dist/types/components/LinksManager/hooks/useKeyboardNavigation.d.ts +24 -0
- package/dist/types/components/LinksManager/hooks/useUpdateLinks.d.ts +24 -0
- package/dist/types/components/LinksManager/index.d.ts +2 -0
- package/dist/types/components/LinksManager/utils/formatEntityPath.d.ts +1 -0
- package/dist/types/components/LinksManager/utils/linkUpdates.d.ts +47 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +15 -0
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +17 -0
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableHeader.d.ts +25 -0
- package/dist/types/containers/EntityPickerDialog/components/EntityTypeTableSearch.d.ts +8 -0
- package/dist/types/containers/EntityPickerDialog/components/index.d.ts +1 -0
- package/dist/types/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.d.ts +9 -0
- package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +28 -0
- package/dist/types/containers/EntityPickerDialog/index.d.ts +1 -0
- package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +8 -0
- package/dist/types/containers/EntityPickerDialog/util/entityHierarchies.d.ts +3 -0
- package/dist/types/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.d.ts +2 -0
- package/dist/types/containers/EntityPickerDialog/util/index.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -2
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +6 -1
- package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +1 -4
- package/dist/types/containers/ProjectTreeTable/context/CellEditingProvider.d.ts +4 -0
- package/dist/types/containers/ProjectTreeTable/context/DetailsPanelEntityContext.d.ts +16 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +34 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +10 -34
- package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +17 -0
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +7 -1
- package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +23 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.d.ts +7 -0
- package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTableRowTemplate.d.ts +1 -0
- package/dist/types/{SimpleTable → containers/SimpleTable}/index.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenu/SectionHeader.d.ts +6 -0
- package/dist/types/containers/Views/ViewsMenu/SectionHeader.styled.d.ts +1 -0
- package/dist/types/containers/Views/ViewsMenu/ViewsMenu.d.ts +8 -3
- package/dist/types/containers/Views/hooks/useBuildViewMenuItems.d.ts +2 -1
- package/dist/types/containers/Views/utils/getCustomViewsFallback.d.ts +4 -3
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/useHierarchyTable.d.ts +13 -0
- package/dist/types/util/getEntityId.d.ts +2 -0
- package/dist/types/util/index.d.ts +3 -0
- package/dist/util.cjs.js +16 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +17 -1
- package/dist/util.es.js.map +1 -1
- package/package.json +8 -2
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js +0 -7
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js +0 -8
- package/dist/shared/node_modules/uuid/dist/esm-browser/native.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js +0 -14
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js +0 -15
- package/dist/shared/node_modules/uuid/dist/esm-browser/rng.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js +0 -11
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js +0 -11
- package/dist/shared/node_modules/uuid/dist/esm-browser/stringify.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js +0 -57
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js +0 -58
- package/dist/shared/node_modules/uuid/dist/esm-browser/v1.es.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js +0 -16
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.cjs.js.map +0 -1
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js +0 -17
- package/dist/shared/node_modules/uuid/dist/esm-browser/v4.es.js.map +0 -1
- package/dist/shared/src/utils/extractVersionFromFilename.cjs.js.map +0 -1
- package/dist/shared/src/utils/versionUploadHelpers.cjs.js.map +0 -1
- /package/dist/shared/src/{utils → util}/extractVersionFromFilename.cjs.js +0 -0
- /package/dist/shared/src/{utils → util}/extractVersionFromFilename.es.js +0 -0
- /package/dist/types/{SimpleTable → containers/SimpleTable}/SimpleTable.styled.d.ts +0 -0
- /package/dist/types/{SimpleTable → containers/SimpleTable}/context/SimpleTableContext.d.ts +0 -0
- /package/dist/types/{utils → util}/extractVersionFromFilename.d.ts +0 -0
- /package/dist/types/{utils → util}/versionUploadHelpers.d.ts +0 -0
|
@@ -5,9 +5,14 @@ const React = require("react");
|
|
|
5
5
|
const SelectionCellsContext = require("./SelectionCellsContext.cjs.js");
|
|
6
6
|
const CellEditingContext = require("./CellEditingContext.cjs.js");
|
|
7
7
|
const cellUtils = require("../utils/cellUtils.cjs.js");
|
|
8
|
+
const usePasteLinks = require("../hooks/usePasteLinks.cjs.js");
|
|
8
9
|
const clipboardUtils = require("./clipboard/clipboardUtils.cjs.js");
|
|
9
10
|
const clipboardValidation = require("./clipboard/clipboardValidation.cjs.js");
|
|
10
11
|
const ProjectTableContext = require("./ProjectTableContext.cjs.js");
|
|
12
|
+
require("lodash");
|
|
13
|
+
require("react-toastify");
|
|
14
|
+
const getEntityId = require("../../../util/getEntityId.cjs.js");
|
|
15
|
+
require("../../../util/pubsub.cjs.js");
|
|
11
16
|
const ClipboardContext = React.createContext(void 0);
|
|
12
17
|
const ClipboardProvider = ({
|
|
13
18
|
children,
|
|
@@ -17,6 +22,7 @@ const ClipboardProvider = ({
|
|
|
17
22
|
}) => {
|
|
18
23
|
const { selectedCells, gridMap, focusedCellId } = SelectionCellsContext.useSelectionCellsContext();
|
|
19
24
|
const { updateEntities } = CellEditingContext.useCellEditing();
|
|
25
|
+
const { pasteTableLinks } = usePasteLinks();
|
|
20
26
|
const { getEntityById, attribFields } = ProjectTableContext.useProjectTableContext();
|
|
21
27
|
const getSelectionData = React.useCallback(
|
|
22
28
|
async (selected, config) => {
|
|
@@ -91,25 +97,29 @@ const ClipboardProvider = ({
|
|
|
91
97
|
const rowValues = [];
|
|
92
98
|
for (const colId of filteredColIds) {
|
|
93
99
|
let cellValue = "";
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
if (colId.startsWith("link_")) {
|
|
101
|
+
cellValue = cellUtils.getLinkEntityIdsByColumnId(entity.links, colId);
|
|
102
|
+
} else {
|
|
103
|
+
let foundValue = cellUtils.getCellValue(entity, colId);
|
|
104
|
+
if (!foundValue) {
|
|
105
|
+
const field = attribFields.find((f) => f.name === colId.replace("attrib_", ""));
|
|
106
|
+
if (field && field.data.type === "boolean") {
|
|
107
|
+
foundValue = false;
|
|
108
|
+
} else if (field && field.data.type.includes("list_of")) {
|
|
109
|
+
foundValue = [];
|
|
110
|
+
}
|
|
101
111
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
cellValue = clipboardUtils.getEntityPath(entity.entityId || entity.id, entitiesMap);
|
|
106
|
-
}
|
|
107
|
-
if (colId === "subType") {
|
|
108
|
-
if ("folderType" in entity) {
|
|
109
|
-
cellValue = entity.folderType || "";
|
|
112
|
+
cellValue = foundValue !== void 0 && foundValue !== null ? String(foundValue) : "";
|
|
113
|
+
if (colId === "name") {
|
|
114
|
+
cellValue = clipboardUtils.getEntityPath(entity.entityId || entity.id, entitiesMap);
|
|
110
115
|
}
|
|
111
|
-
if ("
|
|
112
|
-
|
|
116
|
+
if (colId === "subType") {
|
|
117
|
+
if ("folderType" in entity) {
|
|
118
|
+
cellValue = entity.folderType || "";
|
|
119
|
+
}
|
|
120
|
+
if ("taskType" in entity) {
|
|
121
|
+
cellValue = entity.taskType || "";
|
|
122
|
+
}
|
|
113
123
|
}
|
|
114
124
|
}
|
|
115
125
|
rowValues.push(`${cellValue.replace(/"/g, '""')}`);
|
|
@@ -123,13 +133,21 @@ const ClipboardProvider = ({
|
|
|
123
133
|
},
|
|
124
134
|
[selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById]
|
|
125
135
|
);
|
|
136
|
+
const doesClipboardContainId = async () => {
|
|
137
|
+
const clipboardText = await getClipboardString();
|
|
138
|
+
if (!clipboardText) return false;
|
|
139
|
+
const parsedData = clipboardUtils.parseClipboardText(clipboardText);
|
|
140
|
+
if (parsedData.length === 0) return false;
|
|
141
|
+
return parsedData.every((row) => {
|
|
142
|
+
return row.values.every((value2) => value2.split(",").every((v) => getEntityId.validateEntityId(v)));
|
|
143
|
+
});
|
|
144
|
+
};
|
|
126
145
|
const copyToClipboard = React.useCallback(
|
|
127
146
|
async (selected, fullRow) => {
|
|
128
147
|
selected = selected || Array.from(selectedCells);
|
|
129
148
|
if (!selected.length) return;
|
|
130
149
|
const clipboardText = await getSelectionData(selected, { fullRow });
|
|
131
150
|
if (!clipboardText) {
|
|
132
|
-
clipboardUtils.clipboardError("No data to copy to clipboard.");
|
|
133
151
|
return;
|
|
134
152
|
}
|
|
135
153
|
if (!navigator.clipboard) {
|
|
@@ -170,26 +188,31 @@ const ClipboardProvider = ({
|
|
|
170
188
|
},
|
|
171
189
|
[selectedCells, entitiesMap, gridMap, getSelectionData]
|
|
172
190
|
);
|
|
191
|
+
const getClipboardString = async () => {
|
|
192
|
+
if (!navigator.clipboard) {
|
|
193
|
+
clipboardUtils.clipboardError("Clipboard API not supported in this browser.");
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (!window.isSecureContext) {
|
|
197
|
+
clipboardUtils.clipboardError("Clipboard operations require a secure HTTPS context.");
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
let clipboardText;
|
|
201
|
+
try {
|
|
202
|
+
clipboardText = await navigator.clipboard.readText();
|
|
203
|
+
return clipboardText;
|
|
204
|
+
} catch (error) {
|
|
205
|
+
clipboardUtils.clipboardError(`Failed to read from clipboard: ${error.message}`);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
};
|
|
173
209
|
const pasteFromClipboard = React.useCallback(
|
|
174
|
-
async (selected) => {
|
|
210
|
+
async (selected, config) => {
|
|
175
211
|
var _a, _b;
|
|
176
|
-
|
|
212
|
+
const { method = "replace" } = config || {};
|
|
177
213
|
if (!selected.length) return;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
if (!window.isSecureContext) {
|
|
183
|
-
clipboardUtils.clipboardError("Clipboard operations require a secure HTTPS context.");
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
let clipboardText;
|
|
187
|
-
try {
|
|
188
|
-
clipboardText = await navigator.clipboard.readText();
|
|
189
|
-
} catch (error) {
|
|
190
|
-
clipboardUtils.clipboardError(`Failed to read from clipboard: ${error.message}`);
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
214
|
+
const clipboardText = await getClipboardString();
|
|
215
|
+
if (!clipboardText) return;
|
|
193
216
|
const parsedData = clipboardUtils.parseClipboardText(clipboardText);
|
|
194
217
|
if (!parsedData.length) return;
|
|
195
218
|
const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1;
|
|
@@ -246,15 +269,16 @@ const ClipboardProvider = ({
|
|
|
246
269
|
for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {
|
|
247
270
|
const colId = selectedColIds[colIndex];
|
|
248
271
|
if (colId === "name") continue;
|
|
249
|
-
let isAttrib = false;
|
|
272
|
+
let isAttrib = false, isLink = false;
|
|
250
273
|
let fieldValueType = "string";
|
|
251
274
|
if (sortedRows.length > 0) {
|
|
252
275
|
const firstRowId = sortedRows[0];
|
|
253
276
|
const entity = getEntityById(firstRowId);
|
|
254
277
|
if (entity) {
|
|
255
278
|
isAttrib = colId.startsWith("attrib_");
|
|
279
|
+
isLink = colId.startsWith("link_");
|
|
256
280
|
const fieldValue = cellUtils.getCellValue(entity, colId);
|
|
257
|
-
if (Array.isArray(fieldValue)) {
|
|
281
|
+
if (Array.isArray(fieldValue) || isLink) {
|
|
258
282
|
fieldValueType = "array";
|
|
259
283
|
} else if (typeof fieldValue === "number") {
|
|
260
284
|
fieldValueType = "number";
|
|
@@ -292,11 +316,15 @@ const ClipboardProvider = ({
|
|
|
292
316
|
id: rowId,
|
|
293
317
|
type: entityType,
|
|
294
318
|
fields: {},
|
|
295
|
-
attrib: {}
|
|
319
|
+
attrib: {},
|
|
320
|
+
links: {}
|
|
296
321
|
});
|
|
297
322
|
}
|
|
298
323
|
const entityData = entitiesToUpdateMap.get(entityKey);
|
|
299
|
-
if (
|
|
324
|
+
if (isLink) {
|
|
325
|
+
const [_link, linkType, inType, outType, direction] = colId.split("_");
|
|
326
|
+
entityData.links[`${linkType}|${inType}|${outType}_${direction}`] = processedValue;
|
|
327
|
+
} else if (isAttrib) {
|
|
300
328
|
entityData.attrib[fieldToUpdate] = processedValue;
|
|
301
329
|
} else {
|
|
302
330
|
entityData.fields[fieldToUpdate] = processedValue;
|
|
@@ -304,6 +332,7 @@ const ClipboardProvider = ({
|
|
|
304
332
|
}
|
|
305
333
|
}
|
|
306
334
|
const allEntityUpdates = [];
|
|
335
|
+
const linkUpdatesMap = /* @__PURE__ */ new Map();
|
|
307
336
|
entitiesToUpdateMap.forEach((entity) => {
|
|
308
337
|
Object.entries(entity.fields).forEach(([field, value2]) => {
|
|
309
338
|
allEntityUpdates.push({
|
|
@@ -324,31 +353,75 @@ const ClipboardProvider = ({
|
|
|
324
353
|
isAttrib: true
|
|
325
354
|
});
|
|
326
355
|
});
|
|
356
|
+
Object.entries(entity.links).forEach(([linkKey, targetEntityIds]) => {
|
|
357
|
+
const [linkTypePart, direction] = linkKey.split("_");
|
|
358
|
+
const linkTypeParts = linkTypePart.split("|");
|
|
359
|
+
if (linkTypeParts.length >= 3) {
|
|
360
|
+
const linkTypeName = linkTypeParts[0];
|
|
361
|
+
const inType = linkTypeParts[1];
|
|
362
|
+
const outType = linkTypeParts[2];
|
|
363
|
+
const linkType = `${linkTypeName}|${inType}|${outType}`;
|
|
364
|
+
const targetEntityType = direction === "out" ? outType : inType;
|
|
365
|
+
const linkUpdateKey = `${entity.id}-${linkType}-${direction}`;
|
|
366
|
+
linkUpdatesMap.set(linkUpdateKey, {
|
|
367
|
+
rowId: entity.rowId,
|
|
368
|
+
sourceEntityId: entity.id,
|
|
369
|
+
sourceEntityType: entity.type,
|
|
370
|
+
linkType,
|
|
371
|
+
direction,
|
|
372
|
+
targetEntityType,
|
|
373
|
+
operation: method,
|
|
374
|
+
targetEntityIds: Array.isArray(targetEntityIds) ? targetEntityIds : []
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
});
|
|
327
378
|
});
|
|
379
|
+
const allLinkUpdates = Array.from(linkUpdatesMap.values());
|
|
380
|
+
const updatePromises = [];
|
|
328
381
|
if (allEntityUpdates.length > 0) {
|
|
382
|
+
updatePromises.push(updateEntities(allEntityUpdates));
|
|
383
|
+
}
|
|
384
|
+
if (allLinkUpdates.length > 0) {
|
|
385
|
+
updatePromises.push(pasteTableLinks(allLinkUpdates));
|
|
386
|
+
}
|
|
387
|
+
if (updatePromises.length > 0) {
|
|
329
388
|
try {
|
|
330
|
-
await
|
|
389
|
+
await Promise.all(updatePromises);
|
|
331
390
|
} catch (error) {
|
|
332
391
|
console.error("Error updating entities:", error);
|
|
333
|
-
clipboardUtils.clipboardError(
|
|
334
|
-
`Failed to update: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
335
|
-
);
|
|
392
|
+
clipboardUtils.clipboardError(`Paste failed: ${error || (error == null ? void 0 : error.message) || "Unknown error"}`);
|
|
336
393
|
}
|
|
337
394
|
}
|
|
338
395
|
},
|
|
339
|
-
[
|
|
396
|
+
[
|
|
397
|
+
selectedCells,
|
|
398
|
+
gridMap,
|
|
399
|
+
entitiesMap,
|
|
400
|
+
updateEntities,
|
|
401
|
+
pasteTableLinks,
|
|
402
|
+
columnEnums,
|
|
403
|
+
getEntityById
|
|
404
|
+
]
|
|
340
405
|
);
|
|
341
406
|
React.useEffect(() => {
|
|
342
|
-
const handleKeyDown = (e) => {
|
|
407
|
+
const handleKeyDown = async (e) => {
|
|
343
408
|
if ((e.ctrlKey || e.metaKey) && e.key === "c") {
|
|
344
409
|
copyToClipboard();
|
|
345
410
|
}
|
|
346
411
|
if ((e.ctrlKey || e.metaKey) && e.key === "v") {
|
|
347
412
|
const activeEl = document.activeElement;
|
|
348
413
|
if (activeEl && (activeEl.tagName === "INPUT" || activeEl.tagName === "TEXTAREA" || activeEl.isContentEditable)) {
|
|
349
|
-
|
|
414
|
+
const allEntityIds = await doesClipboardContainId();
|
|
415
|
+
if (allEntityIds) {
|
|
416
|
+
e.preventDefault();
|
|
417
|
+
} else {
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
350
420
|
}
|
|
351
|
-
pasteFromClipboard()
|
|
421
|
+
pasteFromClipboard(Array.from(selectedCells), {
|
|
422
|
+
method: e.shiftKey ? "merge" : "replace"
|
|
423
|
+
// Use shift key to determine paste method
|
|
424
|
+
});
|
|
352
425
|
}
|
|
353
426
|
};
|
|
354
427
|
window.addEventListener("keydown", handleKeyDown);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipboardContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\n\n// Utils\nimport { getCellValue, getEntityDataById, parseCellId } from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n} from './clipboard/clipboardUtils'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n const { getEntityById, attribFields } = useProjectTableContext()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // First, organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n // do not include row selection column\n if (colId === ROW_SELECTION_COLUMN_ID) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Determine if this is a folder or task by checking which map contains the ID\n const entity = getEntityById(rowId)\n\n if (!entity) {\n console.warn(`Entity not found for rowId: ${rowId}`)\n continue\n }\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n // @ts-ignore\n let foundValue = getCellValue(entity, colId)\n\n if (!foundValue) {\n // we should look for the default value set out in attribFields\n const field = attribFields.find((f) => f.name === colId.replace('attrib_', ''))\n if (field && field.data.type === 'boolean') {\n foundValue = false // default boolean value\n } else if (field && field.data.type.includes('list_of')) {\n foundValue = [] // default list value\n }\n }\n\n // convert to string if foundValue is not undefined or null use empty string otherwise\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Special handling for name field - include full path\n if (colId === 'name') {\n cellValue = getEntityPath(entity.entityId || entity.id, entitiesMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n if ('folderType' in entity) {\n cellValue = entity.folderType || ''\n }\n if ('taskType' in entity) {\n cellValue = entity.taskType || ''\n }\n }\n\n // Escape double quotes in the cell value and wrap in quotes\n rowValues.push(`${cellValue.replace(/\"/g, '\"\"')}`)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById],\n )\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) {\n clipboardError('No data to copy to clipboard.')\n return\n }\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n console.log('Copied to clipboard successfully', clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n\n // we can have empty text in the clipboard\n //if (!clipboardText.trim()) return\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // For each row, get the sorted column IDs\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values for status and subType\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n // If it's a single cell value, use it for all cells\n // Otherwise use the modulo approach to repeat values\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n // Validate clipboard data for this cell\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = getEntityById(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n\n // Determine if field is an array and its value type\n // @ts-ignore - Check entity property or attribute\n const fieldValue = getCellValue(entity, colId)\n if (Array.isArray(fieldValue)) {\n fieldValueType = 'array'\n } else if (typeof fieldValue === 'number') {\n fieldValueType = 'number'\n } else if (typeof fieldValue === 'boolean') {\n fieldValueType = 'boolean'\n }\n\n // Special case for subType\n if (colId === 'subType') {\n isAttrib = false\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n })\n\n // Make a single call to update all entities\n if (allEntityUpdates.length > 0) {\n try {\n await updateEntities(allEntityUpdates)\n } catch (error) {\n console.error('Error updating entities:', error)\n clipboardError(\n `Failed to update: ${error instanceof Error ? error.message : 'Unknown error'}`,\n )\n }\n }\n },\n [selectedCells, gridMap, entitiesMap, updateEntities, columnEnums, getEntityById],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n copyToClipboard()\n }\n\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n // don't execute paste if focus is inside an input, textarea, or content‐editable element\n const activeEl = document.activeElement as HTMLElement | null\n if (\n activeEl &&\n (activeEl.tagName === 'INPUT' ||\n activeEl.tagName === 'TEXTAREA' ||\n activeEl.isContentEditable)\n ) {\n return\n }\n pasteFromClipboard()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["createContext","useSelectionCellsContext","useCellEditing","useProjectTableContext","useCallback","parseCellId","ROW_SELECTION_COLUMN_ID","colIds","getCellValue","getEntityPath","clipboardError","parseClipboardText","_a","getEntityDataById","validateClipboardData","processFieldValue","value","useEffect","useMemo","jsx","useContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClipboardContext.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/ClipboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useCallback, useMemo, useEffect } from 'react'\n\n// Contexts\nimport { ROW_SELECTION_COLUMN_ID, useSelectionCellsContext } from './SelectionCellsContext'\nimport { useCellEditing } from './CellEditingContext'\n\n// Utils\nimport {\n getCellValue,\n getEntityDataById,\n getLinkEntityIdsByColumnId,\n parseCellId,\n} from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\nimport usePasteLinks, { LinkUpdate } from '../hooks/usePasteLinks'\n\n// Import from the new modular files\nimport {\n getEntityPath,\n parseClipboardText,\n clipboardError,\n processFieldValue,\n} from './clipboard/clipboardUtils'\nimport { validateClipboardData } from './clipboard/clipboardValidation'\nimport { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes'\nimport { useProjectTableContext } from './ProjectTableContext'\nimport { validateEntityId } from '@shared/util'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({\n children,\n entitiesMap,\n columnEnums,\n columnReadOnly,\n}) => {\n // Get selection information from SelectionContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n const { pasteTableLinks } = usePasteLinks()\n const { getEntityById, attribFields } = useProjectTableContext()\n\n const getSelectionData = useCallback(\n async (selected: string[], config?: { headers?: boolean; fullRow?: boolean }) => {\n const { headers, fullRow } = config || {}\n try {\n // First, organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n selected.forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n // do not include row selection column\n if (colId === ROW_SELECTION_COLUMN_ID) return\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n\n cellsByRow.get(rowId)?.add(colId)\n })\n\n if (fullRow) {\n const selectedRows = selected\n .filter(\n (cellId) =>\n parseCellId(cellId)?.rowId &&\n parseCellId(cellId)?.colId === ROW_SELECTION_COLUMN_ID,\n )\n .map((cellId) => parseCellId(cellId)?.rowId) as string[]\n\n // select the whole row\n // For rows with selection cells, add all available columns\n selectedRows.forEach((rowId) => {\n // add the rowId if it doesn't exist\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n const allColumns = Array.from(gridMap.colIdToIndex.keys())\n allColumns.forEach((colId) => {\n cellsByRow.get(rowId)?.add(colId)\n })\n })\n }\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Build clipboard text\n let clipboardText = ''\n\n // Get the first row to determine columns\n const firstRowId = sortedRows[0]\n if (!firstRowId) return ''\n\n // Get all column IDs for the first row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(firstRowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Include headers if requested\n if (headers && colIds.length > 0) {\n const headerValues: string[] = []\n\n for (const colId of colIds) {\n // Use colId as the column name since we don't have direct access to column names\n const columnName = colId\n headerValues.push(`${columnName.replace(/\"/g, '\"\"')}`)\n }\n\n clipboardText += headerValues.join('\\t') + '\\n'\n }\n\n for (const rowId of sortedRows) {\n // Get the entity for this row\n const entity = getEntityById(rowId)\n\n if (!entity) {\n console.warn(`Entity not found for rowId: ${rowId}`)\n continue\n }\n\n // Get all column IDs for this row, sorted by their index in the grid\n const colIds = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // Filter out the row selection column from the copied data\n const filteredColIds = colIds.filter((colId) => colId !== ROW_SELECTION_COLUMN_ID)\n\n const rowValues: string[] = []\n\n // For each column in this row\n for (const colId of filteredColIds) {\n // Determine the value based on the column ID\n let cellValue = ''\n\n // special handling of link cells\n if (colId.startsWith('link_')) {\n cellValue = getLinkEntityIdsByColumnId(entity.links, colId)\n } else {\n // @ts-ignore\n let foundValue = getCellValue(entity, colId)\n\n if (!foundValue) {\n // we should look for the default value set out in attribFields\n const field = attribFields.find((f) => f.name === colId.replace('attrib_', ''))\n if (field && field.data.type === 'boolean') {\n foundValue = false // default boolean value\n } else if (field && field.data.type.includes('list_of')) {\n foundValue = [] // default list value\n }\n }\n\n // convert to string if foundValue is not undefined or null use empty string otherwise\n cellValue = foundValue !== undefined && foundValue !== null ? String(foundValue) : ''\n\n // Special handling for name field - include full path\n if (colId === 'name') {\n cellValue = getEntityPath(entity.entityId || entity.id, entitiesMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n if ('folderType' in entity) {\n cellValue = entity.folderType || ''\n }\n if ('taskType' in entity) {\n cellValue = entity.taskType || ''\n }\n }\n }\n\n // Escape double quotes in the cell value and wrap in quotes\n rowValues.push(`${cellValue.replace(/\"/g, '\"\"')}`)\n }\n\n // Add row to clipboard text\n clipboardText += rowValues.join('\\t') + '\\n'\n }\n\n return clipboardText\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, focusedCellId, gridMap, entitiesMap, getEntityById],\n )\n\n const doesClipboardContainId = async () => {\n // check if the clipboard contains a valid ID\n const clipboardText = await getClipboardString()\n if (!clipboardText) return false\n const parsedData = parseClipboardText(clipboardText)\n if (parsedData.length === 0) return false\n return parsedData.every((row) => {\n return row.values.every((value) => value.split(',').every((v) => validateEntityId(v)))\n })\n }\n\n const copyToClipboard: ClipboardContextType['copyToClipboard'] = useCallback(\n async (selected, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n const clipboardText = await getSelectionData(selected, { fullRow })\n if (!clipboardText) {\n return\n }\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n try {\n await navigator.clipboard.writeText(clipboardText)\n console.log('Copied to clipboard successfully', clipboardText)\n } catch (error: any) {\n clipboardError(`Failed to copy to clipboard: ${error.message}`)\n }\n },\n [selectedCells, entitiesMap, gridMap],\n )\n\n const exportCSV: ClipboardContextType['exportCSV'] = useCallback(\n async (selected, projectName, fullRow) => {\n selected = selected || Array.from(selectedCells)\n if (!selected.length) return\n\n try {\n // Get clipboard text with headers included for CSV export\n const clipboardText = await getSelectionData(selected, { headers: true, fullRow })\n if (!clipboardText) return\n\n // create a csv file and download it\n const blob = new Blob([clipboardText], { type: 'text/csv' })\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n const selectedCount = selected.length\n a.download = `${projectName}-export-${selectedCount}_cells-${new Date()\n .toISOString()\n .slice(0, 10)}.csv`\n a.click()\n URL.revokeObjectURL(url)\n } catch (error) {\n console.error('Failed to copy to clipboard:', error)\n }\n },\n [selectedCells, entitiesMap, gridMap, getSelectionData],\n )\n\n const getClipboardString = async (): Promise<string | void> => {\n if (!navigator.clipboard) {\n clipboardError('Clipboard API not supported in this browser.')\n return\n }\n if (!window.isSecureContext) {\n clipboardError('Clipboard operations require a secure HTTPS context.')\n return\n }\n let clipboardText: string\n try {\n clipboardText = await navigator.clipboard.readText()\n return clipboardText\n } catch (error: any) {\n clipboardError(`Failed to read from clipboard: ${error.message}`)\n return\n }\n }\n\n const pasteFromClipboard: ClipboardContextType['pasteFromClipboard'] = useCallback(\n async (selected, config) => {\n const { method = 'replace' } = config || {}\n if (!selected.length) return\n\n const clipboardText = await getClipboardString()\n if (!clipboardText) return\n\n // Parse the clipboard text\n const parsedData = parseClipboardText(clipboardText)\n if (!parsedData.length) return\n\n // Determine if we have a single value in the clipboard (one row, one column)\n const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1\n\n // Organize selected cells by row\n const cellsByRow = new Map<string, Set<string>>()\n\n // Parse all selected cells and organize by rowId and colId\n Array.from(selected).forEach((cellId) => {\n const position = parseCellId(cellId)\n if (!position) return\n\n const { rowId, colId } = position\n\n if (!cellsByRow.has(rowId)) {\n cellsByRow.set(rowId, new Set())\n }\n cellsByRow.get(rowId)?.add(colId)\n })\n\n // Get sorted row IDs based on their index in the grid\n const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {\n const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.rowIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // For each row, get the sorted column IDs\n const firstRow = sortedRows[0]\n const selectedColIds = Array.from(cellsByRow.get(firstRow) || []).sort((a, b) => {\n const indexA = gridMap.colIdToIndex.get(a) ?? Infinity\n const indexB = gridMap.colIdToIndex.get(b) ?? Infinity\n return indexA - indexB\n })\n\n // First pass: validate all values for status and subType\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const isFolder = getEntityDataById<'folder'>(rowId, entitiesMap)?.entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n // If it's a single cell value, use it for all cells\n // Otherwise use the modulo approach to repeat values\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n // Validate clipboard data for this cell\n const isValid = validateClipboardData({\n colId,\n isFolder,\n pasteValue,\n parsedData,\n columnEnums,\n columnReadOnly,\n rowIndex,\n colIndex,\n isSingleCellValue,\n })\n\n if (!isValid) return\n }\n }\n\n // Create a map to consolidate updates for the same entity\n const entitiesToUpdateMap = new Map<\n string,\n {\n rowId: string\n id: string\n type: string\n fields: Record<string, any>\n attrib: Record<string, any>\n links: Record<string, string[]>\n }\n >()\n\n // For each column, prepare updates\n for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {\n const colId = selectedColIds[colIndex]\n\n // Skip special handling for 'name' which we don't want to paste\n if (colId === 'name') continue\n\n // Check if this is an attribute field by examining the first entity\n let isAttrib = false,\n isLink = false\n // Check if the field potentially contains array values\n let fieldValueType: 'string' | 'number' | 'boolean' | 'array' = 'string'\n\n if (sortedRows.length > 0) {\n const firstRowId = sortedRows[0]\n const entity = getEntityById(firstRowId)\n if (entity) {\n isAttrib = colId.startsWith('attrib_')\n isLink = colId.startsWith('link_')\n\n // Determine if field is an array and its value type\n // @ts-ignore - Check entity property or attribute\n const fieldValue = getCellValue(entity, colId)\n if (Array.isArray(fieldValue) || isLink) {\n fieldValueType = 'array'\n } else if (typeof fieldValue === 'number') {\n fieldValueType = 'number'\n } else if (typeof fieldValue === 'boolean') {\n fieldValueType = 'boolean'\n }\n\n // Special case for subType\n if (colId === 'subType') {\n isAttrib = false\n }\n }\n }\n\n // Process each row individually\n for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {\n const rowId = sortedRows[rowIndex]\n const entityType = getEntityDataById(rowId, entitiesMap)?.entityType\n const isFolder = entityType === 'folder'\n\n // Get the appropriate value from the clipboard data\n let pasteValue\n if (isSingleCellValue) {\n pasteValue = parsedData[0].values[0]\n } else {\n const pasteRowIndex = rowIndex % parsedData.length\n const pasteColIndex = colIndex % parsedData[pasteRowIndex].values.length\n pasteValue = parsedData[pasteRowIndex].values[pasteColIndex]\n }\n\n let fieldToUpdate = colId.split('_').pop() || colId\n\n // Special handling for subType (convert to folderType or taskType)\n if (colId === 'subType') {\n fieldToUpdate = isFolder ? 'folderType' : 'taskType'\n isAttrib = false\n\n // Skip empty values for enum fields\n if (!pasteValue) continue\n }\n\n // Process the value based on its type\n const processedValue = processFieldValue(pasteValue, fieldValueType)\n\n // Get or create entity entry in the map\n const entityKey = `${rowId}-${entityType}`\n if (!entitiesToUpdateMap.has(entityKey) && entityType) {\n entitiesToUpdateMap.set(entityKey, {\n rowId,\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n links: {},\n })\n }\n\n const entityData = entitiesToUpdateMap.get(entityKey)!\n\n // Add the field to the appropriate place\n if (isLink) {\n const [_link, linkType, inType, outType, direction] = colId.split('_')\n // final-task|folder|task\n entityData.links[`${linkType}|${inType}|${outType}_${direction}`] = processedValue\n } else if (isAttrib) {\n entityData.attrib[fieldToUpdate] = processedValue\n } else {\n entityData.fields[fieldToUpdate] = processedValue\n }\n }\n }\n\n // Convert the consolidated map to EntityUpdate array and LinkUpdate array\n const allEntityUpdates: EntityUpdate[] = []\n const linkUpdatesMap = new Map<string, LinkUpdate>()\n\n entitiesToUpdateMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n })\n })\n\n // For attributes, create one update per attribute\n Object.entries(entity.attrib).forEach(([field, value]) => {\n allEntityUpdates.push({\n rowId: entity.rowId,\n id: entity.id,\n type: entity.type,\n field,\n value,\n isAttrib: true,\n })\n })\n\n // For links, create LinkUpdate objects\n Object.entries(entity.links).forEach(([linkKey, targetEntityIds]) => {\n // Parse the linkKey: \"linkType|inType|outType_direction\"\n const [linkTypePart, direction] = linkKey.split('_')\n const linkTypeParts = linkTypePart.split('|')\n\n if (linkTypeParts.length >= 3) {\n const linkTypeName = linkTypeParts[0]\n const inType = linkTypeParts[1]\n const outType = linkTypeParts[2]\n\n // Reconstruct the full linkType in the required format: name|input_type|output_type\n const linkType = `${linkTypeName}|${inType}|${outType}`\n\n // Determine target entity type based on direction\n const targetEntityType = direction === 'out' ? outType : inType\n\n // Create a unique key for this link operation\n const linkUpdateKey = `${entity.id}-${linkType}-${direction}`\n\n linkUpdatesMap.set(linkUpdateKey, {\n rowId: entity.rowId,\n sourceEntityId: entity.id,\n sourceEntityType: entity.type,\n linkType,\n direction: direction as 'in' | 'out',\n targetEntityType,\n operation: method,\n targetEntityIds: Array.isArray(targetEntityIds) ? targetEntityIds : [],\n })\n }\n })\n })\n\n const allLinkUpdates = Array.from(linkUpdatesMap.values())\n\n // Make separate calls to update entities and links\n const updatePromises: Promise<void>[] = []\n\n if (allEntityUpdates.length > 0) {\n updatePromises.push(updateEntities(allEntityUpdates))\n }\n\n if (allLinkUpdates.length > 0) {\n updatePromises.push(pasteTableLinks(allLinkUpdates))\n }\n\n if (updatePromises.length > 0) {\n try {\n await Promise.all(updatePromises)\n } catch (error: any) {\n console.error('Error updating entities:', error)\n clipboardError(`Paste failed: ${error || error?.message || 'Unknown error'}`)\n }\n }\n },\n [\n selectedCells,\n gridMap,\n entitiesMap,\n updateEntities,\n pasteTableLinks,\n columnEnums,\n getEntityById,\n ],\n )\n\n // Set up keyboard event listeners\n useEffect(() => {\n const handleKeyDown = async (e: KeyboardEvent) => {\n // Copy functionality (Ctrl+C or Command+C)\n if ((e.ctrlKey || e.metaKey) && e.key === 'c') {\n copyToClipboard()\n }\n\n // Paste functionality (Ctrl+V or Command+V)\n if ((e.ctrlKey || e.metaKey) && e.key === 'v') {\n // don't execute paste if focus is inside an input, textarea, or content‐editable element\n const activeEl = document.activeElement as HTMLElement | null\n\n if (\n activeEl &&\n (activeEl.tagName === 'INPUT' ||\n activeEl.tagName === 'TEXTAREA' ||\n activeEl.isContentEditable)\n ) {\n // focus is inside an input, textarea, or content-editable element\n const allEntityIds = await doesClipboardContainId()\n // we might still want to paste if the clipboard contains valid entity IDs\n if (allEntityIds) {\n // prevent pasting into input fields and handle as paste on the cell\n e.preventDefault()\n } else {\n // skip pasting\n return\n }\n }\n pasteFromClipboard(Array.from(selectedCells), {\n method: e.shiftKey ? 'merge' : 'replace', // Use shift key to determine paste method\n })\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [copyToClipboard, pasteFromClipboard])\n\n const value = useMemo(\n () => ({\n copyToClipboard,\n pasteFromClipboard,\n exportCSV,\n }),\n [copyToClipboard, pasteFromClipboard],\n )\n\n return <ClipboardContext.Provider value={value}>{children}</ClipboardContext.Provider>\n}\n\nexport const useClipboard = (): ClipboardContextType => {\n const context = useContext(ClipboardContext)\n if (context === undefined) {\n throw new Error('useClipboard must be used within a ClipboardProvider')\n }\n return context\n}\n"],"names":["createContext","useSelectionCellsContext","useCellEditing","useProjectTableContext","useCallback","parseCellId","ROW_SELECTION_COLUMN_ID","colIds","getLinkEntityIdsByColumnId","getCellValue","getEntityPath","parseClipboardText","value","validateEntityId","clipboardError","_a","getEntityDataById","validateClipboardData","processFieldValue","useEffect","useMemo","jsx","useContext"],"mappings":"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"}
|