@ynput/ayon-frontend-shared 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ContextMenu.cjs.js +1 -0
- package/dist/ContextMenu.cjs.js.map +1 -1
- package/dist/ContextMenu.es.js +1 -0
- package/dist/ContextMenu.es.js.map +1 -1
- package/dist/DetailsPanel.cjs.js +23 -1
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +23 -1
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +12 -1
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +14 -3
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.cjs.js +0 -2
- package/dist/_virtual/_commonjsHelpers.cjs.js.map +1 -1
- package/dist/_virtual/_commonjsHelpers.es.js +0 -2
- package/dist/_virtual/_commonjsHelpers.es.js.map +1 -1
- package/dist/_virtual/index.cjs10.js +3 -5
- package/dist/_virtual/index.cjs10.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +4 -4
- package/dist/_virtual/index.cjs5.js +3 -5
- package/dist/_virtual/index.cjs5.js.map +1 -1
- package/dist/_virtual/index.cjs6.js +5 -3
- package/dist/_virtual/index.cjs6.js.map +1 -1
- package/dist/_virtual/index.cjs7.js +5 -3
- package/dist/_virtual/index.cjs7.js.map +1 -1
- package/dist/_virtual/index.cjs8.js +4 -4
- package/dist/_virtual/index.cjs9.js +4 -4
- package/dist/_virtual/index.es10.js +2 -5
- package/dist/_virtual/index.es10.js.map +1 -1
- package/dist/_virtual/index.es4.js +4 -4
- package/dist/_virtual/index.es5.js +2 -5
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es6.js +5 -2
- package/dist/_virtual/index.es6.js.map +1 -1
- package/dist/_virtual/index.es7.js +5 -2
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/_virtual/index.es8.js +4 -4
- package/dist/_virtual/index.es9.js +4 -4
- package/dist/api.cjs.js +24 -1
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +26 -3
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +12 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +12 -0
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +3 -0
- package/dist/context.cjs.js.map +1 -1
- package/dist/context.es.js +3 -0
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +24 -2
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +24 -2
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
- package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
- package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
- package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
- package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
- package/dist/node_modules/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/index.es.js +1 -1
- package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
- package/dist/node_modules/vfile/lib/index.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +3 -0
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +3 -0
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +130 -0
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +130 -0
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +8 -4
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +9 -5
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -0
- package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +267 -0
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +267 -0
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +51 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +51 -0
- package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +169 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +169 -0
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js +29 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js +29 -0
- package/dist/shared/src/api/queries/entityLists/updateListsAttributes.es.js.map +1 -0
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +3 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +3 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +40 -5
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +40 -5
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +6 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +7 -3
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +355 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +355 -0
- package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js +93 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.cjs.js.map +1 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js +93 -0
- package/dist/shared/src/components/AttributeEditor/components/MinMaxField.es.js.map +1 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +4 -0
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +6 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +1 -1
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js +4 -2
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.cjs.js.map +1 -1
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js +4 -2
- package/dist/shared/src/components/EmptyPlaceholder/EmptyPlaceholder.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +3 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +3 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +23 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +23 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js +194 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js +195 -0
- package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js +128 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js +128 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js +185 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js +185 -0
- package/dist/shared/src/components/EnumEditor/EnumEditor.styled.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js +67 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js +68 -0
- package/dist/shared/src/components/EnumEditor/hooks/useDraggable.es.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/util/index.cjs.js +19 -0
- package/dist/shared/src/components/EnumEditor/util/index.cjs.js.map +1 -0
- package/dist/shared/src/components/EnumEditor/util/index.es.js +19 -0
- package/dist/shared/src/components/EnumEditor/util/index.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js +78 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js +79 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnItem.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +352 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +353 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +113 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +113 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js +52 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js +53 -0
- package/dist/shared/src/components/ProjectTableSettings/SortableColumnItem.es.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +4 -0
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +23 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +23 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +103 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +103 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +83 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +83 -0
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +4 -0
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +23 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +23 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +6 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +6 -1
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +23 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +23 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenu.css +54 -19
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +11 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +11 -1
- package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +23 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +23 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +25 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +25 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +24 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +24 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +26 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +26 -4
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +5 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +5 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +6 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +6 -2
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +2 -2
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +2 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +2 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +5 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +5 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +7 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -3
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +198 -222
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +201 -225
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +1 -3
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +1 -3
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +361 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +361 -0
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js +41 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js +41 -20
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +29 -35
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +31 -37
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +33 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +34 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +17 -11
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +17 -11
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableQueriesContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +190 -146
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +190 -146
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +10 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +10 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js +15 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js +15 -12
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +44 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js +15 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js +15 -7
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useHistory.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js +27 -31
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js +27 -31
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.cjs.js → useUpdateTableData.cjs.js} +48 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useUpdateOverview.es.js → useUpdateTableData.es.js} +48 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +25 -20
- package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +39 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +39 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +57 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +58 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +10 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +10 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +2 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +17 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +17 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +53 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +53 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +24 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +24 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +6 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +6 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +4 -0
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/SettingsPanelContext.cjs.js +63 -0
- package/dist/shared/src/context/SettingsPanelContext.cjs.js.map +1 -0
- package/dist/shared/src/context/SettingsPanelContext.es.js +63 -0
- package/dist/shared/src/context/SettingsPanelContext.es.js.map +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js +1 -0
- package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +5 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +6 -2
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +6 -2
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.cjs.js +3 -3
- package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
- package/dist/shared/src/util/confirmDelete.es.js +3 -3
- package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +48 -0
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -0
- package/dist/shared/src/util/getAttributeIcon.es.js +48 -0
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -0
- package/dist/shared/src/util/platform.cjs.js +7 -6
- package/dist/shared/src/util/platform.cjs.js.map +1 -1
- package/dist/shared/src/util/platform.es.js +7 -6
- package/dist/shared/src/util/platform.es.js.map +1 -1
- package/dist/types/Actions.d.ts +1 -1
- package/dist/types/ContextMenu.d.ts +1 -1
- package/dist/types/DetailsPanel.d.ts +1 -1
- package/dist/types/Feed.d.ts +1 -1
- package/dist/types/ProjectTreeTable.d.ts +1 -1
- package/dist/types/RepresentationsList.d.ts +1 -1
- package/dist/types/Slicer.d.ts +1 -1
- package/dist/types/api.d.ts +3 -3
- package/dist/types/components.d.ts +1 -1
- package/dist/types/context.d.ts +1 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/shared/src/SimpleTable/SimpleTable.d.ts +43 -0
- package/dist/types/shared/src/SimpleTable/SimpleTable.styled.d.ts +10 -0
- package/dist/types/shared/src/SimpleTable/SimpleTableRowTemplate.d.ts +13 -0
- package/dist/types/shared/src/SimpleTable/context/SimpleTableContext.d.ts +23 -0
- package/dist/types/shared/src/SimpleTable/index.d.ts +5 -0
- package/dist/types/{api → shared/src/api}/generated/graphql.d.ts +255 -39
- package/dist/types/{api → shared/src/api}/queries/activities/getActivities.d.ts +16 -0
- package/dist/types/{api → shared/src/api}/queries/activities/updateActivities.d.ts +32 -0
- package/dist/types/{api → shared/src/api}/queries/entities/getEntity.d.ts +16 -0
- package/dist/types/{api → shared/src/api}/queries/entities/getEntityPanel.d.ts +16 -0
- package/dist/types/{api → shared/src/api}/queries/entities/updateEntity.d.ts +16 -0
- package/dist/types/shared/src/api/queries/entityLists/getLists.d.ts +3009 -0
- package/dist/types/shared/src/api/queries/entityLists/getListsAttributes.d.ts +148 -0
- package/dist/types/shared/src/api/queries/entityLists/index.d.ts +5 -0
- package/dist/types/shared/src/api/queries/entityLists/types.d.ts +71 -0
- package/dist/types/shared/src/api/queries/entityLists/updateLists.d.ts +1137 -0
- package/dist/types/shared/src/api/queries/entityLists/updateListsAttributes.d.ts +176 -0
- package/dist/types/{api → shared/src/api}/queries/index.d.ts +1 -0
- package/dist/types/{api → shared/src/api}/queries/overview/getOverview.d.ts +17 -1
- package/dist/types/{api → shared/src/api}/queries/overview/updateOverview.d.ts +2 -2
- package/dist/types/{api → shared/src/api}/queries/userDashboard/getUserDashboard.d.ts +16 -0
- package/dist/types/{api → shared/src/api}/queries/users/getUsers.d.ts +16 -0
- package/dist/types/shared/src/components/AttributeEditor/AttributeEditor.d.ts +18 -0
- package/dist/types/shared/src/components/AttributeEditor/components/MinMaxField.d.ts +14 -0
- package/dist/types/shared/src/components/AttributeEditor/components/index.d.ts +1 -0
- package/dist/types/shared/src/components/AttributeEditor/index.d.ts +1 -0
- package/dist/types/shared/src/components/EnumEditor/DraggableEnumEditorItem.d.ts +10 -0
- package/dist/types/shared/src/components/EnumEditor/EnumEditor.d.ts +22 -0
- package/dist/types/shared/src/components/EnumEditor/EnumEditor.styled.d.ts +23 -0
- package/dist/types/shared/src/components/EnumEditor/hooks/useDraggable.d.ts +17 -0
- package/dist/types/shared/src/components/EnumEditor/index.d.ts +1 -0
- package/dist/types/shared/src/components/EnumEditor/util/index.d.ts +1 -0
- package/dist/types/shared/src/components/ProjectTableSettings/ColumnItem.d.ts +14 -0
- package/dist/types/shared/src/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -0
- package/dist/types/shared/src/components/ProjectTableSettings/ProjectTableSettings.d.ts +18 -0
- package/dist/types/shared/src/components/ProjectTableSettings/SortableColumnItem.d.ts +13 -0
- package/dist/types/shared/src/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/shared/src/components/SettingsPanel/SettingsPanel.d.ts +16 -0
- package/dist/types/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +20 -0
- package/dist/types/shared/src/components/SettingsPanel/index.d.ts +2 -0
- package/dist/types/{components → shared/src/components}/index.d.ts +4 -0
- package/dist/types/{containers → shared/src/containers}/ContextMenu/ContextMenuItem.d.ts +3 -1
- package/dist/types/shared/src/containers/ProjectTreeTable/ProjectTreeTable.d.ts +39 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +23 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/CellEditingContext.d.ts +3 -3
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ColumnSettingsContext.d.ts +6 -2
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableContext.d.ts +41 -34
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableQueriesContext.d.ts +3 -2
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +4 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardUtils.d.ts +2 -2
- package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +29 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useFolderRelationships.d.ts +7 -7
- package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +6 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useHistory.d.ts +5 -3
- package/dist/types/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +17 -0
- package/dist/types/{containers/ProjectTreeTable/hooks/useUpdateOverview.d.ts → shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts} +12 -3
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/index.d.ts +5 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/index.d.ts +4 -6
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/table.d.ts +51 -12
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/cellUtils.d.ts +2 -3
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +16 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +5 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +14 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.d.ts +4 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/EntityNameWidget.d.ts +1 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/EnumWidget.d.ts +1 -1
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/TextWidget.d.ts +2 -0
- package/dist/types/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +9 -0
- package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/shared/src/context/SettingsPanelContext.d.ts +20 -0
- package/dist/types/{context → shared/src/context}/index.d.ts +1 -0
- package/dist/types/shared/src/index.d.ts +2 -0
- package/dist/types/shared/src/util/getAttributeIcon.d.ts +4 -0
- package/dist/types/{util → shared/src/util}/index.d.ts +1 -0
- package/dist/types/util.d.ts +1 -1
- package/dist/util.cjs.js +2 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +2 -0
- package/dist/util.es.js.map +1 -1
- package/package.json +2 -1
- package/dist/_virtual/lodash.cjs.js +0 -6
- package/dist/_virtual/lodash.cjs.js.map +0 -1
- package/dist/_virtual/lodash.cjs2.js +0 -5
- package/dist/_virtual/lodash.cjs2.js.map +0 -1
- package/dist/_virtual/lodash.es.js +0 -6
- package/dist/_virtual/lodash.es.js.map +0 -1
- package/dist/_virtual/lodash.es2.js +0 -5
- package/dist/_virtual/lodash.es2.js.map +0 -1
- package/dist/shared/node_modules/lodash/lodash.cjs.js +0 -5492
- package/dist/shared/node_modules/lodash/lodash.cjs.js.map +0 -1
- package/dist/shared/node_modules/lodash/lodash.es.js +0 -5492
- package/dist/shared/node_modules/lodash/lodash.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js +0 -269
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js +0 -270
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTableColumns.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateOverview.es.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js +0 -69
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js +0 -70
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useValidateUpdates.es.js.map +0 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +0 -26
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTableColumns.d.ts +0 -16
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +0 -10
- package/dist/types/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +0 -32
- package/dist/types/containers/ProjectTreeTable/hooks/useValidateUpdates.d.ts +0 -3
- package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +0 -4
- /package/dist/types/{api → shared/src/api}/base/baseQueryTypes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/base/client.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/base/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/access.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/actions.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/activityFeed.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/addons.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/anatomy.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/attributes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/authentication.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/bundles.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/configuration.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/desktop.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/entityLists.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/events.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/files.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/folders.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/inbox.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/links.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/market.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/onboarding.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/operations.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/products.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/projectDashboard.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/projects.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/representations.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/reviewables.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/services.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/system.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/tasks.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/teams.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/thumbnails.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/uRIs.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/users.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/versions.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/workfiles.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/generated/ynputCloud.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/actions/getActions.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/actions/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/activityQueries.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/getMentions.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/types.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/updateReaction.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/activities/util/activitiesHelpers.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/addons/getAddons.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/addons/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/addons/updateAddons.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/attributes/getAttributes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/attributes/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/attributes/updateAttributes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/authentication/getAuthentication.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/authentication/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/entities/entityQueries.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/entities/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/entities/transformDetailsPanelData.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/folders/getFolders.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/folders/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/overview/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/project/ProjectTypes.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/project/getProject.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/project/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/review/getReview.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/review/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/review/types.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/review/updateReview.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/system/getSystem.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/system/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/userDashboard/convertAccessGroupsData.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/userDashboard/getUserProjectsAccess.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/userDashboard/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/users/index.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/watchers/getWatchers.d.ts +0 -0
- /package/dist/types/{api → shared/src/api}/queries/watchers/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsDialog/DetailsDialog.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsDialog/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/DetailsPanelAttributes.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/components/RenderFieldWidget.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/formatAttributesData.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/DetailsPanelAttributes/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/EmptyPlaceholder.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/EmptyPlaceholderFlex.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EmptyPlaceholder/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/EntityPath.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/EntityPath.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/SegmentProvider.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityPath/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/EntityThumbnailUploader.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/EntityThumbnailUploader.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/EntityThumbnailUploader/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/FileThumbnail/FileThumbnail.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/FileThumbnail/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableCard/ReviewableCard.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableCard/ReviewableCard.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableCard/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/ReviewableProgressCard.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/ReviewableProgressCard.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewableProgressCard/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/EditReviewableDialog.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesList.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesList.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesUpload.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/ReviewablesUpload.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/SortableReviewableCard.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/getGroupedReviewables.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ReviewablesList/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/SimpleFormDialog/SimpleFormDialog.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/SimpleFormDialog/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/StackedThumbnails.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/Thumbnail.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/Thumbnail.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Thumbnail/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailSimple/ThumbnailSimple.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailSimple/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailUploader/ThumbnailUploader.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailUploader/ThumbnailUploader.styled.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/ThumbnailUploader/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/UserImage/UserImage.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/UserImage/index.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Watchers/Watchers.d.ts +0 -0
- /package/dist/types/{components → shared/src/components}/Watchers/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionConfigDialog.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionIcon.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/Actions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/Actions.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/ActionsDropdown.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/ActionsDropdown.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/ActionsDropdown/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/InteractiveActionDialog.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Actions/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/ContextMenuContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/GlobalContextMenu.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ContextMenu/useCreateContextMenu.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanel.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanel.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFiles/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelFloating/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelHeader/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/DetailsPanelSlideOut/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedFilters/FeedFilters.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedFilters/FeedFilters.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/FeedWrapper.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/buildDetailsPanelTitles.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getAllProjectsStatuses.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getEntityPathData.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/getThumbnails.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/helpers/mergeProjectInfo.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/hooks/useGetEntityPath.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/DetailsPanel/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/Feed.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/Feed.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityAssigneeChange/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/ActivityCheckbox.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityCheckbox/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityComment.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityComment.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/CommentWrapper.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityComment/mappers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityDate.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityGroup/ActivityGroup.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityGroup/ActivityGroup.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityHeader/ActivityHeader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityHeader/ActivityHeader.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityItem.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReference/ActivityReference.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReference/ActivityReference.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityReferenceTooltip/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatus/ActivityStatus.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityStatusChange/hooks/getContextParents.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityVersions/ActivityVersions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/CommentInput.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/CommentInput.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/InputMarkdownConvert.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/helpers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useAnnotationsSync.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useAnnotationsUpload.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useInitialValue.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useMentionLink.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/hooks/useSetCursorEnd.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/modules/ImageUploader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/modules/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentInput/quillToMarkdown.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentMentionSelect/CommentMentionSelect.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/FileUploadCard.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/FileUploadCard.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadCard/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/FileUploadPreview.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/Mimes/ImageMime.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/Mimes/TextMime.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/fileUtils.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/hooks/useAttachmentNavigation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FileUploadPreview/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/FilesGrid.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/FilesGrid.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/FilesGrid/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/ExistingReactions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reaction.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/ReactionPanelOpener.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reactions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/Reactions.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/helpers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/ReactionContainer/types.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/EntityTooltip/EntityTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/UserTooltip/UserTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/context/FeedContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/feedHelpers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/helpers/groupActivityVersions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/helpers/groupMinorActivities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/helpers/mergeSimilarActivities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useCommentMutations.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useGetFeedActivitiesData.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useReferenceTooltip.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useSaveScrollPos.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useScrollOnInputOpen.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useScrollToHighlighted.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useTableKeyboardNavigation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/hooks/useTransformActivities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionOptions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionTasks.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionUsers.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Feed/mentionHelpers/getMentionVersions.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/ProjectTreeTable.styled.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/HeaderActionButton.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/RowSelectionHeader.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/components/SelectionCell.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ClipboardContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/ProjectTableSelectionContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/SelectedRowsContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/clipboardValidation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/clipboard/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/context/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useColumnVirtualization.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useCustomColumnWidthVars.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useDeleteEntities.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/useKeyboardNavigation.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/folders.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/operations.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/types/project.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/utils/loadingUtils.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/BooleanWidget.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/CellWidget.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/CollapsedWidget.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/DateWidget.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/DateWidgetInput.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/ProjectTreeTable/widgets/TextWidgetInput.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/RepresentationsList/RepresentationsList.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/RepresentationsList/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/RepresentationsList/versionsToRepresentations.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Slicer/createFilterFromSlicer.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Slicer/index.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/Slicer/types.d.ts +0 -0
- /package/dist/types/{containers → shared/src/containers}/index.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/DetailsPanelContext.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/RemoteModulesContext.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/ThumbnailUploaderContext.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/PiPProvider.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/PiPWindow.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/PiPWrapper.d.ts +0 -0
- /package/dist/types/{context → shared/src/context}/pip/index.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/index.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useActionTriggers.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useEntityUpdate.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useLoadModule.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useLoadModules.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useLocalStorage.d.ts +0 -0
- /package/dist/types/{hooks → shared/src/hooks}/useScopedStatuses.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/confirmDelete.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/copyToClipboard.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/getEntityTypeIcon.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/getMixedState.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/getPriorityOptions.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/groupResult.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/platform.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/productTypes.d.ts +0 -0
- /package/dist/types/{util → shared/src/util}/pubsub.d.ts +0 -0
package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFilterToQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"clientFilterToQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { FILTER_SEPARATOR, getFilterFromId } from '@ynput/ayon-react-components'\nimport { QueryCondition, QueryFilter } from '../types/operations'\n\n// New type that cherry picks only the needed fields from Filter\nexport type FilterForQuery = {\n id: string\n values?: { id: string; values?: { id: string }[] }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\n}\n\nconst NO_DATE = 'no_date'\nexport const clientFilterToQueryFilter = (filters: FilterForQuery[]): QueryFilter => {\n // If there are no filters, return an empty filter\n if (!filters || filters.length === 0) {\n return {}\n }\n\n // Process each filter as its own condition\n const conditions: (QueryCondition | QueryFilter)[] = filters\n .filter((f) => !!f.values?.length)\n .filter((f) => !f.id.includes('text')) // remove text search filters as they are handled separately\n .filter((f) => f.id !== 'hierarchy') // remove hierarchy filter as it is handled separately\n .flatMap((filter) => convertFilterToCondition(filter))\n\n // Return the QueryFilter with all conditions combined with AND\n return {\n conditions,\n operator: 'and',\n }\n}\n\n// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition => {\n // Extract key from filter ID (split by underscore if needed)\n const key = getFilterFromId(filter.id)\n\n // Handle values based on filter type\n let value: QueryCondition['value']\n\n // there is any value\n const hasSomeValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('hasValue')\n const hasNoValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('noValue')\n\n if (filter.values && filter.values.length > 0) {\n if (filter.singleSelect) {\n // @ts-expect-error\n value = convertValueByType(filter.values[0].id, filter.type)\n } else {\n // @ts-expect-error\n value = filter.values.map((v) => convertValueByType(v.id, filter.type))\n }\n }\n\n // Determine if this is likely a list field based on filter type\n const isListField =\n filter.type?.startsWith('list_of_') || key.includes('tags') || key.includes('assignees')\n const isDateField = filter.type === 'datetime'\n const isBooleanField = filter.type === 'boolean'\n\n // Determine the appropriate operator based on filter properties and type\n let operator: QueryCondition['operator'] = 'eq'\n\n // Handling NULL values\n if (value === undefined) {\n operator = filter.inverted ? 'notnull' : 'isnull'\n return { key, operator }\n }\n\n // Handle different filter types\n if (hasSomeValue) {\n // we set the value to the empty state and then say it should not be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'eq'\n : 'ne'\n : filter.inverted\n ? 'isnull'\n : 'notnull'\n } else if (hasNoValue) {\n // we set the value to the empty state and then say it should be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'ne'\n : 'eq'\n : filter.inverted\n ? 'notnull'\n : 'isnull'\n } else if (isListField) {\n if (filter.inverted) {\n operator = filter.operator === 'AND' ? 'excludesall' : 'excludesany'\n } else {\n operator = filter.operator === 'AND' ? 'includesall' : 'includesany'\n }\n } else if (isDateField) {\n // For date filters, we need to return a complete query filter with conditions\n if (filter.values && filter.values.length > 0) {\n // Create a flat list of all date conditions from all filter values\n const dateConditions: QueryCondition[] = filter.values.flatMap(\n (filterValue: FilterForQuery) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n // First value is greater than (start date)\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: dateValues[0].id,\n })\n }\n\n // Second value is less than (end date)\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: dateValues[1].id,\n })\n }\n\n return conditions\n },\n )\n\n // If we have date conditions, return them as a nested filter instead of continuing\n if (dateConditions.length > 0) {\n // @ts-expect-error\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n }\n }\n\n // If no date conditions were created, fall back to a basic equality check\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (isBooleanField) {\n operator = filter.inverted ? 'ne' : 'eq'\n } else {\n // DEFAULT for other scalar fields\n operator = filter.inverted ? 'notin' : 'in'\n }\n\n return { key, value, operator }\n}\n\n// Helper function to convert values based on the filter type\nconst convertValueByType = (value: string, type?: string): string | number | boolean => {\n if (!type) return value\n\n switch (type) {\n case 'integer':\n return parseInt(value, 10)\n case 'float':\n return parseFloat(value)\n case 'boolean':\n return value.toLowerCase() === 'true'\n default:\n return value\n }\n}\n\nexport default clientFilterToQueryFilter\n"],"names":[],"mappings":";AAaA,MAAM,UAAU;AACH,MAAA,4BAA4B,CAAC,YAA2C;AAEnF,MAAI,CAAC,WAAW,QAAQ,WAAW,GAAG;AACpC,WAAO,CAAC;AAAA,EAAA;AAIV,QAAM,aAA+C,QAClD,OAAO,CAAC,MAAM;;AAAA,YAAC,GAAC,OAAE,WAAF,mBAAU;AAAA,GAAM,EAChC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,MAAM,CAAC,EACpC,OAAO,CAAC,MAAM,EAAE,OAAO,WAAW,EAClC,QAAQ,CAAC,WAAW,yBAAyB,MAAM,CAAC;AAGhD,SAAA;AAAA,IACL;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAGA,MAAM,2BAA2B,CAAC,WAA2C;;AAErE,QAAA,MAAM,gBAAgB,OAAO,EAAE;AAGjC,MAAA;AAGJ,QAAM,eACJ,MAAM,QAAQ,OAAO,MAAM,OAAK,YAAO,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,MAA7B,mBAAgC,SAAS;AAC3E,QAAM,aACJ,MAAM,QAAQ,OAAO,MAAM,OAAK,YAAO,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,MAA7B,mBAAgC,SAAS;AAE3E,MAAI,OAAO,UAAU,OAAO,OAAO,SAAS,GAAG;AAC7C,QAAI,OAAO,cAAc;AAEvB,cAAQ,mBAAmB,OAAO,OAAO,CAAC,EAAE,IAAI,OAAO,IAAI;AAAA,IAAA,OACtD;AAEG,cAAA,OAAO,OAAO,IAAI,CAAC,MAAM,mBAAmB,EAAE,IAAI,OAAO,IAAI,CAAC;AAAA,IAAA;AAAA,EACxE;AAIF,QAAM,gBACJ,YAAO,SAAP,mBAAa,WAAW,gBAAe,IAAI,SAAS,MAAM,KAAK,IAAI,SAAS,WAAW;AACnF,QAAA,cAAc,OAAO,SAAS;AAC9B,QAAA,iBAAiB,OAAO,SAAS;AAGvC,MAAI,WAAuC;AAG3C,MAAI,UAAU,QAAW;AACZ,eAAA,OAAO,WAAW,YAAY;AAClC,WAAA,EAAE,KAAK,SAAS;AAAA,EAAA;AAIzB,MAAI,cAAc;AAER,YAAA,cAAc,CAAA,IAAK;AAC3B,eAAW,cACP,OAAO,WACL,OACA,OACF,OAAO,WACP,WACA;AAAA,aACK,YAAY;AAEb,YAAA,cAAc,CAAA,IAAK;AAC3B,eAAW,cACP,OAAO,WACL,OACA,OACF,OAAO,WACP,YACA;AAAA,aACK,aAAa;AACtB,QAAI,OAAO,UAAU;AACR,iBAAA,OAAO,aAAa,QAAQ,gBAAgB;AAAA,IAAA,OAClD;AACM,iBAAA,OAAO,aAAa,QAAQ,gBAAgB;AAAA,IAAA;AAAA,aAEhD,aAAa;AAEtB,QAAI,OAAO,UAAU,OAAO,OAAO,SAAS,GAAG;AAEvC,YAAA,iBAAmC,OAAO,OAAO;AAAA,QACrD,CAAC,gBAAgC;AAC/B,gBAAM,aAA+B,CAAC;AACtC,gBAAM,aAAa,YAAY;AAG3B,eAAA,yCAAa,QAAO,WAAa,yCAAa,GAAG,QAAO,SAAS;AACnE,uBAAW,KAAK;AAAA,cACd;AAAA,cACA,UAAU,OAAO,WAAW,QAAQ;AAAA,cACpC,OAAO,WAAW,CAAC,EAAE;AAAA,YAAA,CACtB;AAAA,UAAA;AAIC,eAAA,yCAAa,QAAO,WAAa,yCAAa,GAAG,QAAO,SAAS;AACnE,uBAAW,KAAK;AAAA,cACd;AAAA,cACA,UAAU,OAAO,WAAW,QAAQ;AAAA,cACpC,OAAO,WAAW,CAAC,EAAE;AAAA,YAAA,CACtB;AAAA,UAAA;AAGI,iBAAA;AAAA,QAAA;AAAA,MAEX;AAGI,UAAA,eAAe,SAAS,GAAG;AAEtB,eAAA;AAAA,UACL,YAAY;AAAA,UACZ,UAAU,OAAO,WAAW,OAAO;AAAA,QACrC;AAAA,MAAA;AAAA,IACF;AAIS,eAAA,OAAO,WAAW,OAAO;AAAA,aAC3B,gBAAgB;AACd,eAAA,OAAO,WAAW,OAAO;AAAA,EAAA,OAC/B;AAEM,eAAA,OAAO,WAAW,UAAU;AAAA,EAAA;AAGlC,SAAA,EAAE,KAAK,OAAO,SAAS;AAChC;AAGA,MAAM,qBAAqB,CAAC,OAAe,SAA6C;AAClF,MAAA,CAAC,KAAa,QAAA;AAElB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACI,aAAA,SAAS,OAAO,EAAE;AAAA,IAC3B,KAAK;AACH,aAAO,WAAW,KAAK;AAAA,IACzB,KAAK;AACI,aAAA,MAAM,kBAAkB;AAAA,IACjC;AACS,aAAA;AAAA,EAAA;AAEb;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const getReadOnlyLists = (attribFields, extra = []) => {
|
|
4
|
+
let readOnlyAttribs = attribFields.filter((attrib) => attrib.readOnly).map((attrib) => attrib.name);
|
|
5
|
+
let readOnlyColumnsSet;
|
|
6
|
+
if (extra == null ? void 0 : extra.includes("attrib")) {
|
|
7
|
+
readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name);
|
|
8
|
+
readOnlyColumnsSet = /* @__PURE__ */ new Set([
|
|
9
|
+
...attribFields.filter((a) => a.builtin).map((attrib) => "attrib_" + attrib.name),
|
|
10
|
+
// Add all attribute columns to the readOnly set
|
|
11
|
+
...extra || []
|
|
12
|
+
// Add any other specified readOnly columns
|
|
13
|
+
]);
|
|
14
|
+
} else {
|
|
15
|
+
readOnlyColumnsSet = /* @__PURE__ */ new Set([
|
|
16
|
+
...readOnlyAttribs.map((name) => "attrib_" + name),
|
|
17
|
+
// Add readOnly attribute columns to the set
|
|
18
|
+
...extra || []
|
|
19
|
+
// Add any other specified readOnly columns
|
|
20
|
+
]);
|
|
21
|
+
if (extra) {
|
|
22
|
+
extra.forEach((col) => {
|
|
23
|
+
if (col.startsWith("attrib_")) {
|
|
24
|
+
const attribName = col.replace("attrib_", "");
|
|
25
|
+
if (attribFields.find((attrib) => attrib.name === attribName) && !readOnlyAttribs.includes(attribName)) {
|
|
26
|
+
readOnlyAttribs.push(attribName);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const readOnlyColumns = Array.from(readOnlyColumnsSet);
|
|
33
|
+
return { readOnlyColumns, readOnlyAttribs };
|
|
34
|
+
};
|
|
35
|
+
exports.getReadOnlyLists = getReadOnlyLists;
|
|
36
|
+
//# sourceMappingURL=getReadOnlyLists.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReadOnlyLists.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getReadOnlyLists.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\n\nexport const getReadOnlyLists = (attribFields: ProjectTableAttribute[], extra: string[] = []) => {\n let readOnlyAttribs: string[] = attribFields\n .filter((attrib) => attrib.readOnly) // Filter attributes that are explicitly readOnly\n .map((attrib) => attrib.name) // Extract the names of the readOnly attributes\n\n let readOnlyColumnsSet: Set<string>\n\n if (extra?.includes('attrib' as any)) {\n // If 'attrib' is in the readonly columns, all attributes are read-only\n readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name) // Mark all attributes as readOnly if they are builtin\n readOnlyColumnsSet = new Set([\n ...attribFields.filter((a) => a.builtin).map((attrib) => 'attrib_' + attrib.name), // Add all attribute columns to the readOnly set\n ...(extra || []), // Add any other specified readOnly columns\n ])\n } else {\n // If 'attrib' is not in the readonly columns, handle individual attributes\n readOnlyColumnsSet = new Set([\n ...readOnlyAttribs.map((name) => 'attrib_' + name), // Add readOnly attribute columns to the set\n ...(extra || []), // Add any other specified readOnly columns\n ])\n\n // Add readOnly from extra to attribs\n if (extra) {\n extra.forEach((col) => {\n if (col.startsWith('attrib_')) {\n const attribName = col.replace('attrib_', '')\n if (\n attribFields.find((attrib) => attrib.name === attribName) &&\n !readOnlyAttribs.includes(attribName)\n ) {\n readOnlyAttribs.push(attribName)\n }\n }\n })\n }\n }\n\n const readOnlyColumns = Array.from(readOnlyColumnsSet) // Convert the set of readOnly columns to an array\n\n return { readOnlyColumns, readOnlyAttribs }\n}\n"],"names":[],"mappings":";;AAEO,MAAM,mBAAmB,CAAC,cAAuC,QAAkB,OAAO;AAC/F,MAAI,kBAA4B,aAC7B,OAAO,CAAC,WAAW,OAAO,QAAQ,EAClC,IAAI,CAAC,WAAW,OAAO,IAAI;AAE1B,MAAA;AAEA,MAAA,+BAAO,SAAS,WAAkB;AAElB,sBAAA,aAAa,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,IAAI;AACnF,6CAAyB,IAAI;AAAA,MAC3B,GAAG,aAAa,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,YAAY,OAAO,IAAI;AAAA;AAAA,MAChF,GAAI,SAAS,CAAA;AAAA;AAAA,IAAC,CACf;AAAA,EAAA,OACI;AAEL,6CAAyB,IAAI;AAAA,MAC3B,GAAG,gBAAgB,IAAI,CAAC,SAAS,YAAY,IAAI;AAAA;AAAA,MACjD,GAAI,SAAS,CAAA;AAAA;AAAA,IAAC,CACf;AAGD,QAAI,OAAO;AACH,YAAA,QAAQ,CAAC,QAAQ;AACjB,YAAA,IAAI,WAAW,SAAS,GAAG;AAC7B,gBAAM,aAAa,IAAI,QAAQ,WAAW,EAAE;AAC5C,cACE,aAAa,KAAK,CAAC,WAAW,OAAO,SAAS,UAAU,KACxD,CAAC,gBAAgB,SAAS,UAAU,GACpC;AACA,4BAAgB,KAAK,UAAU;AAAA,UAAA;AAAA,QACjC;AAAA,MACF,CACD;AAAA,IAAA;AAAA,EACH;AAGI,QAAA,kBAAkB,MAAM,KAAK,kBAAkB;AAE9C,SAAA,EAAE,iBAAiB,gBAAgB;AAC5C;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const getReadOnlyLists = (attribFields, extra = []) => {
|
|
2
|
+
let readOnlyAttribs = attribFields.filter((attrib) => attrib.readOnly).map((attrib) => attrib.name);
|
|
3
|
+
let readOnlyColumnsSet;
|
|
4
|
+
if (extra == null ? void 0 : extra.includes("attrib")) {
|
|
5
|
+
readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name);
|
|
6
|
+
readOnlyColumnsSet = /* @__PURE__ */ new Set([
|
|
7
|
+
...attribFields.filter((a) => a.builtin).map((attrib) => "attrib_" + attrib.name),
|
|
8
|
+
// Add all attribute columns to the readOnly set
|
|
9
|
+
...extra || []
|
|
10
|
+
// Add any other specified readOnly columns
|
|
11
|
+
]);
|
|
12
|
+
} else {
|
|
13
|
+
readOnlyColumnsSet = /* @__PURE__ */ new Set([
|
|
14
|
+
...readOnlyAttribs.map((name) => "attrib_" + name),
|
|
15
|
+
// Add readOnly attribute columns to the set
|
|
16
|
+
...extra || []
|
|
17
|
+
// Add any other specified readOnly columns
|
|
18
|
+
]);
|
|
19
|
+
if (extra) {
|
|
20
|
+
extra.forEach((col) => {
|
|
21
|
+
if (col.startsWith("attrib_")) {
|
|
22
|
+
const attribName = col.replace("attrib_", "");
|
|
23
|
+
if (attribFields.find((attrib) => attrib.name === attribName) && !readOnlyAttribs.includes(attribName)) {
|
|
24
|
+
readOnlyAttribs.push(attribName);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const readOnlyColumns = Array.from(readOnlyColumnsSet);
|
|
31
|
+
return { readOnlyColumns, readOnlyAttribs };
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
getReadOnlyLists
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=getReadOnlyLists.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReadOnlyLists.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getReadOnlyLists.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\n\nexport const getReadOnlyLists = (attribFields: ProjectTableAttribute[], extra: string[] = []) => {\n let readOnlyAttribs: string[] = attribFields\n .filter((attrib) => attrib.readOnly) // Filter attributes that are explicitly readOnly\n .map((attrib) => attrib.name) // Extract the names of the readOnly attributes\n\n let readOnlyColumnsSet: Set<string>\n\n if (extra?.includes('attrib' as any)) {\n // If 'attrib' is in the readonly columns, all attributes are read-only\n readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name) // Mark all attributes as readOnly if they are builtin\n readOnlyColumnsSet = new Set([\n ...attribFields.filter((a) => a.builtin).map((attrib) => 'attrib_' + attrib.name), // Add all attribute columns to the readOnly set\n ...(extra || []), // Add any other specified readOnly columns\n ])\n } else {\n // If 'attrib' is not in the readonly columns, handle individual attributes\n readOnlyColumnsSet = new Set([\n ...readOnlyAttribs.map((name) => 'attrib_' + name), // Add readOnly attribute columns to the set\n ...(extra || []), // Add any other specified readOnly columns\n ])\n\n // Add readOnly from extra to attribs\n if (extra) {\n extra.forEach((col) => {\n if (col.startsWith('attrib_')) {\n const attribName = col.replace('attrib_', '')\n if (\n attribFields.find((attrib) => attrib.name === attribName) &&\n !readOnlyAttribs.includes(attribName)\n ) {\n readOnlyAttribs.push(attribName)\n }\n }\n })\n }\n }\n\n const readOnlyColumns = Array.from(readOnlyColumnsSet) // Convert the set of readOnly columns to an array\n\n return { readOnlyColumns, readOnlyAttribs }\n}\n"],"names":[],"mappings":"AAEO,MAAM,mBAAmB,CAAC,cAAuC,QAAkB,OAAO;AAC/F,MAAI,kBAA4B,aAC7B,OAAO,CAAC,WAAW,OAAO,QAAQ,EAClC,IAAI,CAAC,WAAW,OAAO,IAAI;AAE1B,MAAA;AAEA,MAAA,+BAAO,SAAS,WAAkB;AAElB,sBAAA,aAAa,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,IAAI;AACnF,6CAAyB,IAAI;AAAA,MAC3B,GAAG,aAAa,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,YAAY,OAAO,IAAI;AAAA;AAAA,MAChF,GAAI,SAAS,CAAA;AAAA;AAAA,IAAC,CACf;AAAA,EAAA,OACI;AAEL,6CAAyB,IAAI;AAAA,MAC3B,GAAG,gBAAgB,IAAI,CAAC,SAAS,YAAY,IAAI;AAAA;AAAA,MACjD,GAAI,SAAS,CAAA;AAAA;AAAA,IAAC,CACf;AAGD,QAAI,OAAO;AACH,YAAA,QAAQ,CAAC,QAAQ;AACjB,YAAA,IAAI,WAAW,SAAS,GAAG;AAC7B,gBAAM,aAAa,IAAI,QAAQ,WAAW,EAAE;AAC5C,cACE,aAAa,KAAK,CAAC,WAAW,OAAO,SAAS,UAAU,KACxD,CAAC,gBAAgB,SAAS,UAAU,GACpC;AACA,4BAAgB,KAAK,UAAU;AAAA,UAAA;AAAA,QACjC;AAAA,MACF,CACD;AAAA,IAAA;AAAA,EACH;AAGI,QAAA,kBAAkB,MAAM,KAAK,kBAAkB;AAE9C,SAAA,EAAE,iBAAiB,gBAAgB;AAC5C;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const productTypes = require("../../../util/productTypes.cjs.js");
|
|
4
|
+
require("lodash");
|
|
5
|
+
require("react-toastify");
|
|
6
|
+
require("../../../util/pubsub.cjs.js");
|
|
7
|
+
const getTableFieldOptions = ({
|
|
8
|
+
users,
|
|
9
|
+
statuses,
|
|
10
|
+
folderTypes,
|
|
11
|
+
taskTypes,
|
|
12
|
+
tags
|
|
13
|
+
}) => ({
|
|
14
|
+
assignee: users.map(({ name, fullName }) => ({
|
|
15
|
+
value: name,
|
|
16
|
+
label: fullName || name,
|
|
17
|
+
icon: `/api/users/${name}/avatar`
|
|
18
|
+
})),
|
|
19
|
+
status: statuses.filter((status) => !status.scope || ["folder", "task"].some((s) => {
|
|
20
|
+
var _a;
|
|
21
|
+
return (_a = status.scope) == null ? void 0 : _a.includes(s);
|
|
22
|
+
})).map(({ name, color, icon, scope }) => ({
|
|
23
|
+
value: name,
|
|
24
|
+
label: name,
|
|
25
|
+
color,
|
|
26
|
+
icon,
|
|
27
|
+
scope
|
|
28
|
+
})),
|
|
29
|
+
tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),
|
|
30
|
+
folderType: folderTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),
|
|
31
|
+
taskType: taskTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),
|
|
32
|
+
productType: Object.entries(productTypes).map(([key, value]) => ({
|
|
33
|
+
value: key,
|
|
34
|
+
label: value.name,
|
|
35
|
+
icon: value.icon
|
|
36
|
+
}))
|
|
37
|
+
});
|
|
38
|
+
exports.getTableFieldOptions = getTableFieldOptions;
|
|
39
|
+
//# sourceMappingURL=getTableFieldOptions.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTableFieldOptions.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTableFieldOptions.ts"],"sourcesContent":["import { productTypes } from '@shared/util'\nimport { BuiltInFieldOptions } from '../types'\nimport { FolderType, Status, Tag, TaskType } from '../types/project'\n\ntype Params = {\n users: {\n name: string\n fullName?: string\n }[]\n statuses: Status[]\n folderTypes: FolderType[]\n taskTypes: TaskType[]\n tags: Tag[]\n}\n\nexport const getTableFieldOptions = ({\n users,\n statuses,\n folderTypes,\n taskTypes,\n tags,\n}: Params): BuiltInFieldOptions => ({\n assignee: users.map(({ name, fullName }) => ({\n value: name,\n label: fullName || name,\n icon: `/api/users/${name}/avatar`,\n })),\n status: statuses\n .filter((status) => !status.scope || ['folder', 'task'].some((s) => status.scope?.includes(s)))\n .map(({ name, color, icon, scope }) => ({\n value: name,\n label: name,\n color,\n icon,\n scope,\n })),\n tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),\n folderType: folderTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),\n taskType: taskTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),\n productType: Object.entries(productTypes).map(([key, value]) => ({\n value: key,\n label: value.name,\n icon: value.icon,\n })),\n})\n"],"names":[],"mappings":";;;;;;AAeO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,OAAoC;AAAA,EAClC,UAAU,MAAM,IAAI,CAAC,EAAE,MAAM,gBAAgB;AAAA,IAC3C,OAAO;AAAA,IACP,OAAO,YAAY;AAAA,IACnB,MAAM,cAAc,IAAI;AAAA,EAAA,EACxB;AAAA,EACF,QAAQ,SACL,OAAO,CAAC,WAAW,CAAC,OAAO,SAAS,CAAC,UAAU,MAAM,EAAE,KAAK,CAAC;;AAAM,wBAAO,UAAP,mBAAc,SAAS;AAAA,GAAE,CAAC,EAC7F,IAAI,CAAC,EAAE,MAAM,OAAO,MAAM,aAAa;AAAA,IACtC,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA;AAAA,EACJ,KAAK,KAAK,IAAI,CAAC,EAAE,MAAM,MAAA,OAAa,EAAE,OAAO,MAAM,OAAO,MAAM,MAAQ,EAAA;AAAA,EACxE,YAAY,YAAY,IAAI,CAAC,EAAE,MAAM,KAAA,OAAY,EAAE,OAAO,MAAM,OAAO,MAAM,KAAO,EAAA;AAAA,EACpF,UAAU,UAAU,IAAI,CAAC,EAAE,MAAM,KAAA,OAAY,EAAE,OAAO,MAAM,OAAO,MAAM,KAAO,EAAA;AAAA,EAChF,aAAa,OAAO,QAAQ,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;AAAA,IAC/D,OAAO;AAAA,IACP,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,EAAA,EACZ;AACJ;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import productTypes from "../../../util/productTypes.es.js";
|
|
2
|
+
import "lodash";
|
|
3
|
+
import "react-toastify";
|
|
4
|
+
import "../../../util/pubsub.es.js";
|
|
5
|
+
const getTableFieldOptions = ({
|
|
6
|
+
users,
|
|
7
|
+
statuses,
|
|
8
|
+
folderTypes,
|
|
9
|
+
taskTypes,
|
|
10
|
+
tags
|
|
11
|
+
}) => ({
|
|
12
|
+
assignee: users.map(({ name, fullName }) => ({
|
|
13
|
+
value: name,
|
|
14
|
+
label: fullName || name,
|
|
15
|
+
icon: `/api/users/${name}/avatar`
|
|
16
|
+
})),
|
|
17
|
+
status: statuses.filter((status) => !status.scope || ["folder", "task"].some((s) => {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = status.scope) == null ? void 0 : _a.includes(s);
|
|
20
|
+
})).map(({ name, color, icon, scope }) => ({
|
|
21
|
+
value: name,
|
|
22
|
+
label: name,
|
|
23
|
+
color,
|
|
24
|
+
icon,
|
|
25
|
+
scope
|
|
26
|
+
})),
|
|
27
|
+
tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),
|
|
28
|
+
folderType: folderTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),
|
|
29
|
+
taskType: taskTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),
|
|
30
|
+
productType: Object.entries(productTypes).map(([key, value]) => ({
|
|
31
|
+
value: key,
|
|
32
|
+
label: value.name,
|
|
33
|
+
icon: value.icon
|
|
34
|
+
}))
|
|
35
|
+
});
|
|
36
|
+
export {
|
|
37
|
+
getTableFieldOptions
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=getTableFieldOptions.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTableFieldOptions.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTableFieldOptions.ts"],"sourcesContent":["import { productTypes } from '@shared/util'\nimport { BuiltInFieldOptions } from '../types'\nimport { FolderType, Status, Tag, TaskType } from '../types/project'\n\ntype Params = {\n users: {\n name: string\n fullName?: string\n }[]\n statuses: Status[]\n folderTypes: FolderType[]\n taskTypes: TaskType[]\n tags: Tag[]\n}\n\nexport const getTableFieldOptions = ({\n users,\n statuses,\n folderTypes,\n taskTypes,\n tags,\n}: Params): BuiltInFieldOptions => ({\n assignee: users.map(({ name, fullName }) => ({\n value: name,\n label: fullName || name,\n icon: `/api/users/${name}/avatar`,\n })),\n status: statuses\n .filter((status) => !status.scope || ['folder', 'task'].some((s) => status.scope?.includes(s)))\n .map(({ name, color, icon, scope }) => ({\n value: name,\n label: name,\n color,\n icon,\n scope,\n })),\n tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),\n folderType: folderTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),\n taskType: taskTypes.map(({ name, icon }) => ({ value: name, label: name, icon })),\n productType: Object.entries(productTypes).map(([key, value]) => ({\n value: key,\n label: value.name,\n icon: value.icon,\n })),\n})\n"],"names":[],"mappings":";;;;AAeO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,OAAoC;AAAA,EAClC,UAAU,MAAM,IAAI,CAAC,EAAE,MAAM,gBAAgB;AAAA,IAC3C,OAAO;AAAA,IACP,OAAO,YAAY;AAAA,IACnB,MAAM,cAAc,IAAI;AAAA,EAAA,EACxB;AAAA,EACF,QAAQ,SACL,OAAO,CAAC,WAAW,CAAC,OAAO,SAAS,CAAC,UAAU,MAAM,EAAE,KAAK,CAAC;;AAAM,wBAAO,UAAP,mBAAc,SAAS;AAAA,GAAE,CAAC,EAC7F,IAAI,CAAC,EAAE,MAAM,OAAO,MAAM,aAAa;AAAA,IACtC,OAAO;AAAA,IACP,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA;AAAA,EACJ,KAAK,KAAK,IAAI,CAAC,EAAE,MAAM,MAAA,OAAa,EAAE,OAAO,MAAM,OAAO,MAAM,MAAQ,EAAA;AAAA,EACxE,YAAY,YAAY,IAAI,CAAC,EAAE,MAAM,KAAA,OAAY,EAAE,OAAO,MAAM,OAAO,MAAM,KAAO,EAAA;AAAA,EACpF,UAAU,UAAU,IAAI,CAAC,EAAE,MAAM,KAAA,OAAY,EAAE,OAAO,MAAM,OAAO,MAAM,KAAO,EAAA;AAAA,EAChF,aAAa,OAAO,QAAQ,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;AAAA,IAC/D,OAAO;AAAA,IACP,OAAO,MAAM;AAAA,IACb,MAAM,MAAM;AAAA,EAAA,EACZ;AACJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { AttributeModel, LoadingTasks } from '../types'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (\n attribs: { name: string }[],\n count = 50,\n { type = 'folder', parentId }: { type?: string; parentId?: string } = {},\n): TableRow[] => {\n return new Array(count).fill(0).map(\n (_, index): TableRow => ({\n id: `loading-${type}-${index}-${parentId}`,\n name: 'Loading...',\n parentId: parentId,\n isLoading: true,\n label: 'Loading...',\n color: null,\n icon: null,\n img: null,\n entityType: type,\n ownAttrib: [],\n tags: [],\n subRows: [],\n path: '',\n attrib: attribs.reduce((acc: { [key: string]: null }, attrib) => {\n acc[attrib.name] = null\n return acc\n }, {}),\n }),\n )\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["_a"],"mappings":";;AAUa,MAAA,sBAAsB,CACjC,SACA,QAAQ,IACR,EAAE,OAAO,UAAU,SAAmD,IAAA,OACvD;AACf,SAAO,IAAI,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE;AAAA,IAC9B,CAAC,GAAG,WAAqB;AAAA,MACvB,IAAI,WAAW,IAAI,IAAI,KAAK,IAAI,QAAQ;AAAA,MACxC,MAAM;AAAA,MACN;AAAA,MACA,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,WAAW,CAAC;AAAA,MACZ,MAAM,CAAC;AAAA,MACP,SAAS,CAAC;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,QAAQ,OAAO,CAAC,KAA8B,WAAW;AAC3D,YAAA,OAAO,IAAI,IAAI;AACZ,eAAA;AAAA,MAAA,GACN,CAAE,CAAA;AAAA,IACP;AAAA,EACF;AACF;AAOa,MAAA,0BAA0B,CAAC,QAAQ,OAAyB;AAChE,SAAA,MAAM,KAAK,EACf,KAAK,IAAI,EACT,IAAI,CAAC,GAAG,MAAsB;AACtB,WAAA;AAAA,MACL,MAAM,oBAAoB,CAAC;AAAA,MAC3B,OAAO,CAAC,UAAU,MAAM;AAAA,MACxB,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,UAAU;AAAA,IACZ;AAAA,EAAA,CACD;AACL;AAgBO,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AACF,MAAuD;;AAErD,QAAM,YAAY,qBAAqB,IAAI,CAAC,SAAS,KAAK,QAAQ;AAClE,QAAM,iCAAiC,kBAAkB;AAAA,IACvD,CAAC,OAAO;;AAAA,cAAAA,MAAA,WAAW,IAAI,EAAE,MAAjB,gBAAAA,IAAoB;AAAA;AAAA,EAC9B;AACM,QAAA,eAAe,IAAI,IAAI,SAAS;AAChC,QAAA,uCAAuB,IAAY;AACzC,aAAW,YAAY,gCAAgC;AACrD,QAAI,CAAC,aAAa,IAAI,QAAQ,GAAG;AAC/B,uBAAiB,IAAI,QAAQ;AAAA,IAAA;AAAA,EAC/B;AAGF,QAAM,eAA6B,CAAC;AACpC,aAAW,YAAY,kBAAkB;AAEjC,UAAA,SAAS,WAAW,IAAI,QAAQ;AACtC,QAAI,QAAQ;AACV,mBAAa,QAAQ,MAAI,YAAO,cAAP,mBAAkB,WAAU;AAAA,IAAA;AAAA,EACvD;AAGK,SAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"loadingUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { AttributeModel, LoadingTasks } from '../types'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (\n attribs: { name: string }[],\n count = 50,\n { type = 'folder', parentId }: { type?: string; parentId?: string } = {},\n): TableRow[] => {\n return new Array(count).fill(0).map(\n (_, index): TableRow => ({\n id: `loading-${type}-${index}-${parentId}`,\n name: 'Loading...',\n status: 'Loading...',\n parentId: parentId,\n isLoading: true,\n label: 'Loading...',\n color: null,\n icon: null,\n img: null,\n entityType: type,\n ownAttrib: [],\n tags: [],\n subRows: [],\n path: '',\n attrib: attribs.reduce((acc: { [key: string]: null }, attrib) => {\n acc[attrib.name] = null\n return acc\n }, {}),\n }),\n )\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["_a"],"mappings":";;AAUa,MAAA,sBAAsB,CACjC,SACA,QAAQ,IACR,EAAE,OAAO,UAAU,SAAmD,IAAA,OACvD;AACf,SAAO,IAAI,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE;AAAA,IAC9B,CAAC,GAAG,WAAqB;AAAA,MACvB,IAAI,WAAW,IAAI,IAAI,KAAK,IAAI,QAAQ;AAAA,MACxC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,MACA,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,WAAW,CAAC;AAAA,MACZ,MAAM,CAAC;AAAA,MACP,SAAS,CAAC;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,QAAQ,OAAO,CAAC,KAA8B,WAAW;AAC3D,YAAA,OAAO,IAAI,IAAI;AACZ,eAAA;AAAA,MAAA,GACN,CAAE,CAAA;AAAA,IACP;AAAA,EACF;AACF;AAOa,MAAA,0BAA0B,CAAC,QAAQ,OAAyB;AAChE,SAAA,MAAM,KAAK,EACf,KAAK,IAAI,EACT,IAAI,CAAC,GAAG,MAAsB;AACtB,WAAA;AAAA,MACL,MAAM,oBAAoB,CAAC;AAAA,MAC3B,OAAO,CAAC,UAAU,MAAM;AAAA,MACxB,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,UAAU;AAAA,IACZ;AAAA,EAAA,CACD;AACL;AAgBO,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AACF,MAAuD;;AAErD,QAAM,YAAY,qBAAqB,IAAI,CAAC,SAAS,KAAK,QAAQ;AAClE,QAAM,iCAAiC,kBAAkB;AAAA,IACvD,CAAC,OAAO;;AAAA,cAAAA,MAAA,WAAW,IAAI,EAAE,MAAjB,gBAAAA,IAAoB;AAAA;AAAA,EAC9B;AACM,QAAA,eAAe,IAAI,IAAI,SAAS;AAChC,QAAA,uCAAuB,IAAY;AACzC,aAAW,YAAY,gCAAgC;AACrD,QAAI,CAAC,aAAa,IAAI,QAAQ,GAAG;AAC/B,uBAAiB,IAAI,QAAQ;AAAA,IAAA;AAAA,EAC/B;AAGF,QAAM,eAA6B,CAAC;AACpC,aAAW,YAAY,kBAAkB;AAEjC,UAAA,SAAS,WAAW,IAAI,QAAQ;AACtC,QAAI,QAAQ;AACV,mBAAa,QAAQ,MAAI,YAAO,cAAP,mBAAkB,WAAU;AAAA,IAAA;AAAA,EACvD;AAGK,SAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { AttributeModel, LoadingTasks } from '../types'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (\n attribs: { name: string }[],\n count = 50,\n { type = 'folder', parentId }: { type?: string; parentId?: string } = {},\n): TableRow[] => {\n return new Array(count).fill(0).map(\n (_, index): TableRow => ({\n id: `loading-${type}-${index}-${parentId}`,\n name: 'Loading...',\n parentId: parentId,\n isLoading: true,\n label: 'Loading...',\n color: null,\n icon: null,\n img: null,\n entityType: type,\n ownAttrib: [],\n tags: [],\n subRows: [],\n path: '',\n attrib: attribs.reduce((acc: { [key: string]: null }, attrib) => {\n acc[attrib.name] = null\n return acc\n }, {}),\n }),\n )\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["_a"],"mappings":"AAUa,MAAA,sBAAsB,CACjC,SACA,QAAQ,IACR,EAAE,OAAO,UAAU,SAAmD,IAAA,OACvD;AACf,SAAO,IAAI,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE;AAAA,IAC9B,CAAC,GAAG,WAAqB;AAAA,MACvB,IAAI,WAAW,IAAI,IAAI,KAAK,IAAI,QAAQ;AAAA,MACxC,MAAM;AAAA,MACN;AAAA,MACA,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,WAAW,CAAC;AAAA,MACZ,MAAM,CAAC;AAAA,MACP,SAAS,CAAC;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,QAAQ,OAAO,CAAC,KAA8B,WAAW;AAC3D,YAAA,OAAO,IAAI,IAAI;AACZ,eAAA;AAAA,MAAA,GACN,CAAE,CAAA;AAAA,IACP;AAAA,EACF;AACF;AAOa,MAAA,0BAA0B,CAAC,QAAQ,OAAyB;AAChE,SAAA,MAAM,KAAK,EACf,KAAK,IAAI,EACT,IAAI,CAAC,GAAG,MAAsB;AACtB,WAAA;AAAA,MACL,MAAM,oBAAoB,CAAC;AAAA,MAC3B,OAAO,CAAC,UAAU,MAAM;AAAA,MACxB,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,UAAU;AAAA,IACZ;AAAA,EAAA,CACD;AACL;AAgBO,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AACF,MAAuD;
|
|
1
|
+
{"version":3,"file":"loadingUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/loadingUtils.ts"],"sourcesContent":["import { TableRow } from '../types/table'\nimport { FolderNodeMap } from '../types/table'\nimport { AttributeModel, LoadingTasks } from '../types'\n\n/**\n * Generates an array of placeholder rows for loading state\n * @param attribs - Attribute models used to populate empty attribute fields\n * @param count - Number of loading rows to generate (default: 50)\n * @returns Array of TableRow objects with loading state\n */\nexport const generateLoadingRows = (\n attribs: { name: string }[],\n count = 50,\n { type = 'folder', parentId }: { type?: string; parentId?: string } = {},\n): TableRow[] => {\n return new Array(count).fill(0).map(\n (_, index): TableRow => ({\n id: `loading-${type}-${index}-${parentId}`,\n name: 'Loading...',\n status: 'Loading...',\n parentId: parentId,\n isLoading: true,\n label: 'Loading...',\n color: null,\n icon: null,\n img: null,\n entityType: type,\n ownAttrib: [],\n tags: [],\n subRows: [],\n path: '',\n attrib: attribs.reduce((acc: { [key: string]: null }, attrib) => {\n acc[attrib.name] = null\n return acc\n }, {}),\n }),\n )\n}\n\n/**\n * Generates an array of dummy attribute models for loading states\n * @param count - Number of dummy attributes to generate (default: 10)\n * @returns Array of AttributeModel objects\n */\nexport const generateDummyAttributes = (count = 10): AttributeModel[] => {\n return Array(count)\n .fill(null)\n .map((_, i): AttributeModel => {\n return {\n name: `loading-attribute${i}`,\n scope: ['folder', 'task'],\n data: {\n type: 'string',\n },\n position: i,\n }\n })\n}\n\n/**\n * Parameters for determineLoadingTaskFolders function\n */\nexport type DetermineLoadingTaskFoldersParams = {\n expandedFoldersTasks: { folderId: string | null }[]\n expandedParentIds: string[]\n foldersMap: FolderNodeMap\n}\n\n/**\n * Determines which folders are currently loading tasks\n * @param params - Object containing parameters for determining loading folders\n * @returns Array of folder IDs that are in loading state\n */\nexport const determineLoadingTaskFolders = ({\n expandedFoldersTasks,\n expandedParentIds,\n foldersMap,\n}: DetermineLoadingTaskFoldersParams): LoadingTasks => {\n // find the folderIds that are being fetched (not the ones that are already loaded)\n const folderIds = expandedFoldersTasks.map((task) => task.folderId)\n const expandedParentIdsThatHaveTasks = expandedParentIds.filter(\n (id) => foldersMap.get(id)?.hasTasks,\n )\n const folderIdsSet = new Set(folderIds)\n const loadingParentIds = new Set<string>()\n for (const folderId of expandedParentIdsThatHaveTasks) {\n if (!folderIdsSet.has(folderId)) {\n loadingParentIds.add(folderId)\n }\n }\n\n const loadingTasks: LoadingTasks = {}\n for (const folderId of loadingParentIds) {\n // find the folder by id\n const folder = foldersMap.get(folderId)\n if (folder) {\n loadingTasks[folderId] = folder.taskNames?.length || 0\n }\n }\n\n return loadingTasks\n}\n"],"names":["_a"],"mappings":"AAUa,MAAA,sBAAsB,CACjC,SACA,QAAQ,IACR,EAAE,OAAO,UAAU,SAAmD,IAAA,OACvD;AACf,SAAO,IAAI,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE;AAAA,IAC9B,CAAC,GAAG,WAAqB;AAAA,MACvB,IAAI,WAAW,IAAI,IAAI,KAAK,IAAI,QAAQ;AAAA,MACxC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR;AAAA,MACA,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,WAAW,CAAC;AAAA,MACZ,MAAM,CAAC;AAAA,MACP,SAAS,CAAC;AAAA,MACV,MAAM;AAAA,MACN,QAAQ,QAAQ,OAAO,CAAC,KAA8B,WAAW;AAC3D,YAAA,OAAO,IAAI,IAAI;AACZ,eAAA;AAAA,MAAA,GACN,CAAE,CAAA;AAAA,IACP;AAAA,EACF;AACF;AAOa,MAAA,0BAA0B,CAAC,QAAQ,OAAyB;AAChE,SAAA,MAAM,KAAK,EACf,KAAK,IAAI,EACT,IAAI,CAAC,GAAG,MAAsB;AACtB,WAAA;AAAA,MACL,MAAM,oBAAoB,CAAC;AAAA,MAC3B,OAAO,CAAC,UAAU,MAAM;AAAA,MACxB,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,UAAU;AAAA,IACZ;AAAA,EAAA,CACD;AACL;AAgBO,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AACF,MAAuD;AAnE1C;AAqEX,QAAM,YAAY,qBAAqB,IAAI,CAAC,SAAS,KAAK,QAAQ;AAClE,QAAM,iCAAiC,kBAAkB;AAAA,IACvD,CAAC,OAAO;AAvEC,UAAAA;AAuED,cAAAA,MAAA,WAAW,IAAI,EAAE,MAAjB,gBAAAA,IAAoB;AAAA;AAAA,EAC9B;AACM,QAAA,eAAe,IAAI,IAAI,SAAS;AAChC,QAAA,uCAAuB,IAAY;AACzC,aAAW,YAAY,gCAAgC;AACrD,QAAI,CAAC,aAAa,IAAI,QAAQ,GAAG;AAC/B,uBAAiB,IAAI,QAAQ;AAAA,IAAA;AAAA,EAC/B;AAGF,QAAM,eAA6B,CAAC;AACpC,aAAW,YAAY,kBAAkB;AAEjC,UAAA,SAAS,WAAW,IAAI,QAAQ;AACtC,QAAI,QAAQ;AACV,mBAAa,QAAQ,MAAI,YAAO,cAAP,mBAAkB,WAAU;AAAA,IAAA;AAAA,EACvD;AAGK,SAAA;AACT;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const validateUpdateEntities = (entities = [], attribFields) => {
|
|
3
|
+
console.log(entities);
|
|
4
|
+
for (const { isAttrib, value: rawValue, field } of entities) {
|
|
5
|
+
if (!isAttrib) continue;
|
|
6
|
+
const attribute = attribFields.find((attr) => attr.name === field);
|
|
7
|
+
if (!attribute) continue;
|
|
8
|
+
let value = rawValue;
|
|
9
|
+
const { type } = attribute.data;
|
|
10
|
+
if (type === "integer" || type === "float") {
|
|
11
|
+
if (typeof rawValue === "string") {
|
|
12
|
+
if (rawValue.trim() === "" || isNaN(Number(rawValue))) {
|
|
13
|
+
throw new Error(`“${field}” must be a valid number`);
|
|
14
|
+
}
|
|
15
|
+
value = type === "integer" ? parseInt(rawValue, 10) : parseFloat(rawValue);
|
|
16
|
+
} else if (typeof rawValue !== "number") {
|
|
17
|
+
throw new Error(`“${field}” must be a valid number`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const validationKeys = [
|
|
21
|
+
"ge",
|
|
22
|
+
"gt",
|
|
23
|
+
"le",
|
|
24
|
+
"lt",
|
|
25
|
+
"minLength",
|
|
26
|
+
"maxLength",
|
|
27
|
+
"minItems",
|
|
28
|
+
"maxItems"
|
|
29
|
+
];
|
|
30
|
+
const validationValues = Object.entries(attribute.data).reduce((acc, [key, v]) => {
|
|
31
|
+
if (validationKeys.includes(key)) acc[key] = v;
|
|
32
|
+
return acc;
|
|
33
|
+
}, {});
|
|
34
|
+
const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues;
|
|
35
|
+
const pattern = attribute.data.regex;
|
|
36
|
+
if (typeof value === "number") {
|
|
37
|
+
if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`);
|
|
38
|
+
if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`);
|
|
39
|
+
if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`);
|
|
40
|
+
if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`);
|
|
41
|
+
} else if (typeof value === "string") {
|
|
42
|
+
if (minLength != null && value.length < minLength)
|
|
43
|
+
throw new Error(`“${field}” length must be ≥ ${minLength}`);
|
|
44
|
+
if (maxLength != null && value.length > maxLength)
|
|
45
|
+
throw new Error(`“${field}” length must be ≤ ${maxLength}`);
|
|
46
|
+
if (pattern && !new RegExp(pattern).test(value))
|
|
47
|
+
throw new Error(`“${field}” must match pattern ${pattern}`);
|
|
48
|
+
} else if (Array.isArray(value)) {
|
|
49
|
+
if (minItems != null && value.length < minItems)
|
|
50
|
+
throw new Error(`“${field}” items must be ≥ ${minItems}`);
|
|
51
|
+
if (maxItems != null && value.length > maxItems)
|
|
52
|
+
throw new Error(`“${field}” items must be ≤ ${maxItems}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
module.exports = validateUpdateEntities;
|
|
57
|
+
//# sourceMappingURL=validateUpdateEntities.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateUpdateEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { AttributeData, ProjectTableAttribute } from '../types'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n console.log(entities)\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":[],"mappings":";AAGA,MAAM,yBAAyB,CAC7B,WAA2B,IAC3B,iBACG;AACH,UAAQ,IAAI,QAAQ;AAEpB,aAAW,EAAE,UAAU,OAAO,UAAU,WAAW,UAAU;AAC3D,QAAI,CAAC,SAAU;AACf,UAAM,YAAY,aAAa,KAAK,CAAC,SAAS,KAAK,SAAS,KAAK;AACjE,QAAI,CAAC,UAAW;AAGhB,QAAI,QAAa;AACX,UAAA,EAAE,SAAS,UAAU;AACvB,QAAA,SAAS,aAAa,SAAS,SAAS;AACtC,UAAA,OAAO,aAAa,UAAU;AAE5B,YAAA,SAAS,WAAW,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG;AACrD,gBAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,QAAA;AAErD,gBAAQ,SAAS,YAAY,SAAS,UAAU,EAAE,IAAI,WAAW,QAAQ;AAAA,MAAA,WAChE,OAAO,aAAa,UAAU;AAEvC,cAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,MAAA;AAAA,IACrD;AAIF,UAAM,iBAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,mBACJ,OAAO,QAAQ,UAAU,IAAI,EAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AAC1B,UAAI,eAAe,SAAS,GAAG,EAAG,KAAI,GAAG,IAAI;AACtC,aAAA;AAAA,IACT,GAAG,EAAyC;AAEtC,UAAA,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,WAAW,UAAU,SAAA,IAAa;AAC/D,UAAA,UAAU,UAAU,KAAK;AAE3B,QAAA,OAAO,UAAU,UAAU;AACzB,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACvE,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AAAA,IAAA,WAClE,OAAO,UAAU,UAAU;AAChC,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AACxD,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AAC5D,UAAI,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK;AAC5C,cAAM,IAAI,MAAM,IAAI,KAAK,wBAAwB,OAAO,EAAE;AAAA,IACnD,WAAA,MAAM,QAAQ,KAAK,GAAG;AAC3B,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AACtD,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5D;AAEJ;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const validateUpdateEntities = (entities = [], attribFields) => {
|
|
2
|
+
console.log(entities);
|
|
3
|
+
for (const { isAttrib, value: rawValue, field } of entities) {
|
|
4
|
+
if (!isAttrib) continue;
|
|
5
|
+
const attribute = attribFields.find((attr) => attr.name === field);
|
|
6
|
+
if (!attribute) continue;
|
|
7
|
+
let value = rawValue;
|
|
8
|
+
const { type } = attribute.data;
|
|
9
|
+
if (type === "integer" || type === "float") {
|
|
10
|
+
if (typeof rawValue === "string") {
|
|
11
|
+
if (rawValue.trim() === "" || isNaN(Number(rawValue))) {
|
|
12
|
+
throw new Error(`“${field}” must be a valid number`);
|
|
13
|
+
}
|
|
14
|
+
value = type === "integer" ? parseInt(rawValue, 10) : parseFloat(rawValue);
|
|
15
|
+
} else if (typeof rawValue !== "number") {
|
|
16
|
+
throw new Error(`“${field}” must be a valid number`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const validationKeys = [
|
|
20
|
+
"ge",
|
|
21
|
+
"gt",
|
|
22
|
+
"le",
|
|
23
|
+
"lt",
|
|
24
|
+
"minLength",
|
|
25
|
+
"maxLength",
|
|
26
|
+
"minItems",
|
|
27
|
+
"maxItems"
|
|
28
|
+
];
|
|
29
|
+
const validationValues = Object.entries(attribute.data).reduce((acc, [key, v]) => {
|
|
30
|
+
if (validationKeys.includes(key)) acc[key] = v;
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues;
|
|
34
|
+
const pattern = attribute.data.regex;
|
|
35
|
+
if (typeof value === "number") {
|
|
36
|
+
if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`);
|
|
37
|
+
if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`);
|
|
38
|
+
if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`);
|
|
39
|
+
if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`);
|
|
40
|
+
} else if (typeof value === "string") {
|
|
41
|
+
if (minLength != null && value.length < minLength)
|
|
42
|
+
throw new Error(`“${field}” length must be ≥ ${minLength}`);
|
|
43
|
+
if (maxLength != null && value.length > maxLength)
|
|
44
|
+
throw new Error(`“${field}” length must be ≤ ${maxLength}`);
|
|
45
|
+
if (pattern && !new RegExp(pattern).test(value))
|
|
46
|
+
throw new Error(`“${field}” must match pattern ${pattern}`);
|
|
47
|
+
} else if (Array.isArray(value)) {
|
|
48
|
+
if (minItems != null && value.length < minItems)
|
|
49
|
+
throw new Error(`“${field}” items must be ≥ ${minItems}`);
|
|
50
|
+
if (maxItems != null && value.length > maxItems)
|
|
51
|
+
throw new Error(`“${field}” items must be ≤ ${maxItems}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
validateUpdateEntities as default
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=validateUpdateEntities.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateUpdateEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { AttributeData, ProjectTableAttribute } from '../types'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n console.log(entities)\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":[],"mappings":"AAGA,MAAM,yBAAyB,CAC7B,WAA2B,IAC3B,iBACG;AACH,UAAQ,IAAI,QAAQ;AAEpB,aAAW,EAAE,UAAU,OAAO,UAAU,WAAW,UAAU;AAC3D,QAAI,CAAC,SAAU;AACf,UAAM,YAAY,aAAa,KAAK,CAAC,SAAS,KAAK,SAAS,KAAK;AACjE,QAAI,CAAC,UAAW;AAGhB,QAAI,QAAa;AACX,UAAA,EAAE,SAAS,UAAU;AACvB,QAAA,SAAS,aAAa,SAAS,SAAS;AACtC,UAAA,OAAO,aAAa,UAAU;AAE5B,YAAA,SAAS,WAAW,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG;AACrD,gBAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,QAAA;AAErD,gBAAQ,SAAS,YAAY,SAAS,UAAU,EAAE,IAAI,WAAW,QAAQ;AAAA,MAAA,WAChE,OAAO,aAAa,UAAU;AAEvC,cAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,MAAA;AAAA,IACrD;AAIF,UAAM,iBAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,mBACJ,OAAO,QAAQ,UAAU,IAAI,EAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AAC1B,UAAI,eAAe,SAAS,GAAG,EAAG,KAAI,GAAG,IAAI;AACtC,aAAA;AAAA,IACT,GAAG,EAAyC;AAEtC,UAAA,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,WAAW,UAAU,SAAA,IAAa;AAC/D,UAAA,UAAU,UAAU,KAAK;AAE3B,QAAA,OAAO,UAAU,UAAU;AACzB,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACvE,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AAAA,IAAA,WAClE,OAAO,UAAU,UAAU;AAChC,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AACxD,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AAC5D,UAAI,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK;AAC5C,cAAM,IAAI,MAAM,IAAI,KAAK,wBAAwB,OAAO,EAAE;AAAA,IACnD,WAAA,MAAM,QAAQ,KAAK,GAAG;AAC3B,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AACtD,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5D;AAEJ;"}
|
|
@@ -105,6 +105,16 @@ const EditorCellComponent = ({
|
|
|
105
105
|
}
|
|
106
106
|
case !!options.length: {
|
|
107
107
|
const enumValue = Array.isArray(value) ? value : [value];
|
|
108
|
+
if (isReadOnly) {
|
|
109
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
110
|
+
TextWidget.TextWidget,
|
|
111
|
+
{
|
|
112
|
+
value: enumValue.join(", "),
|
|
113
|
+
option: enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : void 0,
|
|
114
|
+
...sharedProps
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
108
118
|
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
109
119
|
EnumWidget.EnumWidget,
|
|
110
120
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, memo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\ntype WidgetAttributeData = Pick<AttributeData, 'type'>\n\nexport type CellValue = string | number | boolean\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nconst EditorCellComponent: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, { inherited: isInherited && !isCurrentCellEditing })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n\n// Custom comparison function for memo\nfunction arePropsEqual(prevProps: EditorCellProps, nextProps: EditorCellProps) {\n // Only re-render if these props change\n return (\n prevProps.rowId === nextProps.rowId &&\n prevProps.columnId === nextProps.columnId &&\n prevProps.isCollapsed === nextProps.isCollapsed &&\n JSON.stringify(prevProps.value) === JSON.stringify(nextProps.value) &&\n prevProps?.attributeData?.type === nextProps?.attributeData?.type &&\n // Only check options length for list types to avoid deep comparison\n ((!prevProps?.attributeData?.type.includes('list') &&\n !nextProps?.attributeData?.type.includes('list')) ||\n prevProps.options?.length === nextProps.options?.length) &&\n prevProps.isInherited === nextProps.isInherited &&\n prevProps.enableCustomValues === nextProps.enableCustomValues &&\n prevProps.isReadOnly === nextProps.isReadOnly &&\n prevProps.isPlaceholder === nextProps.isPlaceholder &&\n prevProps.isFocused === nextProps.isFocused &&\n prevProps.isCollapsed === nextProps.isCollapsed\n )\n}\n\nexport const CellWidget = memo(EditorCellComponent, arePropsEqual)\n"],"names":["useRef","useCellEditing","useSelectionCellsContext","getCellId","useCallback","useMemo","jsx","CollapsedWidget","EnumWidget","TextWidget","DateWidget","BooleanWidget","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, memo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\ntype WidgetAttributeData = Pick<AttributeData, 'type'>\n\nexport type CellValue = string | number | boolean\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nconst EditorCellComponent: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n return (\n <TextWidget\n value={enumValue.join(', ')}\n option={\n enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : undefined\n }\n {...sharedProps}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, { inherited: isInherited && !isCurrentCellEditing })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n\n// Custom comparison function for memo\nfunction arePropsEqual(prevProps: EditorCellProps, nextProps: EditorCellProps) {\n // Only re-render if these props change\n return (\n prevProps.rowId === nextProps.rowId &&\n prevProps.columnId === nextProps.columnId &&\n prevProps.isCollapsed === nextProps.isCollapsed &&\n JSON.stringify(prevProps.value) === JSON.stringify(nextProps.value) &&\n prevProps?.attributeData?.type === nextProps?.attributeData?.type &&\n // Only check options length for list types to avoid deep comparison\n ((!prevProps?.attributeData?.type.includes('list') &&\n !nextProps?.attributeData?.type.includes('list')) ||\n prevProps.options?.length === nextProps.options?.length) &&\n prevProps.isInherited === nextProps.isInherited &&\n prevProps.enableCustomValues === nextProps.enableCustomValues &&\n prevProps.isReadOnly === nextProps.isReadOnly &&\n prevProps.isPlaceholder === nextProps.isPlaceholder &&\n prevProps.isFocused === nextProps.isFocused &&\n prevProps.isCollapsed === nextProps.isCollapsed\n )\n}\n\nexport const CellWidget = memo(EditorCellComponent, arePropsEqual)\n"],"names":["useRef","useCellEditing","useSelectionCellsContext","getCellId","useCallback","useMemo","jsx","CollapsedWidget","TextWidget","EnumWidget","DateWidget","BooleanWidget","memo"],"mappings":"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"}
|
|
@@ -103,6 +103,16 @@ const EditorCellComponent = ({
|
|
|
103
103
|
}
|
|
104
104
|
case !!options.length: {
|
|
105
105
|
const enumValue = Array.isArray(value) ? value : [value];
|
|
106
|
+
if (isReadOnly) {
|
|
107
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
108
|
+
TextWidget,
|
|
109
|
+
{
|
|
110
|
+
value: enumValue.join(", "),
|
|
111
|
+
option: enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : void 0,
|
|
112
|
+
...sharedProps
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
}
|
|
106
116
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
107
117
|
EnumWidget,
|
|
108
118
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, memo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\ntype WidgetAttributeData = Pick<AttributeData, 'type'>\n\nexport type CellValue = string | number | boolean\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nconst EditorCellComponent: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, { inherited: isInherited && !isCurrentCellEditing })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n\n// Custom comparison function for memo\nfunction arePropsEqual(prevProps: EditorCellProps, nextProps: EditorCellProps) {\n // Only re-render if these props change\n return (\n prevProps.rowId === nextProps.rowId &&\n prevProps.columnId === nextProps.columnId &&\n prevProps.isCollapsed === nextProps.isCollapsed &&\n JSON.stringify(prevProps.value) === JSON.stringify(nextProps.value) &&\n prevProps?.attributeData?.type === nextProps?.attributeData?.type &&\n // Only check options length for list types to avoid deep comparison\n ((!prevProps?.attributeData?.type.includes('list') &&\n !nextProps?.attributeData?.type.includes('list')) ||\n prevProps.options?.length === nextProps.options?.length) &&\n prevProps.isInherited === nextProps.isInherited &&\n prevProps.enableCustomValues === nextProps.enableCustomValues &&\n prevProps.isReadOnly === nextProps.isReadOnly &&\n prevProps.isPlaceholder === nextProps.isPlaceholder &&\n prevProps.isFocused === nextProps.isFocused &&\n prevProps.isCollapsed === nextProps.isCollapsed\n )\n}\n\nexport const CellWidget = memo(EditorCellComponent, arePropsEqual)\n"],"names":["jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { useMemo, memo, useCallback, useRef, FC } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { AttributeData, AttributeEnumItem } from '../types'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\ntype WidgetAttributeData = Pick<AttributeData, 'type'>\n\nexport type CellValue = string | number | boolean\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n attributeData?: WidgetAttributeData\n options?: AttributeEnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nconst EditorCellComponent: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n onChange,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { isEditing, setEditingCellId } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const handleDoubleClick = useCallback(() => {\n if (isPlaceholder || isReadOnly) return\n setEditingCellId(cellId)\n }, [cellId, setEditingCellId, isPlaceholder])\n\n const handleSingleClick = () => {\n // clicking a cell that is not editing will close the editor on this cell\n if (!isCurrentCellEditing) {\n setEditingCellId(null)\n }\n }\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) return\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n setEditingCellId(null)\n if (isReadOnly) return\n // move to the next cell row\n key === 'Enter' && moveToNextRow()\n // make change if the value is different or if the key is 'Enter'\n if (newValue !== value || key === 'Enter') {\n onChange?.(newValue, key)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n return (\n <TextWidget\n value={enumValue.join(', ')}\n option={\n enumValue.length === 1 ? options.find((o) => o.value === enumValue[0]) : undefined\n }\n {...sharedProps}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => !isReadOnly && setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, { inherited: isInherited && !isCurrentCellEditing })}\n ref={ref}\n onDoubleClick={handleDoubleClick}\n onClick={handleSingleClick}\n id={cellId}\n data-tooltip={\n isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n\n// Custom comparison function for memo\nfunction arePropsEqual(prevProps: EditorCellProps, nextProps: EditorCellProps) {\n // Only re-render if these props change\n return (\n prevProps.rowId === nextProps.rowId &&\n prevProps.columnId === nextProps.columnId &&\n prevProps.isCollapsed === nextProps.isCollapsed &&\n JSON.stringify(prevProps.value) === JSON.stringify(nextProps.value) &&\n prevProps?.attributeData?.type === nextProps?.attributeData?.type &&\n // Only check options length for list types to avoid deep comparison\n ((!prevProps?.attributeData?.type.includes('list') &&\n !nextProps?.attributeData?.type.includes('list')) ||\n prevProps.options?.length === nextProps.options?.length) &&\n prevProps.isInherited === nextProps.isInherited &&\n prevProps.enableCustomValues === nextProps.enableCustomValues &&\n prevProps.isReadOnly === nextProps.isReadOnly &&\n prevProps.isPlaceholder === nextProps.isPlaceholder &&\n prevProps.isFocused === nextProps.isFocused &&\n prevProps.isCollapsed === nextProps.isCollapsed\n )\n}\n\nexport const CellWidget = memo(EditorCellComponent, arePropsEqual)\n"],"names":["jsx"],"mappings":"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"}
|