@ynput/ayon-frontend-shared 0.2.2 → 0.2.4
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/ContextMenu.cjs.js +1 -0
- package/dist/ContextMenu.cjs.js.map +1 -1
- package/dist/ContextMenu.es.js +1 -0
- package/dist/ContextMenu.es.js.map +1 -1
- package/dist/DetailsPanel.cjs.js +23 -1
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +23 -1
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +12 -1
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +14 -3
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.cjs.js +0 -2
- package/dist/_virtual/_commonjsHelpers.cjs.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.es.js +0 -2
- package/dist/_virtual/_commonjsHelpers.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +3 -5
- package/dist/_virtual/index.cjs10.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +4 -4
- package/dist/_virtual/index.cjs5.js +2 -2
- package/dist/_virtual/index.cjs6.js +4 -4
- package/dist/_virtual/index.cjs7.js +5 -3
- package/dist/_virtual/index.cjs7.js.map +1 -1
- package/dist/_virtual/index.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +2 -5
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es4.js +4 -4
- package/dist/_virtual/index.es5.js +2 -2
- package/dist/_virtual/index.es6.js +4 -4
- package/dist/_virtual/index.es7.js +5 -2
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- package/dist/api.cjs.js +24 -1
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +26 -3
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +12 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +12 -0
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +3 -0
- package/dist/context.cjs.js.map +1 -1
- package/dist/context.es.js +3 -0
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +24 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +24 -2
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js +19 -10
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js +21 -12
- package/dist/node_modules/@reduxjs/toolkit/dist/query/react/rtk-query-react.modern.es.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js +174 -68
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.cjs.js.map +1 -1
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js +174 -68
- package/dist/node_modules/@reduxjs/toolkit/dist/query/rtk-query.modern.es.js.map +1 -1
- package/dist/node_modules/@standard-schema/utils/dist/index.cjs.js +23 -0
- package/dist/node_modules/@standard-schema/utils/dist/index.cjs.js.map +1 -0
- package/dist/node_modules/@standard-schema/utils/dist/index.es.js +23 -0
- package/dist/node_modules/@standard-schema/utils/dist/index.es.js.map +1 -0
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +3 -0
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +3 -0
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.cjs.js +13 -0
- package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.es.js +13 -0
- package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +130 -0
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +130 -0
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +12 -4
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +13 -5
- 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 +267 -0
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +267 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +51 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +51 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +169 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +169 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js +29 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js +29 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +3 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +3 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +40 -5
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +40 -5
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +7 -3
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +355 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +355 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js +93 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js +93 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.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 +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js +4 -2
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js.map +1 -1
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js +4 -2
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +3 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +23 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +23 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +194 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +195 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +128 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +128 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +185 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +185 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +67 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +68 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/util/index.cjs.js +19 -0
- package/dist/shared/src/components/EnumEditor/util/index.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/util/index.es.js +19 -0
- package/dist/shared/src/components/EnumEditor/util/index.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +78 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +79 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +352 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +353 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +113 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +52 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +53 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -0
- 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 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +103 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +103 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +83 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +83 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.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 +23 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +23 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +16 -7
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +16 -7
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +23 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +23 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenu.css +54 -19
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +11 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +11 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +23 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +23 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +25 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +25 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +24 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +24 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +26 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +26 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +5 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +5 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +5 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +2 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +2 -1
- 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 +5 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +5 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +7 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +198 -222
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +201 -225
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +1 -3
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +1 -3
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +361 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +361 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +41 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +41 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +29 -36
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +31 -38
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +33 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +34 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +17 -11
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +17 -11
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.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/clipboardUtils.cjs.js +6 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js +6 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +190 -146
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +190 -146
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +10 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +10 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +15 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +15 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +44 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +15 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +15 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js +27 -31
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js +27 -31
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.cjs.js → useUpdateTableData.cjs.js} +48 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.es.js → useUpdateTableData.es.js} +48 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +39 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +39 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +57 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +58 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +34 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +34 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +7 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +7 -5
- package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +9 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +17 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +17 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +53 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +53 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +24 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +6 -1
- package/dist/shared/src/context/DetailsPanelContext.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/context/SettingsPanelContext.cjs.js +63 -0
- package/dist/shared/src/context/SettingsPanelContext.cjs.js.map +1 -0
- package/dist/shared/src/context/SettingsPanelContext.es.js +63 -0
- package/dist/shared/src/context/SettingsPanelContext.es.js.map +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +5 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -2
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -2
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js +3 -3
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js +3 -3
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +48 -0
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -0
- package/dist/shared/src/util/getAttributeIcon.es.js +48 -0
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -0
- package/dist/shared/src/util/platform.cjs.js +7 -6
- package/dist/shared/src/util/platform.cjs.js.map +1 -1
- package/dist/shared/src/util/platform.es.js +7 -6
- package/dist/shared/src/util/platform.es.js.map +1 -1
- package/dist/types/Actions.d.ts +1 -1
- package/dist/types/ContextMenu.d.ts +1 -1
- package/dist/types/DetailsPanel.d.ts +1 -1
- package/dist/types/Feed.d.ts +1 -1
- package/dist/types/ProjectTreeTable.d.ts +1 -1
- package/dist/types/RepresentationsList.d.ts +1 -1
- package/dist/types/Slicer.d.ts +1 -1
- package/dist/types/api.d.ts +3 -3
- package/dist/types/components.d.ts +1 -1
- package/dist/types/context.d.ts +1 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/shared/src/SimpleTable/SimpleTable.d.ts +43 -0
- package/dist/types/shared/src/SimpleTable/SimpleTable.styled.d.ts +10 -0
- package/dist/types/shared/src/SimpleTable/SimpleTableRowTemplate.d.ts +13 -0
- package/dist/types/shared/src/SimpleTable/context/SimpleTableContext.d.ts +23 -0
- package/dist/types/shared/src/SimpleTable/index.d.ts +5 -0
- package/dist/types/{api → shared/src/api}/generated/access.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/actions.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/activityFeed.d.ts +8 -8
- package/dist/types/{api → shared/src/api}/generated/addons.d.ts +28 -28
- package/dist/types/{api → shared/src/api}/generated/anatomy.d.ts +36 -6
- package/dist/types/{api → shared/src/api}/generated/attributes.d.ts +5 -5
- package/dist/types/{api → shared/src/api}/generated/authentication.d.ts +5 -5
- package/dist/types/{api → shared/src/api}/generated/bundles.d.ts +7 -7
- package/dist/types/{api → shared/src/api}/generated/configuration.d.ts +7 -7
- package/dist/types/{api → shared/src/api}/generated/desktop.d.ts +12 -12
- package/dist/types/{api → shared/src/api}/generated/entityLists.d.ts +12 -12
- package/dist/types/{api → shared/src/api}/generated/events.d.ts +8 -8
- package/dist/types/{api → shared/src/api}/generated/files.d.ts +7 -7
- package/dist/types/{api → shared/src/api}/generated/folders.d.ts +8 -8
- package/dist/types/{api → shared/src/api}/generated/graphql.d.ts +280 -64
- package/dist/types/{api → shared/src/api}/generated/inbox.d.ts +1 -1
- package/dist/types/{api → shared/src/api}/generated/links.d.ts +5 -5
- package/dist/types/{api → shared/src/api}/generated/market.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/onboarding.d.ts +3 -3
- package/dist/types/{api → shared/src/api}/generated/operations.d.ts +3 -3
- package/dist/types/{api → shared/src/api}/generated/products.d.ts +5 -5
- package/dist/types/{api → shared/src/api}/generated/projectDashboard.d.ts +4 -4
- package/dist/types/{api → shared/src/api}/generated/projects.d.ts +27 -27
- package/dist/types/{api → shared/src/api}/generated/representations.d.ts +5 -5
- package/dist/types/{api → shared/src/api}/generated/reviewables.d.ts +7 -7
- package/dist/types/{api → shared/src/api}/generated/services.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/system.d.ts +12 -12
- package/dist/types/{api → shared/src/api}/generated/tasks.d.ts +8 -8
- package/dist/types/{api → shared/src/api}/generated/teams.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/thumbnails.d.ts +11 -11
- package/dist/types/{api → shared/src/api}/generated/uRIs.d.ts +2 -2
- package/dist/types/{api → shared/src/api}/generated/users.d.ts +26 -26
- package/dist/types/{api → shared/src/api}/generated/versions.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/workfiles.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/generated/ynputCloud.d.ts +5 -5
- package/dist/types/{api → shared/src/api}/queries/actions/getActions.d.ts +29 -29
- package/dist/types/{api → shared/src/api}/queries/activities/getActivities.d.ts +88 -71
- package/dist/types/{api → shared/src/api}/queries/activities/getMentions.d.ts +18 -18
- package/dist/types/{api → shared/src/api}/queries/activities/updateActivities.d.ts +94 -62
- package/dist/types/{api → shared/src/api}/queries/activities/updateReaction.d.ts +10 -10
- package/dist/types/{api → shared/src/api}/queries/addons/getAddons.d.ts +67 -67
- package/dist/types/{api → shared/src/api}/queries/addons/updateAddons.d.ts +35 -35
- package/dist/types/{api → shared/src/api}/queries/attributes/getAttributes.d.ts +23 -23
- package/dist/types/{api → shared/src/api}/queries/attributes/updateAttributes.d.ts +12 -12
- package/dist/types/{api → shared/src/api}/queries/authentication/getAuthentication.d.ts +15 -15
- package/dist/types/{api → shared/src/api}/queries/entities/getEntity.d.ts +89 -73
- package/dist/types/{api → shared/src/api}/queries/entities/getEntityPanel.d.ts +60 -44
- package/dist/types/{api → shared/src/api}/queries/entities/transformDetailsPanelData.d.ts +1 -0
- package/dist/types/{api → shared/src/api}/queries/entities/updateEntity.d.ts +48 -32
- package/dist/types/shared/src/api/queries/entityLists/getLists.d.ts +3009 -0
- package/dist/types/shared/src/api/queries/entityLists/getListsAttributes.d.ts +148 -0
- package/dist/types/shared/src/api/queries/entityLists/index.d.ts +5 -0
- package/dist/types/shared/src/api/queries/entityLists/types.d.ts +71 -0
- package/dist/types/shared/src/api/queries/entityLists/updateLists.d.ts +1137 -0
- package/dist/types/shared/src/api/queries/entityLists/updateListsAttributes.d.ts +176 -0
- package/dist/types/{api → shared/src/api}/queries/folders/getFolders.d.ts +26 -26
- package/dist/types/{api → shared/src/api}/queries/index.d.ts +1 -0
- package/dist/types/{api → shared/src/api}/queries/overview/getOverview.d.ts +89 -73
- package/dist/types/{api → shared/src/api}/queries/overview/updateOverview.d.ts +6 -6
- package/dist/types/{api → shared/src/api}/queries/project/getProject.d.ts +103 -103
- package/dist/types/{api → shared/src/api}/queries/review/getReview.d.ts +36 -36
- package/dist/types/{api → shared/src/api}/queries/review/updateReview.d.ts +13 -13
- package/dist/types/{api → shared/src/api}/queries/system/getSystem.d.ts +39 -39
- package/dist/types/{api → shared/src/api}/queries/userDashboard/getUserDashboard.d.ts +69 -53
- package/dist/types/{api → shared/src/api}/queries/users/getUsers.d.ts +126 -110
- package/dist/types/{api → shared/src/api}/queries/watchers/getWatchers.d.ts +20 -20
- package/dist/types/shared/src/components/AttributeEditor/AttributeEditor.d.ts +18 -0
- package/dist/types/shared/src/components/AttributeEditor/components/MinMaxField.d.ts +14 -0
- package/dist/types/shared/src/components/AttributeEditor/components/index.d.ts +1 -0
- package/dist/types/shared/src/components/AttributeEditor/index.d.ts +1 -0
- package/dist/types/shared/src/components/EnumEditor/DraggableEnumEditorItem.d.ts +10 -0
- package/dist/types/shared/src/components/EnumEditor/EnumEditor.d.ts +22 -0
- package/dist/types/shared/src/components/EnumEditor/EnumEditor.styled.d.ts +23 -0
- package/dist/types/shared/src/components/EnumEditor/hooks/useDraggable.d.ts +17 -0
- package/dist/types/shared/src/components/EnumEditor/index.d.ts +1 -0
- package/dist/types/shared/src/components/EnumEditor/util/index.d.ts +1 -0
- package/dist/types/shared/src/components/ProjectTableSettings/ColumnItem.d.ts +14 -0
- package/dist/types/shared/src/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -0
- package/dist/types/shared/src/components/ProjectTableSettings/ProjectTableSettings.d.ts +18 -0
- package/dist/types/shared/src/components/ProjectTableSettings/SortableColumnItem.d.ts +13 -0
- package/dist/types/shared/src/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/shared/src/components/SettingsPanel/SettingsPanel.d.ts +16 -0
- package/dist/types/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +20 -0
- package/dist/types/shared/src/components/SettingsPanel/index.d.ts +2 -0
- package/dist/types/{components → shared/src/components}/index.d.ts +4 -0
- package/dist/types/{containers → shared/src/containers}/Actions/Actions.d.ts +5 -1
- package/dist/types/{containers → shared/src/containers}/ContextMenu/ContextMenuItem.d.ts +3 -1
- package/dist/types/shared/src/containers/ProjectTreeTable/ProjectTreeTable.d.ts +39 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +23 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/CellEditingContext.d.ts +3 -3
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ColumnSettingsContext.d.ts +6 -2
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableContext.d.ts +41 -34
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableQueriesContext.d.ts +3 -2
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardUtils.d.ts +2 -2
- package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +29 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useFolderRelationships.d.ts +7 -7
- package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +6 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useHistory.d.ts +5 -3
- package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +17 -0
- package/dist/types/{containers/ProjectTreeTable/hooks/useUpdateOverview.d.ts → shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts} +12 -3
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/index.d.ts +5 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/index.d.ts +4 -6
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/table.d.ts +51 -12
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/cellUtils.d.ts +2 -3
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +16 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +5 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +14 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.d.ts +4 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -2
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/CellWidget.d.ts +10 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/DateWidget.d.ts +2 -3
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/EntityNameWidget.d.ts +1 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/EnumWidget.d.ts +2 -2
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/TextWidget.d.ts +3 -1
- package/dist/types/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +9 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/shared/src/context/SettingsPanelContext.d.ts +20 -0
- package/dist/types/{context → shared/src/context}/index.d.ts +1 -0
- package/dist/types/shared/src/index.d.ts +2 -0
- package/dist/types/shared/src/util/getAttributeIcon.d.ts +4 -0
- package/dist/types/{util → shared/src/util}/index.d.ts +1 -0
- package/dist/types/util.d.ts +1 -1
- package/dist/util.cjs.js +2 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +2 -0
- package/dist/util.es.js.map +1 -1
- package/package.json +2 -1
- package/dist/_virtual/lodash.cjs.js +0 -6
- package/dist/_virtual/lodash.cjs.js.map +0 -1
- package/dist/_virtual/lodash.cjs2.js +0 -5
- package/dist/_virtual/lodash.cjs2.js.map +0 -1
- package/dist/_virtual/lodash.es.js +0 -6
- package/dist/_virtual/lodash.es.js.map +0 -1
- package/dist/_virtual/lodash.es2.js +0 -5
- package/dist/_virtual/lodash.es2.js.map +0 -1
- package/dist/shared/node_modules/lodash/lodash.cjs.js +0 -5492
- package/dist/shared/node_modules/lodash/lodash.cjs.js.map +0 -1
- package/dist/shared/node_modules/lodash/lodash.es.js +0 -5492
- package/dist/shared/node_modules/lodash/lodash.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js +0 -257
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js +0 -258
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js +0 -69
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js +0 -70
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js.map +0 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +0 -26
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTableColumns.d.ts +0 -16
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +0 -10
- package/dist/types/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +0 -32
- package/dist/types/containers/ProjectTreeTable/hooks/useValidateUpdates.d.ts +0 -3
- package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +0 -4
- /package/dist/types/{api → shared/src/api}/base/baseQueryTypes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/base/client.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/base/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/actions/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/activityQueries.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/types.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/util/activitiesHelpers.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/addons/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/attributes/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/authentication/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/entities/entityQueries.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/entities/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/folders/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/overview/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/project/ProjectTypes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/project/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/review/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/review/types.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/system/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/userDashboard/convertAccessGroupsData.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/userDashboard/getUserProjectsAccess.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/userDashboard/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/users/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/watchers/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsDialog/DetailsDialog.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsDialog/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/DetailsPanelAttributes.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/components/RenderFieldWidget.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/formatAttributesData.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/EmptyPlaceholder.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/EmptyPlaceholderFlex.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/EntityPath.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/EntityPath.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/SegmentProvider.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/EntityThumbnailUploader.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/EntityThumbnailUploader.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/FileThumbnail/FileThumbnail.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/FileThumbnail/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableCard/ReviewableCard.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableCard/ReviewableCard.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableCard/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/ReviewableProgressCard.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/ReviewableProgressCard.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/EditReviewableDialog.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesList.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesList.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesUpload.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesUpload.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/SortableReviewableCard.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/getGroupedReviewables.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/SimpleFormDialog/SimpleFormDialog.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/SimpleFormDialog/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/StackedThumbnails.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/Thumbnail.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/Thumbnail.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailSimple/ThumbnailSimple.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailSimple/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailUploader/ThumbnailUploader.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailUploader/ThumbnailUploader.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailUploader/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/UserImage/UserImage.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/UserImage/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Watchers/Watchers.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Watchers/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionConfigDialog.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionIcon.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/Actions.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/ActionsDropdown.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/InteractiveActionDialog.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/ContextMenuContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/GlobalContextMenu.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/useCreateContextMenu.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanel.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanel.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFiles/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedFilters/FeedFilters.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedFilters/FeedFilters.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedWrapper.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/buildDetailsPanelTitles.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getAllProjectsStatuses.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getEntityPathData.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getThumbnails.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/mergeProjectInfo.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/hooks/useGetEntityPath.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/Feed.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/Feed.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/ActivityCheckbox.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityComment.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityComment.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/CommentWrapper.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/mappers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityDate.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityGroup/ActivityGroup.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityGroup/ActivityGroup.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityHeader/ActivityHeader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityHeader/ActivityHeader.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityItem.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReference/ActivityReference.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReference/ActivityReference.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReferenceTooltip/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatus/ActivityStatus.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/hooks/getContextParents.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityVersions/ActivityVersions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/CommentInput.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/CommentInput.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/InputMarkdownConvert.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/helpers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useAnnotationsSync.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useAnnotationsUpload.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useInitialValue.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useMentionLink.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useSetCursorEnd.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/modules/ImageUploader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/modules/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/quillToMarkdown.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentMentionSelect/CommentMentionSelect.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/FileUploadCard.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/FileUploadCard.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/FileUploadPreview.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/Mimes/ImageMime.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/Mimes/TextMime.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/fileUtils.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/hooks/useAttachmentNavigation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/FilesGrid.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/FilesGrid.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/ExistingReactions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reaction.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/ReactionPanelOpener.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reactions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reactions.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/helpers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/types.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/EntityTooltip/EntityTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/UserTooltip/UserTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/context/FeedContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/feedHelpers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/helpers/groupActivityVersions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/helpers/groupMinorActivities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/helpers/mergeSimilarActivities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useCommentMutations.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useGetFeedActivitiesData.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useReferenceTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useSaveScrollPos.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useScrollOnInputOpen.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useScrollToHighlighted.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useTableKeyboardNavigation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useTransformActivities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionOptions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionTasks.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionUsers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionVersions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/ProjectTreeTable.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/HeaderActionButton.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/RowSelectionHeader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/SelectionCell.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ClipboardContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/SelectedRowsContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardValidation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useColumnVirtualization.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useCustomColumnWidthVars.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useDeleteEntities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useKeyboardNavigation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/folders.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/operations.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/project.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/loadingUtils.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/CollapsedWidget.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/DateWidgetInput.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/TextWidgetInput.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/RepresentationsList/RepresentationsList.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/RepresentationsList/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/RepresentationsList/versionsToRepresentations.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Slicer/createFilterFromSlicer.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Slicer/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Slicer/types.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/index.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/DetailsPanelContext.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/RemoteModulesContext.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/ThumbnailUploaderContext.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/PiPProvider.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/PiPWindow.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/PiPWrapper.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/index.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/index.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useActionTriggers.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useEntityUpdate.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useLoadModule.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useLoadModules.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useLocalStorage.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useScopedStatuses.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/confirmDelete.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/copyToClipboard.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/getEntityTypeIcon.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/getMixedState.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/getPriorityOptions.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/groupResult.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/platform.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/productTypes.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/pubsub.d.ts +0 -0
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
|
|
2
2
|
import { createContext, useContext, useState, useCallback, useMemo, useEffect } from "react";
|
|
3
|
-
import
|
|
3
|
+
import useUpdateTableData from "../hooks/useUpdateTableData.es.js";
|
|
4
4
|
import { toast } from "react-toastify";
|
|
5
|
-
import useValidateUpdates from "../hooks/useValidateUpdates.es.js";
|
|
6
5
|
import useHistory from "../hooks/useHistory.es.js";
|
|
6
|
+
import validateUpdateEntities from "../utils/validateUpdateEntities.es.js";
|
|
7
|
+
import { useProjectTableContext } from "./ProjectTableContext.es.js";
|
|
7
8
|
const CellEditingContext = createContext(void 0);
|
|
8
9
|
const CellEditingProvider = ({ children }) => {
|
|
9
10
|
const [editingCellId, setEditingCellId] = useState(null);
|
|
10
11
|
const isEditing = useCallback((id) => id === editingCellId, [editingCellId]);
|
|
11
|
-
const
|
|
12
|
-
const {
|
|
12
|
+
const history = useHistory();
|
|
13
|
+
const { pushHistory, undo: undoHistory, redo: redoHistory, canUndo, canRedo } = history;
|
|
14
|
+
const { updateEntities: updateOverviewEntities, inheritFromParent } = useUpdateTableData({
|
|
13
15
|
pushHistory
|
|
14
16
|
});
|
|
15
|
-
const
|
|
16
|
-
const handleUpdateEntities =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
const { attribFields } = useProjectTableContext();
|
|
18
|
+
const handleUpdateEntities = useCallback(
|
|
19
|
+
async (entities = [], pushToHistory = true) => {
|
|
20
|
+
try {
|
|
21
|
+
validateUpdateEntities(entities, attribFields);
|
|
22
|
+
return await updateOverviewEntities(entities, pushToHistory);
|
|
23
|
+
} catch (error) {
|
|
24
|
+
toast.error(error.message);
|
|
25
|
+
return Promise.reject(error);
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
[updateOverviewEntities, attribFields]
|
|
29
|
+
);
|
|
25
30
|
const handleUndo = async () => {
|
|
26
|
-
const [entitiesToUndo, entitiesToInherit] = undoHistory() || [];
|
|
31
|
+
const [entitiesToUndo, entitiesToInherit, callbacks] = undoHistory() || [];
|
|
27
32
|
if (entitiesToUndo && entitiesToUndo.length > 0) {
|
|
28
33
|
try {
|
|
29
34
|
await handleUpdateEntities(entitiesToUndo, false);
|
|
@@ -38,9 +43,18 @@ const CellEditingProvider = ({ children }) => {
|
|
|
38
43
|
toast.error("Failed to inherit changes");
|
|
39
44
|
}
|
|
40
45
|
}
|
|
46
|
+
if (callbacks && callbacks.length > 0) {
|
|
47
|
+
callbacks.forEach((callback) => {
|
|
48
|
+
try {
|
|
49
|
+
callback();
|
|
50
|
+
} catch (error) {
|
|
51
|
+
toast.error("Failed to execute custom undo action");
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
41
55
|
};
|
|
42
56
|
const handleRedo = async () => {
|
|
43
|
-
const [entitiesToRedo, entitiesToInherit] = redoHistory() || [];
|
|
57
|
+
const [entitiesToRedo, entitiesToInherit, callbacks] = redoHistory() || [];
|
|
44
58
|
if (entitiesToRedo && entitiesToRedo.length > 0) {
|
|
45
59
|
try {
|
|
46
60
|
await handleUpdateEntities(entitiesToRedo, false);
|
|
@@ -55,6 +69,15 @@ const CellEditingProvider = ({ children }) => {
|
|
|
55
69
|
toast.error("Failed to inherit changes");
|
|
56
70
|
}
|
|
57
71
|
}
|
|
72
|
+
if (callbacks && callbacks.length > 0) {
|
|
73
|
+
callbacks.forEach((callback) => {
|
|
74
|
+
try {
|
|
75
|
+
callback();
|
|
76
|
+
} catch (error) {
|
|
77
|
+
toast.error("Failed to execute custom redo action");
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
58
81
|
};
|
|
59
82
|
const value = useMemo(
|
|
60
83
|
() => ({
|
|
@@ -65,8 +88,7 @@ const CellEditingProvider = ({ children }) => {
|
|
|
65
88
|
inheritFromParent,
|
|
66
89
|
undo: handleUndo,
|
|
67
90
|
redo: handleRedo,
|
|
68
|
-
|
|
69
|
-
canRedo
|
|
91
|
+
history
|
|
70
92
|
}),
|
|
71
93
|
[
|
|
72
94
|
editingCellId,
|
|
@@ -75,8 +97,7 @@ const CellEditingProvider = ({ children }) => {
|
|
|
75
97
|
inheritFromParent,
|
|
76
98
|
handleUndo,
|
|
77
99
|
handleRedo,
|
|
78
|
-
|
|
79
|
-
canRedo
|
|
100
|
+
history
|
|
80
101
|
]
|
|
81
102
|
);
|
|
82
103
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellEditingContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/CellEditingContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n useEffect,\n ReactNode,\n} from 'react'\nimport { CellId } from '../utils/cellUtils'\nimport
|
|
1
|
+
{"version":3,"file":"CellEditingContext.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/context/CellEditingContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n useEffect,\n ReactNode,\n} from 'react'\nimport { CellId } from '../utils/cellUtils'\nimport useUpdateTableData, {\n InheritFromParent,\n UpdateTableEntities,\n} from '../hooks/useUpdateTableData'\nimport { toast } from 'react-toastify'\nimport useValidateUpdates from '../utils/validateUpdateEntities'\nimport useHistory, { UseHistoryReturn } from '../hooks/useHistory'\nimport validateUpdateEntities from '../utils/validateUpdateEntities'\nimport { useProjectTableContext } from './ProjectTableContext'\n\nexport interface CellEditingContextType {\n editingCellId: CellId | null\n setEditingCellId: (id: CellId | null) => void\n isEditing: (id: CellId) => boolean\n updateEntities: UpdateTableEntities\n inheritFromParent: InheritFromParent\n // Add history functions to context\n history: UseHistoryReturn\n undo: () => Promise<void>\n redo: () => Promise<void>\n}\n\nconst CellEditingContext = createContext<CellEditingContextType | undefined>(undefined)\n\nexport const CellEditingProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const [editingCellId, setEditingCellId] = useState<CellId | null>(null)\n\n // Memoize these functions to prevent unnecessary re-renders\n const isEditing = useCallback((id: CellId) => id === editingCellId, [editingCellId])\n\n // Get history functions\n const history = useHistory()\n const { pushHistory, undo: undoHistory, redo: redoHistory, canUndo, canRedo } = history\n\n const { updateEntities: updateOverviewEntities, inheritFromParent } = useUpdateTableData({\n pushHistory,\n })\n const { attribFields } = useProjectTableContext()\n\n const handleUpdateEntities: UpdateTableEntities = useCallback(\n async (entities = [], pushToHistory = true) => {\n try {\n // validate the entities before updating\n validateUpdateEntities(entities, attribFields)\n\n // if validation passes, update the entities\n return await updateOverviewEntities(entities, pushToHistory)\n } catch (error: any) {\n // if validation fails, show a toast and return\n toast.error(error.message)\n\n return Promise.reject(error)\n }\n },\n [updateOverviewEntities, attribFields],\n )\n\n // Handle undo\n const handleUndo = async () => {\n const [entitiesToUndo, entitiesToInherit, callbacks] = undoHistory() || []\n\n if (entitiesToUndo && entitiesToUndo.length > 0) {\n try {\n await handleUpdateEntities(entitiesToUndo, false)\n } catch (error) {\n toast.error('Failed to undo changes')\n }\n }\n if (entitiesToInherit && entitiesToInherit.length > 0) {\n try {\n await inheritFromParent(entitiesToInherit, false)\n } catch (error) {\n toast.error('Failed to inherit changes')\n }\n }\n // Execute custom callbacks if any\n if (callbacks && callbacks.length > 0) {\n callbacks.forEach((callback) => {\n try {\n callback()\n } catch (error) {\n toast.error('Failed to execute custom undo action')\n }\n })\n }\n }\n\n // Handle redo\n const handleRedo = async () => {\n const [entitiesToRedo, entitiesToInherit, callbacks] = redoHistory() || []\n\n if (entitiesToRedo && entitiesToRedo.length > 0) {\n try {\n await handleUpdateEntities(entitiesToRedo, false)\n } catch (error) {\n toast.error('Failed to redo changes')\n }\n }\n if (entitiesToInherit && entitiesToInherit.length > 0) {\n try {\n await inheritFromParent(entitiesToInherit, false)\n } catch (error) {\n toast.error('Failed to inherit changes')\n }\n }\n // Execute custom callbacks if any\n if (callbacks && callbacks.length > 0) {\n callbacks.forEach((callback) => {\n try {\n callback()\n } catch (error) {\n toast.error('Failed to execute custom redo action')\n }\n })\n }\n }\n\n const value = useMemo(\n () => ({\n editingCellId,\n setEditingCellId,\n isEditing,\n updateEntities: handleUpdateEntities,\n inheritFromParent,\n undo: handleUndo,\n redo: handleRedo,\n history,\n }),\n [\n editingCellId,\n isEditing,\n handleUpdateEntities,\n inheritFromParent,\n handleUndo,\n handleRedo,\n history,\n ],\n )\n\n // Listen for global undo/redo shortcuts and invoke context handlers\n useEffect(() => {\n const onKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable ||\n target.getAttribute('role') === 'textbox' ||\n target.tagName === 'LI'\n ) {\n return\n }\n\n const isMac =\n typeof navigator !== 'undefined' &&\n // @ts-expect-error\n ((navigator.userAgentData &&\n // @ts-expect-error\n navigator.userAgentData.platform.toUpperCase().includes('MAC')) ||\n navigator.userAgent.toUpperCase().includes('MAC'))\n const ctrlKey = isMac ? e.metaKey : e.ctrlKey\n\n if (ctrlKey && e.key === 'z') {\n e.preventDefault()\n if (canUndo) handleUndo()\n }\n if (\n (ctrlKey && e.key === 'y') ||\n (ctrlKey && e.shiftKey && e.key === 'z') ||\n (ctrlKey && e.key === 'Z')\n ) {\n e.preventDefault()\n if (canRedo) handleRedo()\n }\n }\n\n document.addEventListener('keydown', onKeyDown)\n return () => document.removeEventListener('keydown', onKeyDown)\n }, [canUndo, canRedo, handleUndo, handleRedo])\n\n return <CellEditingContext.Provider value={value}>{children}</CellEditingContext.Provider>\n}\n\nexport const useCellEditing = (): CellEditingContextType => {\n const context = useContext(CellEditingContext)\n if (context === undefined) {\n throw new Error('useCellEditing must be used within a CellEditingProvider')\n }\n return context\n}\n"],"names":["jsx"],"mappings":"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"}
|
|
@@ -7,23 +7,15 @@ const CellEditingContext = require("./CellEditingContext.cjs.js");
|
|
|
7
7
|
const cellUtils = require("../utils/cellUtils.cjs.js");
|
|
8
8
|
const clipboardUtils = require("./clipboard/clipboardUtils.cjs.js");
|
|
9
9
|
const clipboardValidation = require("./clipboard/clipboardValidation.cjs.js");
|
|
10
|
-
const ProjectTableContext = require("./ProjectTableContext.cjs.js");
|
|
11
10
|
const ClipboardContext = React.createContext(void 0);
|
|
12
|
-
const ClipboardProvider = ({
|
|
13
|
-
|
|
11
|
+
const ClipboardProvider = ({
|
|
12
|
+
children,
|
|
13
|
+
entitiesMap,
|
|
14
|
+
columnEnums,
|
|
15
|
+
columnReadOnly
|
|
16
|
+
}) => {
|
|
14
17
|
const { selectedCells, gridMap, focusedCellId } = SelectionCellsContext.useSelectionCellsContext();
|
|
15
18
|
const { updateEntities } = CellEditingContext.useCellEditing();
|
|
16
|
-
const attribByField = React.useMemo(() => {
|
|
17
|
-
return attribFields.reduce((acc, attrib) => {
|
|
18
|
-
var _a, _b, _c;
|
|
19
|
-
if ((_b = (_a = attrib.data) == null ? void 0 : _a.enum) == null ? void 0 : _b.length) {
|
|
20
|
-
acc[attrib.name] = (_c = attrib.data) == null ? void 0 : _c.enum;
|
|
21
|
-
}
|
|
22
|
-
return acc;
|
|
23
|
-
}, {});
|
|
24
|
-
}, [attribFields]);
|
|
25
|
-
const columnEnums = React.useMemo(() => ({ ...options, ...attribByField }), [attribByField]);
|
|
26
|
-
const columnReadOnly = attribFields.filter((attrib) => attrib.readOnly).map((attrib) => attrib.name);
|
|
27
19
|
const getSelectionData = React.useCallback(
|
|
28
20
|
async (selected, config) => {
|
|
29
21
|
const { headers, fullRow } = config || {};
|
|
@@ -83,8 +75,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
83
75
|
clipboardText += headerValues.join(" ") + "\n";
|
|
84
76
|
}
|
|
85
77
|
for (const rowId of sortedRows) {
|
|
86
|
-
const
|
|
87
|
-
const entity = isFolder ? foldersMap.get(rowId) : tasksMap.get(rowId);
|
|
78
|
+
const entity = entitiesMap.get(rowId);
|
|
88
79
|
if (!entity) continue;
|
|
89
80
|
const colIds2 = Array.from(cellsByRow.get(rowId) || []).sort((a, b) => {
|
|
90
81
|
const indexA = gridMap.colIdToIndex.get(a) ?? Infinity;
|
|
@@ -98,7 +89,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
98
89
|
const foundValue = cellUtils.getCellValue(entity, colId);
|
|
99
90
|
cellValue = foundValue !== void 0 && foundValue !== null ? String(foundValue) : "";
|
|
100
91
|
if (colId === "name") {
|
|
101
|
-
cellValue = clipboardUtils.getEntityPath(rowId,
|
|
92
|
+
cellValue = clipboardUtils.getEntityPath(rowId, entitiesMap);
|
|
102
93
|
}
|
|
103
94
|
if (colId === "subType") {
|
|
104
95
|
cellValue = entity[isFolder ? "folderType" : "taskType"] || "";
|
|
@@ -112,7 +103,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
112
103
|
console.error("Failed to copy to clipboard:", error);
|
|
113
104
|
}
|
|
114
105
|
},
|
|
115
|
-
[selectedCells, focusedCellId, gridMap,
|
|
106
|
+
[selectedCells, focusedCellId, gridMap, entitiesMap]
|
|
116
107
|
);
|
|
117
108
|
const copyToClipboard = React.useCallback(
|
|
118
109
|
async (selected, fullRow) => {
|
|
@@ -135,7 +126,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
135
126
|
clipboardUtils.clipboardError(`Failed to copy to clipboard: ${error.message}`);
|
|
136
127
|
}
|
|
137
128
|
},
|
|
138
|
-
[selectedCells,
|
|
129
|
+
[selectedCells, entitiesMap, gridMap]
|
|
139
130
|
);
|
|
140
131
|
const exportCSV = React.useCallback(
|
|
141
132
|
async (selected, projectName, fullRow) => {
|
|
@@ -156,10 +147,11 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
156
147
|
console.error("Failed to copy to clipboard:", error);
|
|
157
148
|
}
|
|
158
149
|
},
|
|
159
|
-
[selectedCells,
|
|
150
|
+
[selectedCells, entitiesMap, gridMap, getSelectionData]
|
|
160
151
|
);
|
|
161
152
|
const pasteFromClipboard = React.useCallback(
|
|
162
153
|
async (selected) => {
|
|
154
|
+
var _a, _b;
|
|
163
155
|
selected = selected || Array.from(selectedCells);
|
|
164
156
|
if (!selected.length) return;
|
|
165
157
|
if (!navigator.clipboard) {
|
|
@@ -177,20 +169,19 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
177
169
|
clipboardUtils.clipboardError(`Failed to read from clipboard: ${error.message}`);
|
|
178
170
|
return;
|
|
179
171
|
}
|
|
180
|
-
if (!clipboardText.trim()) return;
|
|
181
172
|
const parsedData = clipboardUtils.parseClipboardText(clipboardText);
|
|
182
173
|
if (!parsedData.length) return;
|
|
183
174
|
const isSingleCellValue = parsedData.length === 1 && parsedData[0].values.length === 1;
|
|
184
175
|
const cellsByRow = /* @__PURE__ */ new Map();
|
|
185
176
|
Array.from(selected).forEach((cellId) => {
|
|
186
|
-
var
|
|
177
|
+
var _a2;
|
|
187
178
|
const position = cellUtils.parseCellId(cellId);
|
|
188
179
|
if (!position) return;
|
|
189
180
|
const { rowId, colId } = position;
|
|
190
181
|
if (!cellsByRow.has(rowId)) {
|
|
191
182
|
cellsByRow.set(rowId, /* @__PURE__ */ new Set());
|
|
192
183
|
}
|
|
193
|
-
(
|
|
184
|
+
(_a2 = cellsByRow.get(rowId)) == null ? void 0 : _a2.add(colId);
|
|
194
185
|
});
|
|
195
186
|
const sortedRows = Array.from(cellsByRow.keys()).sort((a, b) => {
|
|
196
187
|
const indexA = gridMap.rowIdToIndex.get(a) ?? Infinity;
|
|
@@ -207,7 +198,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
207
198
|
const colId = selectedColIds[colIndex];
|
|
208
199
|
for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {
|
|
209
200
|
const rowId = sortedRows[rowIndex];
|
|
210
|
-
const
|
|
201
|
+
const isFolder2 = ((_a = cellUtils.getEntityDataById(rowId, entitiesMap)) == null ? void 0 : _a.entityType) === "folder";
|
|
211
202
|
let pasteValue;
|
|
212
203
|
if (isSingleCellValue) {
|
|
213
204
|
pasteValue = parsedData[0].values[0];
|
|
@@ -218,7 +209,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
218
209
|
}
|
|
219
210
|
const isValid = clipboardValidation.validateClipboardData({
|
|
220
211
|
colId,
|
|
221
|
-
isFolder,
|
|
212
|
+
isFolder: isFolder2,
|
|
222
213
|
pasteValue,
|
|
223
214
|
parsedData,
|
|
224
215
|
columnEnums,
|
|
@@ -230,7 +221,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
230
221
|
if (!isValid) return;
|
|
231
222
|
}
|
|
232
223
|
}
|
|
233
|
-
const
|
|
224
|
+
const entitiesToUpdateMap = /* @__PURE__ */ new Map();
|
|
234
225
|
for (let colIndex = 0; colIndex < selectedColIds.length; colIndex++) {
|
|
235
226
|
const colId = selectedColIds[colIndex];
|
|
236
227
|
if (colId === "name") continue;
|
|
@@ -238,8 +229,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
238
229
|
let fieldValueType = "string";
|
|
239
230
|
if (sortedRows.length > 0) {
|
|
240
231
|
const firstRowId = sortedRows[0];
|
|
241
|
-
const
|
|
242
|
-
const entity = isFolder ? foldersMap.get(firstRowId) : tasksMap.get(firstRowId);
|
|
232
|
+
const entity = entitiesMap.get(firstRowId);
|
|
243
233
|
if (entity) {
|
|
244
234
|
isAttrib = colId.startsWith("attrib_");
|
|
245
235
|
const fieldValue = cellUtils.getCellValue(entity, colId);
|
|
@@ -257,8 +247,8 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
257
247
|
}
|
|
258
248
|
for (let rowIndex = 0; rowIndex < sortedRows.length; rowIndex++) {
|
|
259
249
|
const rowId = sortedRows[rowIndex];
|
|
260
|
-
const
|
|
261
|
-
const
|
|
250
|
+
const entityType = (_b = cellUtils.getEntityDataById(rowId, entitiesMap)) == null ? void 0 : _b.entityType;
|
|
251
|
+
const isFolder2 = entityType === "folder";
|
|
262
252
|
let pasteValue;
|
|
263
253
|
if (isSingleCellValue) {
|
|
264
254
|
pasteValue = parsedData[0].values[0];
|
|
@@ -269,21 +259,22 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
269
259
|
}
|
|
270
260
|
let fieldToUpdate = colId.split("_").pop() || colId;
|
|
271
261
|
if (colId === "subType") {
|
|
272
|
-
fieldToUpdate =
|
|
262
|
+
fieldToUpdate = isFolder2 ? "folderType" : "taskType";
|
|
273
263
|
isAttrib = false;
|
|
274
264
|
if (!pasteValue) continue;
|
|
275
265
|
}
|
|
276
266
|
const processedValue = clipboardUtils.processFieldValue(pasteValue, fieldValueType);
|
|
277
267
|
const entityKey = `${rowId}-${entityType}`;
|
|
278
|
-
if (!
|
|
279
|
-
|
|
268
|
+
if (!entitiesToUpdateMap.has(entityKey) && entityType) {
|
|
269
|
+
entitiesToUpdateMap.set(entityKey, {
|
|
270
|
+
rowId,
|
|
280
271
|
id: rowId,
|
|
281
272
|
type: entityType,
|
|
282
273
|
fields: {},
|
|
283
274
|
attrib: {}
|
|
284
275
|
});
|
|
285
276
|
}
|
|
286
|
-
const entityData =
|
|
277
|
+
const entityData = entitiesToUpdateMap.get(entityKey);
|
|
287
278
|
if (isAttrib) {
|
|
288
279
|
entityData.attrib[fieldToUpdate] = processedValue;
|
|
289
280
|
} else {
|
|
@@ -292,9 +283,10 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
292
283
|
}
|
|
293
284
|
}
|
|
294
285
|
const allEntityUpdates = [];
|
|
295
|
-
|
|
286
|
+
entitiesToUpdateMap.forEach((entity) => {
|
|
296
287
|
Object.entries(entity.fields).forEach(([field, value2]) => {
|
|
297
288
|
allEntityUpdates.push({
|
|
289
|
+
rowId: entity.rowId,
|
|
298
290
|
id: entity.id,
|
|
299
291
|
type: entity.type,
|
|
300
292
|
field,
|
|
@@ -303,6 +295,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
303
295
|
});
|
|
304
296
|
Object.entries(entity.attrib).forEach(([field, value2]) => {
|
|
305
297
|
allEntityUpdates.push({
|
|
298
|
+
rowId: entity.rowId,
|
|
306
299
|
id: entity.id,
|
|
307
300
|
type: entity.type,
|
|
308
301
|
field,
|
|
@@ -322,7 +315,7 @@ const ClipboardProvider = ({ children, options }) => {
|
|
|
322
315
|
}
|
|
323
316
|
}
|
|
324
317
|
},
|
|
325
|
-
[selectedCells, gridMap,
|
|
318
|
+
[selectedCells, gridMap, entitiesMap, updateEntities, columnEnums]
|
|
326
319
|
);
|
|
327
320
|
React.useEffect(() => {
|
|
328
321
|
const handleKeyDown = (e) => {
|
|
@@ -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, parseCellId } from '../utils/cellUtils'\n\n// Types\nimport { EntityUpdate } from '../hooks/useUpdateOverview'\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 { AttributeEnumItem } from '@shared/api'\n\nconst ClipboardContext = createContext<ClipboardContextType | undefined>(undefined)\n\nexport const ClipboardProvider: React.FC<ClipboardProviderProps> = ({ children, options }) => {\n const { foldersMap, tasksMap, attribFields } = useProjectTableContext()\n // Get selection information from SelectionCellsContext\n const { selectedCells, gridMap, focusedCellId } = useSelectionCellsContext()\n const { updateEntities } = useCellEditing()\n\n // convert attribs to object\n const attribByField = useMemo(() => {\n return attribFields.reduce((acc: Record<string, AttributeEnumItem[]>, attrib) => {\n if (attrib.data?.enum?.length) {\n acc[attrib.name] = attrib.data?.enum\n }\n return acc\n }, {})\n }, [attribFields])\n\n const columnEnums = useMemo(() => ({ ...options, ...attribByField }), [attribByField])\n\n const columnReadOnly = attribFields\n .filter((attrib) => attrib.readOnly)\n .map((attrib) => attrib.name)\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 isFolder = foldersMap.has(rowId)\n const entity = isFolder ? foldersMap.get(rowId) : tasksMap.get(rowId)\n\n if (!entity) continue\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 const foundValue = getCellValue(entity, colId)\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(rowId, isFolder, foldersMap, tasksMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n // @ts-ignore\n cellValue = entity[isFolder ? 'folderType' : 'taskType'] || ''\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, foldersMap, tasksMap],\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) 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 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, foldersMap, tasksMap, 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, foldersMap, tasksMap, 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 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 = foldersMap.has(rowId)\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 entitiesMap = new Map<\n string,\n {\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 isFolder = foldersMap.has(firstRowId)\n const entity = isFolder ? foldersMap.get(firstRowId) : tasksMap.get(firstRowId)\n\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 isFolder = foldersMap.has(rowId)\n const entityType = isFolder ? 'folder' : 'task'\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 (!entitiesMap.has(entityKey)) {\n entitiesMap.set(entityKey, {\n id: rowId,\n type: entityType,\n fields: {},\n attrib: {},\n })\n }\n\n const entityData = entitiesMap.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 entitiesMap.forEach((entity) => {\n // For regular fields, create one update per field\n Object.entries(entity.fields).forEach(([field, value]) => {\n allEntityUpdates.push({\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 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, foldersMap, tasksMap, updateEntities, columnEnums],\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 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","useProjectTableContext","useSelectionCellsContext","useCellEditing","useMemo","useCallback","parseCellId","ROW_SELECTION_COLUMN_ID","colIds","getCellValue","getEntityPath","clipboardError","parseClipboardText","validateClipboardData","processFieldValue","value","useEffect","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 { 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'\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\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 = entitiesMap.get(rowId)\n\n if (!entity) continue\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 const foundValue = getCellValue(entity, colId)\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(rowId, entitiesMap)\n }\n\n if (colId === 'subType') {\n // get folderType or taskType\n // @ts-ignore\n cellValue = entity[isFolder ? 'folderType' : 'taskType'] || ''\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],\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) 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 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 = entitiesMap.get(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],\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 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","useCallback","parseCellId","ROW_SELECTION_COLUMN_ID","colIds","getCellValue","getEntityPath","clipboardError","parseClipboardText","_a","isFolder","getEntityDataById","validateClipboardData","processFieldValue","value","useEffect","useMemo","jsx","useContext"],"mappings":"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"}
|