@ynput/ayon-frontend-shared 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +30 -25
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/EntityPickerDialog.cjs.js +2 -0
- package/dist/EntityPickerDialog.cjs.js.map +1 -0
- package/dist/EntityPickerDialog.es.js +5 -0
- package/dist/EntityPickerDialog.es.js.map +1 -0
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +151 -147
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +13 -11
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +1 -1
- package/dist/_virtual/index.cjs11.js +1 -1
- package/dist/_virtual/index.cjs12.js +1 -1
- package/dist/_virtual/index.es10.js +3 -3
- package/dist/_virtual/index.es11.js +5 -5
- package/dist/_virtual/index.es12.js +5 -5
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +356 -351
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +141 -133
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +1 -1
- package/dist/context.es.js +55 -52
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +21 -16
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/shared/node_modules/primereact/splitter/splitter.esm.cjs.js +4 -0
- package/dist/shared/node_modules/primereact/splitter/splitter.esm.cjs.js.map +1 -0
- package/dist/shared/node_modules/primereact/splitter/splitter.esm.es.js +287 -0
- package/dist/shared/node_modules/primereact/splitter/splitter.esm.es.js.map +1 -0
- package/dist/shared/src/api/generated/graphql.cjs.js +81 -55
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +154 -127
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/ynputCloud.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +6 -6
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +56 -44
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +2 -0
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +197 -0
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -0
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +44 -42
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +134 -229
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +168 -249
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js +2 -0
- package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/tasks/updateTasks.es.js +43 -0
- package/dist/shared/src/api/queries/tasks/updateTasks.es.js.map +1 -0
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +6 -6
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.es.js +49 -43
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js +2 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.cjs.js.map +1 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js +216 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.es.js.map +1 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.styled.cjs.js +134 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.styled.es.js +147 -0
- package/dist/shared/src/components/DateRangePicker/DateRangePicker.styled.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +4 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/DoneCheckbox/DoneCheckbox.cjs.js +20 -0
- package/dist/shared/src/components/DoneCheckbox/DoneCheckbox.cjs.js.map +1 -0
- package/dist/shared/src/components/DoneCheckbox/DoneCheckbox.es.js +34 -0
- package/dist/shared/src/components/DoneCheckbox/DoneCheckbox.es.js.map +1 -0
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +53 -48
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +6 -5
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +6 -4
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +31 -26
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +2 -2
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +59 -52
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +31 -26
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +4 -2
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +3 -2
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +5 -4
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +11 -10
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +3 -2
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +14 -9
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +52 -42
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +14 -9
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +2 -0
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -0
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +303 -0
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -0
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +31 -26
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +32 -27
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +14 -9
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +15 -10
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -9
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -6
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +9 -8
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +14 -9
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +2 -0
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -0
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +122 -0
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +7 -6
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +14 -9
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +14 -9
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +4 -2
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +14 -9
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +156 -144
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +22 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +312 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +357 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFloating → components/DetailsPanelFloating}/DetailsPanelFloating.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFloating → components/DetailsPanelFloating}/DetailsPanelFloating.styled.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +468 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +132 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js +57 -0
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{FeedFilters/FeedFilters.styled.cjs.js → components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js} +5 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{FeedFilters/FeedFilters.styled.es.js → components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js} +5 -5
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js +194 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +58 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +327 -0
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFloating/DetailsPanelFloating.es.js → containers/DetailsPanelSubtasks.es.js} +78 -113
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFiles/DetailsPanelFiles.es.js → containers/FeedContextWrapper.es.js} +98 -111
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +2 -0
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/{DetailsPanelSlideOut/DetailsPanelSlideOut.es.js → containers/FeedWrapper.es.js} +75 -41
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -0
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +4 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +15 -17
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +14 -9
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +14 -9
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +14 -9
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +4 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +174 -137
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +4 -4
- package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.styled.es.js +6 -6
- package/dist/shared/src/containers/Feed/Feed.styled.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +261 -6
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +14 -9
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +14 -9
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- 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 +42 -41
- 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 +2 -2
- 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 +39 -34
- 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 -1
- 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 +6 -5
- 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 -1
- 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 +3 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +13 -12
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +22 -17
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +46 -40
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js +32 -33
- package/dist/shared/src/containers/Feed/hooks/useTransformActivities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +37 -32
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +246 -210
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +6 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +15 -10
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +3 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +18 -13
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +23 -17
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +4 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +14 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +30 -25
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +28 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +15 -10
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +29 -30
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +107 -87
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +21 -16
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +13 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/{DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js → ProjectTreeTable/widgets/SubtasksWidget.es.js} +108 -273
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +14 -9
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +14 -9
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +3 -2
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +14 -9
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +61 -48
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -4
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +6 -5
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +4 -2
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +3 -2
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +4 -2
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +32 -27
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +9 -8
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +6 -4
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +24 -23
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -3
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +4 -2
- package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
- package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +20 -18
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.es.js +5 -4
- package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +14 -12
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +5 -4
- package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +6 -4
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +2 -0
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -0
- package/dist/shared/src/context/SubtasksModulesContext.es.js +138 -0
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -0
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +6 -5
- package/dist/shared/src/context/UriContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +16 -11
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
- package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +4 -2
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +4 -2
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +14 -13
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
- package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLocalStorage.es.js +31 -23
- package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +4 -2
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/types/EntityPickerDialog.d.ts +2 -0
- package/dist/types/api/generated/graphql.d.ts +141 -12
- package/dist/types/api/generated/graphqlLinks.d.ts +12 -0
- package/dist/types/api/generated/views.d.ts +14 -1
- package/dist/types/api/generated/ynputCloud.d.ts +4 -4
- package/dist/types/api/queries/activities/getActivities.d.ts +60 -60
- package/dist/types/api/queries/activities/updateActivities.d.ts +1 -1
- package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +2 -3
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -1
- package/dist/types/api/queries/entities/index.d.ts +1 -0
- package/dist/types/api/queries/entities/patchDetailsPanel.d.ts +18 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +180 -180
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/overview/updateOverview.d.ts +0 -2
- package/dist/types/api/queries/tasks/index.d.ts +1 -0
- package/dist/types/api/queries/tasks/updateTasks.d.ts +174 -0
- package/dist/types/components/Chips/Chips.d.ts +3 -1
- package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +50 -0
- package/dist/types/components/DateRangePicker/DateRangePicker.styled.d.ts +15 -0
- package/dist/types/components/DateRangePicker/index.d.ts +2 -0
- package/dist/types/components/DoneCheckbox/DoneCheckbox.d.ts +6 -0
- package/dist/types/components/DoneCheckbox/index.d.ts +1 -0
- package/dist/types/components/LinksManager/CellEditingDialog.d.ts +1 -0
- package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +9 -0
- package/dist/types/components/RemotePage/index.d.ts +1 -0
- package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +20 -0
- package/dist/types/components/SubtasksManager/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/containers/DetailsPanel/{DetailsPanelFiles → components/DetailsPanelFiles}/DetailsPanelFiles.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/{DetailsPanelHeader → components/DetailsPanelHeader}/DetailsPanelHeader.d.ts +3 -3
- package/dist/types/containers/DetailsPanel/{DetailsPanelSlideOut → components/DetailsPanelSlideOut}/DetailsPanelSlideOut.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +11 -0
- package/dist/types/containers/DetailsPanel/{FeedFilters/FeedFilters.styled.d.ts → components/DetailsPanelTabs/DetailsPanelTabs.styled.d.ts} +1 -1
- package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.d.ts +20 -0
- package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +14 -0
- package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +6 -0
- package/dist/types/containers/DetailsPanel/{FeedContextWrapper.d.ts → containers/FeedContextWrapper.d.ts} +1 -1
- package/dist/types/containers/DetailsPanel/{FeedWrapper.d.ts → containers/FeedWrapper.d.ts} +1 -4
- package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/index.d.ts +3 -3
- package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -1
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -1
- package/dist/types/containers/Feed/context/FeedContext.d.ts +5 -3
- package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +5 -5
- package/dist/types/containers/Feed/hooks/useTransformActivities.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/SubtasksWidget.d.ts +14 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +9 -1
- package/dist/types/containers/index.d.ts +1 -0
- package/dist/types/context/DetailsPanelContext.d.ts +3 -3
- package/dist/types/context/SubtasksModulesContext.d.ts +13 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/hooks/useLocalStorage.d.ts +2 -1
- package/package.json +6 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +0 -22
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +0 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +0 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +0 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +0 -2
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +0 -289
- package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.cjs.js +0 -2
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.es.js +0 -79
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedFilters/FeedFilters.styled.es.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +0 -2
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +0 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +0 -68
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +0 -1
- package/dist/types/containers/DetailsPanel/FeedFilters/FeedFilters.d.ts +0 -11
- package/dist/types/containers/Feed/components/ActivityCheckbox/index.d.ts +0 -3
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFiles → components/DetailsPanelFiles}/index.cjs.js +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFiles → components/DetailsPanelFiles}/index.cjs.js.map +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFiles → components/DetailsPanelFiles}/index.es.js +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelFiles → components/DetailsPanelFiles}/index.es.js.map +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelHeader → components/DetailsPanelHeader}/DetailsPanelHeader.styled.cjs.js +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelHeader → components/DetailsPanelHeader}/DetailsPanelHeader.styled.es.js +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelSlideOut → components/DetailsPanelSlideOut}/DetailsPanelSlideOut.styled.cjs.js +0 -0
- /package/dist/shared/src/containers/DetailsPanel/{DetailsPanelSlideOut → components/DetailsPanelSlideOut}/DetailsPanelSlideOut.styled.es.js +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelFiles → components/DetailsPanelFiles}/index.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelFloating → components/DetailsPanelFloating}/DetailsPanelFloating.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelFloating → components/DetailsPanelFloating}/DetailsPanelFloating.styled.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelFloating → components/DetailsPanelFloating}/index.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelHeader → components/DetailsPanelHeader}/DetailsPanelHeader.styled.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelHeader → components/DetailsPanelHeader}/index.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelSlideOut → components/DetailsPanelSlideOut}/DetailsPanelSlideOut.styled.d.ts +0 -0
- /package/dist/types/containers/DetailsPanel/{DetailsPanelSlideOut → components/DetailsPanelSlideOut}/index.d.ts +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const P=require("react-toastify"),N=require("../context/ProjectTableQueriesContext.cjs.js"),O=require("react"),Q=require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const R=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");const $=j=>{const{pushHistory:w,removeHistoryEntries:A}=j||{},{projectName:E}=R.useProjectContext(),{getEntityById:g,getInheritedDependents:C,findInheritedValueFromAncestors:k,findNonInheritedValues:U}=Q.useProjectTableContext(),{updateEntities:F}=N.useProjectTableQueriesContext(),V=O.useCallback(async(p=[],D=!0)=>{if(!p.length||!E)return;let
|
|
1
|
+
"use strict";const P=require("react-toastify"),N=require("../context/ProjectTableQueriesContext.cjs.js"),O=require("react"),Q=require("../context/ProjectTableContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const R=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");const $=j=>{const{pushHistory:w,removeHistoryEntries:A}=j||{},{projectName:E}=R.useProjectContext(),{getEntityById:g,getInheritedDependents:C,findInheritedValueFromAncestors:k,findNonInheritedValues:U}=Q.useProjectTableContext(),{updateEntities:F}=N.useProjectTableQueriesContext(),V=O.useCallback(async(p=[],D=!0)=>{if(!p.length||!E)return;let b=p.filter(t=>!t.isLink);const x=b.filter(t=>!(t.field==="folderType"&&t.type==="folder"&&g(t.id)?.hasVersions)),q=b.length-x.length;if(q>0&&P.toast.error(`Cannot change folder type for ${q} folder${q>1?"s":""} with published versions`),b=x,!b.length)return;if(w&&D){const t=b.map(({rowId:f,id:n,type:a,field:r,isAttrib:c,meta:u})=>{const s=g(n);if(!s)throw"Entity not found: "+n;const o=s?.entityId||s.id,h=c?s.attrib?.[r]??null:s[r]??null,m=s?.ownAttrib||[],l=c&&!m.includes(r);return{rowId:f,id:o,type:a,field:r,value:h,isAttrib:c,wasInherited:l,ownAttrib:m,folderId:s?.folderId||s?.parentId,meta:u}}),I=b.flatMap(({rowId:f,id:n,type:a,field:r,value:c,isAttrib:u,meta:s})=>{const o=g(n),h=o?.entityId||o?.id||n;return o?{rowId:f,id:h,type:a,field:r,value:c,isAttrib:u,ownAttrib:o?.ownAttrib||[],folderId:"folderId"in o?o.folderId:o?.parentId,meta:s}:[]});w(t,I)}const T=["task","folder","product","version"];let e=[];for(const t of b){let{id:I,type:f,field:n,value:a,isAttrib:r,meta:c}=t;const u=g(I),s=u?.entityId||u?.id||I;let o=f;if(!T.includes(o))continue;const h=r?{attrib:{[n]:a}}:{[n]:a};if(r){const l=[...u?.ownAttrib||[]];l.includes(n)||l.push(n),h.ownAttrib=l}const m=e.findIndex(l=>l.entityId===s&&l.entityType===o);if(m!==-1){const l=e[m];let v={...l.data,...h};l.data?.attrib&&h.attrib&&(v={...v,attrib:{...l.data.attrib,...h.attrib}}),e[m]={...l,data:v}}else e.push({entityType:o,entityId:s,type:"update",data:h,meta:c})}const y=e.filter(t=>!!t.entityId&&t.type==="update"&&t.data&&"attrib"in t.data).map(t=>({entityId:t.entityId,entityType:t.entityType,attrib:t.data&&"attrib"in t.data?t.data?.attrib:{}})),d=C(y).map(t=>({entityId:t.entityId,entityType:t.entityType,data:{attrib:t.attrib}}));try{e.length&&await F({operations:e,patchOperations:d})}catch(t){console.error("Error updating entities:",t),P.toast.error("Failed to update entities: "+t?.error),w&&D&&A&&A(1)}},[E,F,g,C,w,A]),M=O.useCallback(async(p,D=!0)=>{if(!p.length||!E)return;if(D&&w){const e=[];for(const i of p){const d=g(i.entityId);for(const t of i.attribs)d?.attrib&&t in d.attrib&&e.push({rowId:i.rowId,id:d?.entityId||d?.id||i.entityId,type:i.entityType,field:t,value:d.attrib[t],isAttrib:!0,wasInherited:!1,ownAttrib:d?.ownAttrib||[],folderId:d?.folderId,meta:d.meta})}const y=p.flatMap(i=>i.attribs.map(d=>({rowId:i.rowId,id:i.entityId,type:i.entityType,field:d,value:null,isAttrib:!0,wasInherited:!0,ownAttrib:i.ownAttrib,folderId:i.folderId,meta:i.meta})));e.length>0&&w(e,y)}const b=["task","folder"],x=[],q=[];for(const e of p){let y=e.entityType;if(!b.includes(y))continue;y=y;const i={};e.attribs.forEach(a=>{i[a]=null}),x.push({entityType:y,entityId:e.entityId,type:"update",data:{attrib:i},meta:e.meta});const t=(()=>{const a=e.folderId,r=[];let c=a,u=p.find(o=>o.entityId===c);for(;u;)r.push(u),c=u.folderId,u=p.find(o=>o.entityId===c);return r.length>0?r[r.length-1]:null})(),I=t?.attribs||[],f=e.attribs.filter(a=>I.includes(a)),n=e.attribs.filter(a=>!I.includes(a));n.length>0&&q.push({...e,attribs:n}),t&&f.length>0&&q.push({...e,attribs:f,folderId:t.folderId})}const T=[];for(const e of q){const y=e.entityType,i=[...e.ownAttrib||[]].filter(n=>!e.attribs.includes(n)),d=U(e.folderId,e.attribs),t={entityId:e.entityId,entityType:y,data:{attrib:d,ownAttrib:i}};T.push(t);const f=C([{entityId:e.entityId,entityType:y,attrib:d}]).map(n=>({entityId:n.entityId,entityType:n.entityType,data:{attrib:n.attrib}}));for(const n of f){const a=T.findIndex(r=>r.entityId===n.entityId);if(a!==-1){const r=T[a];let c={...r.data?.attrib||{},...n.data?.attrib||{}};T[a]={...r,data:{attrib:c}}}else T.push({entityId:n.entityId,entityType:n.entityType,data:n.data})}}try{await F({operations:x,patchOperations:T})}catch{P.toast.error("Failed to update entities"),D&&w&&A&&A(1)}},[E,F,C,k,w,A]);return{updateEntities:V,inheritFromParent:M}};module.exports=$;
|
|
2
2
|
//# sourceMappingURL=useUpdateTableData.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useUpdateTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { useCallback as j } from "react";
|
|
|
4
4
|
import { useProjectTableContext as B } from "../context/ProjectTableContext.es.js";
|
|
5
5
|
import "../../../context/RemoteModulesContext.es.js";
|
|
6
6
|
import "../../../context/DetailsPanelContext.es.js";
|
|
7
|
+
import "../../../context/SubtasksModulesContext.es.js";
|
|
7
8
|
import "../../../context/ThumbnailUploaderContext.es.js";
|
|
8
9
|
import "../../../context/SettingsPanelContext.es.js";
|
|
9
10
|
import "../../../context/pip/PiPProvider.es.js";
|
|
@@ -19,7 +20,7 @@ import "../../../context/GlobalContext.es.js";
|
|
|
19
20
|
import { useProjectContext as L } from "../../../context/ProjectContext.es.js";
|
|
20
21
|
import "../../../context/ProjectFoldersContext.es.js";
|
|
21
22
|
import "../../../context/UriContext.es.js";
|
|
22
|
-
const
|
|
23
|
+
const st = (k) => {
|
|
23
24
|
const { pushHistory: m, removeHistoryEntries: A } = k || {}, { projectName: F } = L(), {
|
|
24
25
|
getEntityById: g,
|
|
25
26
|
getInheritedDependents: v,
|
|
@@ -41,10 +42,10 @@ const at = (k) => {
|
|
|
41
42
|
const s = g(i);
|
|
42
43
|
if (!s)
|
|
43
44
|
throw "Entity not found: " + i;
|
|
44
|
-
const
|
|
45
|
+
const a = s?.entityId || s.id, h = l ? s.attrib?.[r] ?? null : s[r] ?? null, D = s?.ownAttrib || [], p = l && !D.includes(r);
|
|
45
46
|
return {
|
|
46
47
|
rowId: y,
|
|
47
|
-
id:
|
|
48
|
+
id: a,
|
|
48
49
|
type: o,
|
|
49
50
|
field: r,
|
|
50
51
|
value: h,
|
|
@@ -58,16 +59,16 @@ const at = (k) => {
|
|
|
58
59
|
}
|
|
59
60
|
), b = I.flatMap(
|
|
60
61
|
({ rowId: y, id: i, type: o, field: r, value: l, isAttrib: c, meta: s }) => {
|
|
61
|
-
const
|
|
62
|
-
return
|
|
62
|
+
const a = g(i), h = a?.entityId || a?.id || i;
|
|
63
|
+
return a ? {
|
|
63
64
|
rowId: y,
|
|
64
65
|
id: h,
|
|
65
66
|
type: o,
|
|
66
67
|
field: r,
|
|
67
68
|
value: l,
|
|
68
69
|
isAttrib: c,
|
|
69
|
-
ownAttrib:
|
|
70
|
-
folderId: "folderId" in
|
|
70
|
+
ownAttrib: a?.ownAttrib || [],
|
|
71
|
+
folderId: "folderId" in a ? a.folderId : a?.parentId,
|
|
71
72
|
meta: s
|
|
72
73
|
} : [];
|
|
73
74
|
}
|
|
@@ -84,8 +85,8 @@ const at = (k) => {
|
|
|
84
85
|
for (const t of I) {
|
|
85
86
|
let { id: b, type: y, field: i, value: o, isAttrib: r, meta: l } = t;
|
|
86
87
|
const c = g(b), s = c?.entityId || c?.id || b;
|
|
87
|
-
let
|
|
88
|
-
if (!w.includes(
|
|
88
|
+
let a = y;
|
|
89
|
+
if (!w.includes(a))
|
|
89
90
|
continue;
|
|
90
91
|
const h = r ? { attrib: { [i]: o } } : { [i]: o };
|
|
91
92
|
if (r) {
|
|
@@ -93,7 +94,7 @@ const at = (k) => {
|
|
|
93
94
|
p.includes(i) || p.push(i), h.ownAttrib = p;
|
|
94
95
|
}
|
|
95
96
|
const D = e.findIndex(
|
|
96
|
-
(p) => p.entityId === s && p.entityType ===
|
|
97
|
+
(p) => p.entityId === s && p.entityType === a
|
|
97
98
|
);
|
|
98
99
|
if (D !== -1) {
|
|
99
100
|
const p = e[D];
|
|
@@ -104,8 +105,7 @@ const at = (k) => {
|
|
|
104
105
|
};
|
|
105
106
|
} else
|
|
106
107
|
e.push({
|
|
107
|
-
|
|
108
|
-
entityType: d,
|
|
108
|
+
entityType: a,
|
|
109
109
|
entityId: s,
|
|
110
110
|
type: "update",
|
|
111
111
|
data: h,
|
|
@@ -116,7 +116,7 @@ const at = (k) => {
|
|
|
116
116
|
entityId: t.entityId,
|
|
117
117
|
entityType: t.entityType,
|
|
118
118
|
attrib: t.data && "attrib" in t.data ? t.data?.attrib : {}
|
|
119
|
-
})),
|
|
119
|
+
})), d = v(f).map((t) => ({
|
|
120
120
|
entityId: t.entityId,
|
|
121
121
|
entityType: t.entityType,
|
|
122
122
|
data: {
|
|
@@ -126,7 +126,7 @@ const at = (k) => {
|
|
|
126
126
|
try {
|
|
127
127
|
e.length && await O({
|
|
128
128
|
operations: e,
|
|
129
|
-
patchOperations:
|
|
129
|
+
patchOperations: d
|
|
130
130
|
});
|
|
131
131
|
} catch (t) {
|
|
132
132
|
console.error("Error updating entities:", t), P.error("Failed to update entities: " + t?.error), m && E && A && A(1);
|
|
@@ -148,28 +148,28 @@ const at = (k) => {
|
|
|
148
148
|
if (E && m) {
|
|
149
149
|
const e = [];
|
|
150
150
|
for (const n of u) {
|
|
151
|
-
const
|
|
151
|
+
const d = g(n.entityId);
|
|
152
152
|
for (const t of n.attribs)
|
|
153
|
-
|
|
153
|
+
d?.attrib && t in d.attrib && e.push({
|
|
154
154
|
rowId: n.rowId,
|
|
155
|
-
id:
|
|
155
|
+
id: d?.entityId || d?.id || n.entityId,
|
|
156
156
|
type: n.entityType,
|
|
157
157
|
field: t,
|
|
158
|
-
value:
|
|
158
|
+
value: d.attrib[t],
|
|
159
159
|
isAttrib: !0,
|
|
160
160
|
wasInherited: !1,
|
|
161
161
|
// Mark as not inherited
|
|
162
|
-
ownAttrib:
|
|
163
|
-
folderId:
|
|
164
|
-
meta:
|
|
162
|
+
ownAttrib: d?.ownAttrib || [],
|
|
163
|
+
folderId: d?.folderId,
|
|
164
|
+
meta: d.meta
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
167
|
const f = u.flatMap(
|
|
168
|
-
(n) => n.attribs.map((
|
|
168
|
+
(n) => n.attribs.map((d) => ({
|
|
169
169
|
rowId: n.rowId,
|
|
170
170
|
id: n.entityId,
|
|
171
171
|
type: n.entityType,
|
|
172
|
-
field:
|
|
172
|
+
field: d,
|
|
173
173
|
value: null,
|
|
174
174
|
isAttrib: !0,
|
|
175
175
|
wasInherited: !0,
|
|
@@ -191,7 +191,6 @@ const at = (k) => {
|
|
|
191
191
|
e.attribs.forEach((o) => {
|
|
192
192
|
n[o] = null;
|
|
193
193
|
}), x.push({
|
|
194
|
-
rowId: e.rowId,
|
|
195
194
|
entityType: f,
|
|
196
195
|
entityId: e.entityId,
|
|
197
196
|
type: "update",
|
|
@@ -202,9 +201,9 @@ const at = (k) => {
|
|
|
202
201
|
});
|
|
203
202
|
const t = (() => {
|
|
204
203
|
const o = e.folderId, r = [];
|
|
205
|
-
let l = o, c = u.find((
|
|
204
|
+
let l = o, c = u.find((a) => a.entityId === l);
|
|
206
205
|
for (; c; )
|
|
207
|
-
r.push(c), l = c.folderId, c = u.find((
|
|
206
|
+
r.push(c), l = c.folderId, c = u.find((a) => a.entityId === l);
|
|
208
207
|
return r.length > 0 ? r[r.length - 1] : null;
|
|
209
208
|
})(), b = t?.attribs || [], y = e.attribs.filter(
|
|
210
209
|
(o) => b.includes(o)
|
|
@@ -224,17 +223,17 @@ const at = (k) => {
|
|
|
224
223
|
for (const e of T) {
|
|
225
224
|
const f = e.entityType, n = [...e.ownAttrib || []].filter(
|
|
226
225
|
(i) => !e.attribs.includes(i)
|
|
227
|
-
),
|
|
226
|
+
), d = V(e.folderId, e.attribs), t = {
|
|
228
227
|
entityId: e.entityId,
|
|
229
228
|
entityType: f,
|
|
230
229
|
data: {
|
|
231
|
-
attrib:
|
|
230
|
+
attrib: d,
|
|
232
231
|
ownAttrib: n
|
|
233
232
|
}
|
|
234
233
|
};
|
|
235
234
|
w.push(t);
|
|
236
235
|
const y = v([
|
|
237
|
-
{ entityId: e.entityId, entityType: f, attrib:
|
|
236
|
+
{ entityId: e.entityId, entityType: f, attrib: d }
|
|
238
237
|
]).map((i) => ({
|
|
239
238
|
entityId: i.entityId,
|
|
240
239
|
entityType: i.entityType,
|
|
@@ -287,6 +286,6 @@ const at = (k) => {
|
|
|
287
286
|
return { updateEntities: M, inheritFromParent: N };
|
|
288
287
|
};
|
|
289
288
|
export {
|
|
290
|
-
|
|
289
|
+
st as default
|
|
291
290
|
};
|
|
292
291
|
//# sourceMappingURL=useUpdateTableData.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { rowId: string; meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n rowId: entity.rowId,\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useUpdateTableData.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/hooks/useUpdateTableData.ts"],"sourcesContent":["import { CellId } from '../utils/cellUtils'\nimport { CellValue } from '../widgets/CellWidget'\nimport { toast } from 'react-toastify'\nimport { useProjectTableQueriesContext } from '../context/ProjectTableQueriesContext'\nimport { useCallback } from 'react'\nimport { InheritedDependent } from './useFolderRelationships'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\nimport { OperationModel } from '../types/operations'\nimport { PatchOperation } from '../types'\nimport { HistoryEntityUpdate, UseHistoryReturn } from './useHistory'\nimport { useProjectContext } from '@shared/context'\n\nexport type EntityUpdate = {\n rowId: string\n id: string\n type: string\n field: string\n value: CellValue | CellValue[] | null\n isAttrib?: boolean\n isLink?: boolean // link updates use different endpoint\n meta?: Record<string, any>\n}\nexport type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>\n\nexport type InheritFromParentEntity = {\n rowId: string\n entityId: string\n entityType: string\n attribs: string[]\n ownAttrib: string[]\n folderId?: string // the parent folder ID\n meta?: Record<string, any>\n}\nexport type InheritFromParent = (\n entities: InheritFromParentEntity[],\n pushHistory?: boolean,\n) => Promise<void>\n\nexport type UpdateTableEntity = (\n cellId: CellId,\n value: string,\n { includeSelection }: { includeSelection: boolean },\n) => Promise<void>\n\nexport type OperationWithRowId = OperationModel & { meta?: Record<string, any> }\n\ninterface UseUpdateTableDataProps {\n pushHistory?: UseHistoryReturn['pushHistory']\n removeHistoryEntries?: UseHistoryReturn['removeHistoryEntries']\n}\n\nconst useUpdateTableData = (props?: UseUpdateTableDataProps) => {\n const { pushHistory, removeHistoryEntries } = props || {}\n const { projectName } = useProjectContext()\n const {\n getEntityById,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n findNonInheritedValues,\n } = useProjectTableContext()\n const { updateEntities } = useProjectTableQueriesContext()\n\n const handleUpdateEntities = useCallback<UpdateTableEntities>(\n async (entities = [], pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Filter out link updates - they should be handled by useUpdateTableLinks\n let entityUpdates = entities.filter((e) => !e.isLink)\n\n // Filter out folder type updates for folders with versions\n const filteredUpdates = entityUpdates.filter((entity) => {\n if (entity.field === 'folderType' && entity.type === 'folder') {\n const entityData = getEntityById(entity.id)\n if (entityData?.hasVersions) {\n return false\n }\n }\n return true\n })\n\n // Show warning if any updates were filtered out\n const filteredCount = entityUpdates.length - filteredUpdates.length\n if (filteredCount > 0) {\n toast.error(\n `Cannot change folder type for ${filteredCount} folder${\n filteredCount > 1 ? 's' : ''\n } with published versions`,\n )\n }\n\n entityUpdates = filteredUpdates\n\n // If no entity updates to process, return early\n if (!entityUpdates.length) {\n return\n }\n\n // Record history of previous values before applying update\n if (pushHistory && pushToHistory) {\n const inverseEntities: HistoryEntityUpdate[] = entityUpdates.map(\n ({ rowId, id, type, field, isAttrib, meta }) => {\n const entityData = getEntityById(id) as Record<string, any>\n if (!entityData) {\n throw 'Entity not found: ' + id\n }\n const entityId = entityData?.entityId || entityData.id\n const oldValue = isAttrib\n ? (entityData.attrib as Record<string, any>)?.[field] ?? null\n : entityData[field] ?? null\n\n // Check if the field was inherited (not in ownAttrib)\n const ownAttrib = entityData?.ownAttrib || []\n const wasInherited = isAttrib && !ownAttrib.includes(field)\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value: oldValue,\n isAttrib,\n wasInherited, // Track inheritance status for undo\n ownAttrib: ownAttrib,\n folderId: entityData?.folderId || entityData?.parentId,\n meta,\n }\n },\n )\n const historyEntities: HistoryEntityUpdate[] = entityUpdates.flatMap(\n ({ rowId, id, type, field, value, isAttrib, meta }) => {\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n\n if (!entityData) return []\n\n return {\n rowId: rowId,\n id: entityId,\n type,\n field,\n value,\n isAttrib,\n ownAttrib: entityData?.ownAttrib || [],\n folderId: 'folderId' in entityData ? entityData.folderId : entityData?.parentId,\n meta,\n }\n },\n )\n pushHistory(inverseEntities, historyEntities)\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = [\n 'task',\n 'folder',\n 'product',\n 'version',\n ]\n // Group operations by entity type for bulk processing\n let operations: OperationWithRowId[] = []\n for (const entity of entityUpdates) {\n let { id, type, field, value, isAttrib, meta } = entity\n const entityData = getEntityById(id)\n const entityId = entityData?.entityId || entityData?.id || id\n // Skip unsupported entity types\n let entityType = type as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n\n // create data object for change, taking into account if it's an attribute change\n const data: Record<string, any> = isAttrib\n ? { attrib: { [field]: value } }\n : { [field]: value }\n\n // if the entity is an attribute get the entity data\n // then update ownAttrib to include the new value\n if (isAttrib) {\n const ownAttrib = [...(entityData?.ownAttrib || [])]\n // add the new value to the ownAttrib if it doesn't already exist\n if (!ownAttrib.includes(field)) {\n ownAttrib.push(field)\n }\n // update the data object with the new ownAttrib\n data.ownAttrib = ownAttrib\n }\n\n const existingOperationIndex = operations.findIndex(\n (op) => op.entityId === entityId && op.entityType === entityType,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge data with existing operation\n const existingOperation = operations[existingOperationIndex]\n let newData = { ...existingOperation.data, ...data }\n\n // @ts-ignore\n if (existingOperation.data?.attrib && data.attrib) {\n // @ts-ignore\n newData = { ...newData, attrib: { ...existingOperation.data.attrib, ...data.attrib } }\n }\n\n operations[existingOperationIndex] = {\n ...existingOperation,\n data: newData,\n }\n } else {\n // Add new operation\n operations.push({\n entityType: entityType,\n entityId: entityId,\n type: 'update',\n data: data,\n meta: meta,\n })\n }\n }\n\n const folderAttribEntities: InheritedDependent[] = operations\n .filter((op) => !!op.entityId && op.type === 'update' && op.data && 'attrib' in op.data)\n .map((op) => ({\n entityId: op.entityId as string,\n entityType: op.entityType as 'folder' | 'task',\n attrib:\n op.data && 'attrib' in op.data ? (op.data?.attrib as InheritedDependent['attrib']) : {},\n }))\n\n const inheritedDependents = getInheritedDependents(folderAttribEntities)\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // now make api call to update all entities and links\n try {\n if (operations.length) {\n await updateEntities({\n operations,\n patchOperations: inheritedDependentsOperations,\n })\n }\n } catch (error: any) {\n console.error('Error updating entities:', error)\n toast.error('Failed to update entities: ' + error?.error)\n // Remove the failed update from history stack\n if (pushHistory && pushToHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities, //\n getEntityById,\n getInheritedDependents,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n // set the attrib fields to be inherited from the parent\n // (remove the field from the ownAttrib array)\n // invalidate the cache for the folder/task so that it can be re-fetched with inherited values\n const inheritFromParent = useCallback<InheritFromParent>(\n async (entities, pushToHistory = true) => {\n if (!entities.length || !projectName) {\n return\n }\n\n // Record history for the inheritance operation\n if (pushToHistory && pushHistory) {\n // Create undo entities (restore explicit values)\n const undoEntities: HistoryEntityUpdate[] = []\n\n // For each entity and attribute being inherited, record current values\n for (const entity of entities) {\n const entityData = getEntityById(entity.entityId) as Record<string, any>\n\n // For each attribute that will be inherited, record its current value\n for (const attrib of entity.attribs) {\n if (entityData?.attrib && attrib in entityData.attrib) {\n undoEntities.push({\n rowId: entity.rowId,\n id: entityData?.entityId || entityData?.id || entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: (entityData.attrib as Record<string, any>)[attrib],\n isAttrib: true,\n wasInherited: false, // Mark as not inherited\n ownAttrib: entityData?.ownAttrib || [],\n folderId: entityData?.folderId,\n meta: entityData.meta,\n })\n }\n }\n }\n\n // Create redo entities (to re-inherit)\n const redoEntities: HistoryEntityUpdate[] = entities.flatMap((entity) =>\n entity.attribs.map((attrib) => ({\n rowId: entity.rowId,\n id: entity.entityId,\n type: entity.entityType,\n field: attrib,\n value: null,\n isAttrib: true,\n wasInherited: true, // Mark as inherited\n ownAttrib: entity.ownAttrib,\n folderId: entity.folderId,\n meta: entity.meta,\n })),\n )\n\n // Push to history if we have changes to record\n if (undoEntities.length > 0) {\n pushHistory(undoEntities, redoEntities)\n }\n }\n\n const supportedEntityTypes: OperationModel['entityType'][] = ['task', 'folder']\n // Group operations by entity type for bulk processing\n const operations: OperationWithRowId[] = [] // operations sent to the server\n const entitiesToPatch: InheritFromParentEntity[] = []\n for (const entity of entities) {\n // Skip unsupported entity types\n let entityType = entity.entityType as OperationModel['entityType']\n if (!supportedEntityTypes.includes(entityType)) {\n continue\n }\n entityType = entityType as 'task' | 'folder'\n\n // Create data object with null values for each attrib to inherit\n const attribData: Record<string, null> = {}\n entity.attribs.forEach((attrib) => {\n attribData[attrib] = null\n })\n\n // Add new operation this is what's sent to the server and is actually updated in the DB\n operations.push({\n entityType: entityType,\n entityId: entity.entityId,\n type: 'update',\n data: {\n attrib: attribData,\n },\n meta: entity.meta,\n })\n\n // check if this entity has a folderId that is in entities\n // if so we check their intersection attrib names\n const findTopFolder = () => {\n // For each entity, we need to find the top-most folder in the hierarchy\n const folderId = entity.folderId\n\n // Find all ancestor folders that are in our entities list\n const ancestorChain: InheritFromParentEntity[] = []\n let currentFolderId = folderId\n let currentFolder = entities.find((e) => e.entityId === currentFolderId)\n\n // Climb up the folder hierarchy to build the chain of ancestors\n while (currentFolder) {\n ancestorChain.push(currentFolder)\n currentFolderId = currentFolder.folderId\n currentFolder = entities.find((e) => e.entityId === currentFolderId)\n }\n\n // The top folder is the last one in our ancestor chain (if any)\n const topFolder =\n ancestorChain.length > 0 ? ancestorChain[ancestorChain.length - 1] : null\n\n return topFolder\n }\n\n const topFolder = findTopFolder()\n const folderAttribs = topFolder?.attribs || []\n const entityAttribsIntersection = entity.attribs.filter((attrib) =>\n folderAttribs.includes(attrib),\n )\n const entityAttribsRemoved = entity.attribs.filter(\n (attrib) => !folderAttribs.includes(attrib),\n )\n\n // only add to patch operations if there are attribs left\n if (entityAttribsRemoved.length > 0)\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsRemoved,\n })\n\n if (topFolder && entityAttribsIntersection.length > 0) {\n entitiesToPatch.push({\n ...entity,\n attribs: entityAttribsIntersection,\n folderId: topFolder.folderId,\n })\n }\n }\n\n const patchOperations: PatchOperation[] = [] // operations only for patching the cache\n for (const entity of entitiesToPatch) {\n const entityType = entity.entityType as 'task' | 'folder'\n // we also need to update ownAttrib to remove the inherited attribs\n const ownAttrib = [...(entity.ownAttrib || [])].filter(\n (attrib) => !entity.attribs.includes(attrib),\n )\n\n // now we must calculate all the entities that need to be updated in the cache\n // first we need to find the the ancestor folder to inherit from\n const ancestorAttrib = findNonInheritedValues(entity.folderId, entity.attribs)\n\n const entityPatch = {\n entityId: entity.entityId,\n entityType: entityType,\n data: {\n attrib: ancestorAttrib,\n ownAttrib: ownAttrib,\n },\n }\n\n // create new patch operation for the entity\n patchOperations.push(entityPatch)\n\n // now find any dependent that also need updating\n const inheritedDependents = getInheritedDependents([\n { entityId: entity.entityId, entityType: entityType, attrib: ancestorAttrib },\n ])\n\n // convert to operations\n const inheritedDependentsOperations: PatchOperation[] = inheritedDependents.map((op) => ({\n entityId: op.entityId,\n entityType: op.entityType,\n data: {\n attrib: op.attrib,\n },\n }))\n\n // try to add to patch operations\n // if it already exists then merge the attribs\n for (const inheritedDependent of inheritedDependentsOperations) {\n const existingOperationIndex = patchOperations.findIndex(\n (op) => op.entityId === inheritedDependent.entityId,\n )\n\n if (existingOperationIndex !== -1) {\n // Merge attribs with existing operation\n const existingOperation = patchOperations[existingOperationIndex]\n let newAttrib = {\n // @ts-ignore\n ...(existingOperation.data?.attrib || {}),\n // @ts-ignore\n ...(inheritedDependent.data?.attrib || {}),\n }\n\n patchOperations[existingOperationIndex] = {\n ...existingOperation,\n data: { attrib: newAttrib },\n }\n } else {\n // Add new operation\n patchOperations.push({\n entityId: inheritedDependent.entityId,\n entityType: inheritedDependent.entityType,\n data: inheritedDependent.data,\n })\n }\n }\n }\n\n // now make api call to update all entities\n try {\n await updateEntities({\n operations,\n patchOperations,\n })\n } catch (error) {\n toast.error('Failed to update entities')\n // Remove the failed update from history stack\n if (pushToHistory && pushHistory && removeHistoryEntries) {\n removeHistoryEntries(1)\n }\n }\n },\n [\n projectName,\n updateEntities,\n getInheritedDependents,\n findInheritedValueFromAncestors,\n pushHistory,\n removeHistoryEntries,\n ],\n )\n\n return { updateEntities: handleUpdateEntities, inheritFromParent }\n}\n\nexport default useUpdateTableData\n"],"names":["useUpdateTableData","props","pushHistory","removeHistoryEntries","projectName","useProjectContext","getEntityById","getInheritedDependents","findInheritedValueFromAncestors","findNonInheritedValues","useProjectTableContext","updateEntities","useProjectTableQueriesContext","handleUpdateEntities","useCallback","entities","pushToHistory","entityUpdates","e","filteredUpdates","entity","filteredCount","toast","inverseEntities","rowId","id","type","field","isAttrib","meta","entityData","entityId","oldValue","ownAttrib","wasInherited","historyEntities","value","supportedEntityTypes","operations","entityType","data","existingOperationIndex","op","existingOperation","newData","folderAttribEntities","inheritedDependentsOperations","error","inheritFromParent","undoEntities","attrib","redoEntities","entitiesToPatch","attribData","topFolder","folderId","ancestorChain","currentFolderId","currentFolder","folderAttribs","entityAttribsIntersection","entityAttribsRemoved","patchOperations","ancestorAttrib","entityPatch","inheritedDependent","newAttrib"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react");require("@ynput/ayon-react-components");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("date-fns");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/FeedFilters/FeedFilters.styled.cjs.js");require("../../DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const a=require("../context/ProjectTableProvider.cjs.js");var n=(e=>(e[e.None=0]="None",e[e.Top=1]="Top",e[e.Right=2]="Right",e[e.Bottom=4]="Bottom",e[e.Left=8]="Left",e[e.All=15]="All",e))(n||{});const f=(e,r)=>`cell-${e}-${r}`,p=e=>{const r=e.match(/^cell-(.+)-(.+)$/);return r?{rowId:r[1],colId:r[2]}:null},c=(e,r)=>{if(!e||!r)return;const i=r.split("_");let u=e;for(const t of i)if(u&&typeof u=="object"&&t in u)u=u[t];else return;return u},g=(e,r)=>{const[i,u,t,m,s]=r.split("_"),l=e.filter(q=>q.linkType===u&&q.direction===s);return l.length?l.map(q=>q.node.id).join(","):""},y=(e,r,i)=>{if(!i[e]?.[r])return 0;let u=0;return(e===0||!i[e-1]?.[r])&&(u|=1),i[e]?.[r+1]||(u|=2),i[e+1]?.[r]||(u|=4),(r===0||!i[e]?.[r-1])&&(u|=8),u},h=e=>{const r=[];return e&1&&r.push("shadow-top"),e&2&&r.push("shadow-right"),e&4&&r.push("shadow-bottom"),e&8&&r.push("shadow-left"),r},o=(e,r)=>r.get(a.parseRowId(e));exports.BorderPosition=n;exports.getBorderClasses=h;exports.getCellBorders=y;exports.getCellId=f;exports.getCellValue=c;exports.getEntityDataById=o;exports.getLinkEntityIdsByColumnId=g;exports.parseCellId=p;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react-toastify");require("lodash");require("uuid");require("../../../util/pubsub.cjs.js");require("../context/CellEditingContext.cjs.js");require("../../../../../_virtual/jsx-runtime.cjs.js");require("react");require("@ynput/ayon-react-components");require("short-uuid");require("@tanstack/react-table");require("../widgets/CollapsedWidget.cjs.js");require("../widgets/DateWidget.cjs.js");require("../widgets/EnumWidget.cjs.js");require("../widgets/TextWidget.cjs.js");require("../widgets/BooleanWidget.cjs.js");require("../widgets/CellWidget.cjs.js");require("../widgets/EntityNameWidget.cjs.js");require("../widgets/GroupHeaderWidget.cjs.js");require("../widgets/ThumbnailWidget.cjs.js");require("../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("../../../components/AttributeEditor/components/MinMaxField.cjs.js");require("react-dom");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../components/Badge/Badge.cjs.js");require("../../../components/Chips/Chips.cjs.js");require("date-fns");require("../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../components/LinksManager/CellEditingDialog.cjs.js");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../Feed/context/FeedContext.cjs.js");require("../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/SubtasksModulesContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");require("../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../Feed/components/ActivityDate.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../Feed/Feed.styled.cjs.js");require("../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("@tanstack/react-virtual");require("../ProjectTreeTable.styled.cjs.js");require("../components/HeaderActionButton.cjs.js");require("../components/RowSelectionHeader.cjs.js");require("../components/SelectionCell.cjs.js");require("../components/ColumnHeaderMenu.cjs.js");require("../context/SelectionCellsContext.cjs.js");require("../context/ClipboardContext.cjs.js");require("../context/SelectedRowsContext.cjs.js");require("../context/ColumnSettingsContext.cjs.js");require("../context/ProjectTableQueriesContext.cjs.js");require("../context/ProjectTableContext.cjs.js");require("../context/ProjectDataContext.cjs.js");require("../context/DetailsPanelEntityContext.cjs.js");require("../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");require("../../SimpleTable/SimpleTable.styled.cjs.js");require("@tanstack/match-sorter-utils");require("../../SimpleTable/context/SimpleTableContext.cjs.js");require("../../SimpleTable/SimpleTableRowTemplate.cjs.js");require("../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../Slicer/components/SlicerSearch.cjs.js");require("../../Slicer/context/SlicerContext.cjs.js");require("../../DetailsPanel/DetailsPanel.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../Actions/Actions.styled.cjs.js");require("../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../Actions/ActionIcon.cjs.js");require("../../Views/context/ViewsContext.cjs.js");require("../../Views/Views.styled.cjs.js");require("../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../components/Feedback/FeedbackContext.cjs.js");require("../../../components/Feedback/SupportBubble.cjs.js");require("../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../components/Powerpack/PricingLink.cjs.js");require("../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../components/Powerpack/CTAButton.cjs.js");require("../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../components/SearchFilter/filterDates.cjs.js");require("../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../components/SortingSetting/SortingSetting.styled.cjs.js");require("../../../components/StyledLink/StyledLink.cjs.js");require("../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../components/Watchers/Watchers.cjs.js");require("../../../components/Menu/Menu.styled.cjs.js");require("../../../components/Menu/MenuItem.cjs.js");require("../widgets/EmptyWidget.cjs.js");require("../widgets/ErrorWidget.cjs.js");require("../widgets/LoadMoreWidget.cjs.js");const a=require("../context/ProjectTableProvider.cjs.js");var n=(e=>(e[e.None=0]="None",e[e.Top=1]="Top",e[e.Right=2]="Right",e[e.Bottom=4]="Bottom",e[e.Left=8]="Left",e[e.All=15]="All",e))(n||{});const f=(e,r)=>`cell-${e}-${r}`,p=e=>{const r=e.match(/^cell-(.+)-(.+)$/);return r?{rowId:r[1],colId:r[2]}:null},c=(e,r)=>{if(!e||!r)return;const i=r.split("_");let u=e;for(const t of i)if(u&&typeof u=="object"&&t in u)u=u[t];else return;return u},g=(e,r)=>{const[i,u,t,m,s]=r.split("_"),l=e.filter(q=>q.linkType===u&&q.direction===s);return l.length?l.map(q=>q.node.id).join(","):""},y=(e,r,i)=>{if(!i[e]?.[r])return 0;let u=0;return(e===0||!i[e-1]?.[r])&&(u|=1),i[e]?.[r+1]||(u|=2),i[e+1]?.[r]||(u|=4),(r===0||!i[e]?.[r-1])&&(u|=8),u},h=e=>{const r=[];return e&1&&r.push("shadow-top"),e&2&&r.push("shadow-right"),e&4&&r.push("shadow-bottom"),e&8&&r.push("shadow-left"),r},o=(e,r)=>r.get(a.parseRowId(e));exports.BorderPosition=n;exports.getBorderClasses=h;exports.getCellBorders=y;exports.getCellId=f;exports.getCellValue=c;exports.getEntityDataById=o;exports.getLinkEntityIdsByColumnId=g;exports.parseCellId=p;
|
|
2
2
|
//# sourceMappingURL=cellUtils.cjs.js.map
|