@ynput/ayon-frontend-shared 0.2.14 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DetailsPanel.cjs.js +7 -0
- package/dist/DetailsPanel.cjs.js.map +1 -1
- package/dist/DetailsPanel.es.js +7 -0
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +5 -0
- package/dist/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/ProjectTreeTable.es.js +5 -0
- package/dist/ProjectTreeTable.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 +4 -4
- package/dist/_virtual/index.cjs6.js +2 -2
- package/dist/_virtual/index.cjs7.js +5 -3
- package/dist/_virtual/index.cjs7.js.map +1 -1
- 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 +4 -4
- package/dist/_virtual/index.es6.js +2 -2
- package/dist/_virtual/index.es7.js +5 -2
- package/dist/_virtual/index.es7.js.map +1 -1
- package/dist/api.cjs.js +2 -0
- package/dist/api.cjs.js.map +1 -1
- package/dist/api.es.js +3 -1
- package/dist/components.cjs.js +9 -0
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +9 -0
- package/dist/components.es.js.map +1 -1
- package/dist/context.cjs.js +4 -0
- package/dist/context.cjs.js.map +1 -1
- package/dist/context.es.js +4 -0
- package/dist/context.es.js.map +1 -1
- package/dist/index.cjs.js +7 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +7 -0
- 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-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/shared/src/api/generated/actions.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/actions.es.js.map +1 -1
- package/dist/shared/src/api/generated/addons.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/addons.es.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/events.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/events.es.js.map +1 -1
- package/dist/shared/src/api/generated/files.cjs.js +5 -0
- package/dist/shared/src/api/generated/files.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/files.es.js +5 -0
- package/dist/shared/src/api/generated/files.es.js.map +1 -1
- package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/operations.es.js.map +1 -1
- package/dist/shared/src/api/generated/projects.cjs.js +16 -0
- package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/projects.es.js +16 -0
- package/dist/shared/src/api/generated/projects.es.js.map +1 -1
- package/dist/shared/src/api/generated/reviewables.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/reviewables.es.js.map +1 -1
- package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/system.es.js.map +1 -1
- package/dist/shared/src/api/generated/tasks.cjs.js +8 -0
- package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/tasks.es.js +8 -0
- package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +66 -4
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +66 -4
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +7 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +7 -0
- package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +69 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +69 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +48 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +102 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +102 -0
- package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PricingLink.cjs.js +13 -0
- package/dist/shared/src/components/Powerpack/PricingLink.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PricingLink.es.js +13 -0
- package/dist/shared/src/components/Powerpack/PricingLink.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +4 -10
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +1 -7
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +5 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js +13 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js +13 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +50 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +50 -0
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +7 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +7 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +7 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +7 -0
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +7 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +7 -0
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +6 -7
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +6 -7
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +6 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -2
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- 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/containers/Actions/ActionConfigDialog.cjs.js +7 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +7 -0
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -0
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +1 -0
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +7 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +7 -0
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +7 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +7 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +7 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +7 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +7 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +7 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +8 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +8 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -0
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +1 -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/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/ActivityComment.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +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/FileUploadCard/FileUploadCard.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +1 -0
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +45 -16
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +45 -16
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +45 -7
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +45 -7
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +202 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +202 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +14 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +14 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +11 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +22 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +22 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js +116 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js +116 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +137 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +137 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.cjs.js → useBuildProjectDataTable.cjs.js} +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.es.js → useBuildProjectDataTable.es.js} +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +39 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +39 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +108 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +108 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +29 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +7 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +7 -0
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -0
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +1 -0
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +65 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.es.js +65 -0
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +1 -0
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +7 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +7 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/getEntityTypeIcon.cjs.js +9 -0
- package/dist/shared/src/util/getEntityTypeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getEntityTypeIcon.es.js +9 -0
- package/dist/shared/src/util/getEntityTypeIcon.es.js.map +1 -1
- package/dist/types/api/generated/actions.d.ts +2 -1
- package/dist/types/api/generated/addons.d.ts +8 -1
- package/dist/types/api/generated/anatomy.d.ts +1 -14
- package/dist/types/api/generated/attributes.d.ts +4 -2
- package/dist/types/api/generated/configuration.d.ts +6 -0
- package/dist/types/api/generated/entityLists.d.ts +2 -0
- package/dist/types/api/generated/events.d.ts +1 -1
- package/dist/types/api/generated/files.d.ts +11 -0
- package/dist/types/api/generated/operations.d.ts +1 -1
- package/dist/types/api/generated/projects.d.ts +59 -0
- package/dist/types/api/generated/reviewables.d.ts +1 -0
- package/dist/types/api/generated/system.d.ts +5 -3
- package/dist/types/api/generated/tasks.d.ts +48 -9
- package/dist/types/api/generated/users.d.ts +1 -4
- package/dist/types/api/queries/overview/getOverview.d.ts +350 -482
- package/dist/types/api/queries/project/getProject.d.ts +6 -0
- package/dist/types/components/Powerpack/PowerpackButton.d.ts +7 -0
- package/dist/types/components/Powerpack/PowerpackDialog.d.ts +4 -0
- package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +8 -0
- package/dist/types/components/Powerpack/PricingLink.d.ts +4 -0
- package/dist/types/components/Powerpack/index.d.ts +3 -0
- package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -1
- package/dist/types/components/ProjectTableSettings/TableSettings.styled.d.ts +1 -0
- package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +10 -0
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +5 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +11 -5
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableModulesContext.d.ts +12 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +25 -0
- package/dist/types/containers/ProjectTreeTable/hooks/{useOverviewTable.d.ts → useBuildProjectDataTable.d.ts} +3 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +13 -5
- package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +13 -0
- package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +8 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/context/PowerpackContext.d.ts +20 -0
- package/dist/types/context/index.d.ts +1 -0
- package/dist/types/util/getAttributeIcon.d.ts +1 -1
- package/dist/types/util/getEntityTypeIcon.d.ts +1 -0
- package/dist/util.cjs.js +1 -0
- package/dist/util.cjs.js.map +1 -1
- package/dist/util.es.js +2 -1
- package/package.json +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnsSettings.es.js","sources":["../../../../../src/components/ProjectTableSettings/ColumnsSettings.tsx"],"sourcesContent":["// React and Styling imports\nimport { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\n\n// Context and Components imports\nimport {\n ColumnsConfig,\n useColumnSettingsContext,\n} from '@shared/containers/ProjectTreeTable/context/ColumnSettingsContext'\nimport ColumnItem from './ColumnItem'\nimport SortableColumnItem from './SortableColumnItem'\n\n// DND (Drag and Drop) imports\nimport {\n DndContext,\n closestCenter,\n DragEndEvent,\n DragStartEvent,\n useSensor,\n useSensors,\n PointerSensor,\n DragOverlay,\n DragOverEvent,\n} from '@dnd-kit/core'\nimport { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable'\n\n// Notification imports\nimport { toast } from 'react-toastify'\nimport { SettingsPanelItem } from '../SettingsPanel/SettingsPanelItemTemplate'\nimport { SettingHighlightedId } from '@shared/context'\n\ninterface ColumnsSettingsProps {\n columns: SettingsPanelItem[]\n highlighted?: SettingHighlightedId\n}\n\nconst ColumnsSettings: FC<ColumnsSettingsProps> = ({ columns, highlighted }) => {\n const {\n columnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n } = useColumnSettingsContext()\n\n // State for the currently dragged column\n const [activeId, setActiveId] = useState<string | null>(null)\n const [isHiddenOverVisible, setIsHiddenOverVisible] = useState(false)\n const [isDraggingOverPinned, setIsDraggingOverPinned] = useState(false)\n const [isDraggingFromPinned, setIsDraggingFromPinned] = useState(false)\n // Add a new state to track if we're hovering over the visible section\n const [isHoveringVisibleSection, setIsHoveringVisibleSection] = useState(false)\n // Add state to track if dragging over the hidden section\n const [isDraggingOverHidden, setIsDraggingOverHidden] = useState(false)\n\n // Setup sensors for dnd-kit\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n )\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n\n // if highlighted is set, scroll to the highlighted column\n useEffect(() => {\n if (menuRef.current && highlighted) {\n const highlightedElement = menuRef.current.querySelector(`#column-settings-${highlighted}`)\n if (highlightedElement) {\n highlightedElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }\n }, [highlighted])\n\n // Separate columns into visible, hidden, and pinned\n const { visibleColumns, hiddenColumns, pinnedColumns } = useMemo(() => {\n // First filter columns by visibility\n const visible = columns.filter((col) => columnVisibility[col.value] !== false)\n const hidden = columns.filter((col) => columnVisibility[col.value] === false)\n\n // Then separate out pinned columns from visible\n const pinned = visible.filter((col) => columnPinning.left?.includes(col.value))\n const unpinnedVisible = visible.filter((col) => !columnPinning.left?.includes(col.value))\n\n return {\n visibleColumns: unpinnedVisible,\n hiddenColumns: hidden,\n pinnedColumns: pinned,\n }\n }, [columns, columnVisibility, columnPinning])\n\n // Sort columns based on columnOrder\n const sortedVisibleColumns = useMemo(() => {\n // Create a copy of visible columns\n const visibleCopy = [...visibleColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n visibleCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return visibleCopy\n }, [visibleColumns, columnOrder])\n\n // Sort pinned columns based on columnOrder\n const sortedPinnedColumns = useMemo(() => {\n // Create a copy of pinned columns\n const pinnedCopy = [...pinnedColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n pinnedCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return pinnedCopy\n }, [pinnedColumns, columnOrder])\n\n const sortedVisibleColumnsIds = useMemo(\n () => sortedVisibleColumns.map((col) => col.value),\n [sortedVisibleColumns],\n )\n\n const sortedPinnedColumnsIds = useMemo(\n () => sortedPinnedColumns.map((col) => col.value),\n [sortedPinnedColumns],\n )\n\n // Toggle column visibility\n const toggleVisibility = (columnId: string) => {\n const newState = { ...columnVisibility }\n // If column is currently visible, hide it\n if (newState[columnId] !== false) {\n newState[columnId] = false\n } else {\n // If column is currently hidden, show it\n newState[columnId] = true\n }\n updateColumnVisibility(newState)\n }\n\n // Toggle column pinning\n const togglePinning = (columnId: string) => {\n const newState = { ...columnPinning }\n const newVisibility = { ...columnVisibility }\n\n // If column is currently pinned, unpin it\n if (newState.left?.includes(columnId)) {\n newState.left = newState.left.filter((id) => id !== columnId)\n } else {\n // If column is currently unpinned, pin it\n newState.left = [...(newState.left || []), columnId]\n // If column is hidden, show it\n if (newVisibility[columnId] === false) {\n newVisibility[columnId] = true\n updateColumnVisibility(newVisibility)\n }\n }\n updateColumnPinning(newState)\n }\n\n // When drag starts\n const handleDragStart = (event: DragStartEvent) => {\n const id = event.active.id as string\n setActiveId(id)\n setIsDraggingFromPinned(columnPinning.left?.includes(id) || false)\n }\n\n // Track when dragging over different sections\n const handleDragOver = (event: DragOverEvent) => {\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Check if we're dragging a hidden column over a visible column\n const isActiveHidden = columnVisibility[active.id as string] === false\n const isOverVisible = columnVisibility[over.id as string] !== false\n const isOverPinned = columnPinning.left?.includes(over.id as string) || false\n const isOverHidden = columnVisibility[over.id as string] === false\n\n setIsHiddenOverVisible(isActiveHidden && isOverVisible && !isOverPinned)\n setIsDraggingOverPinned(isOverVisible && isOverPinned)\n setIsDraggingOverHidden(isOverHidden)\n\n // Set if we're hovering over the visible (unpinned) section\n setIsHoveringVisibleSection(isOverVisible && !isOverPinned)\n } else {\n // Reset when not over any column\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n }\n }\n\n // When drag ends, reset all states\n const handleDragEnd = (event: DragEndEvent) => {\n // Reset states\n setIsHiddenOverVisible(false)\n setIsDraggingOverPinned(false)\n setIsDraggingFromPinned(false)\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Find the dragged column and target column\n const activeColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === active.id,\n )\n const overColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === over.id,\n )\n\n if (activeColumn && overColumn) {\n const activeId = active.id as string\n const overId = over.id as string\n const isActiveVisible = columnVisibility[activeId] !== false\n const isOverVisible = columnVisibility[overId] !== false\n const isActivePinned = columnPinning.left?.includes(activeId) || false\n const isOverPinned = columnPinning.left?.includes(overId) || false\n const isOverHidden = columnVisibility[overId] === false\n\n // Create a new config object that we'll update and apply at the end\n const newConfig: ColumnsConfig = {\n columnVisibility: { ...columnVisibility },\n columnOrder: [...columnOrder],\n columnPinning: { ...columnPinning },\n columnSizing: { ...columnSizing },\n }\n\n // If we're moving a column between visible columns (including pinned)\n if (isActiveVisible && isOverVisible) {\n let newPinningLeft = [...(newConfig.columnPinning.left || [])]\n\n // Handle pinning/unpinning based on target section\n if (isActivePinned !== isOverPinned) {\n if (isActivePinned && !isOverPinned) {\n // Moving from pinned to unpinned section\n newPinningLeft = newPinningLeft.filter((id) => id !== activeId)\n } else if (!isActivePinned && isOverPinned) {\n // Moving from unpinned to pinned section\n newPinningLeft = [...newPinningLeft, activeId]\n }\n }\n\n // Update order within the appropriate section\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n const oldIndex = allVisibleIds.indexOf(activeId)\n const newIndex = allVisibleIds.indexOf(overId)\n\n if (oldIndex === -1 || newIndex === -1) {\n console.error('Invalid column order state')\n toast.error('Invalid column order state')\n return\n }\n\n const newOrder = arrayMove(allVisibleIds, oldIndex, newIndex)\n\n // new pinning left should be ordered by the new order\n const newPinningLeftOrdered = newOrder.filter((id) => newPinningLeft.includes(id))\n\n // Update config object\n newConfig.columnOrder = newOrder\n newConfig.columnPinning = {\n ...newConfig.columnPinning,\n left: newPinningLeftOrdered,\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from hidden to visible\n else if (!isActiveVisible && isOverVisible) {\n // Make the column visible\n newConfig.columnVisibility[activeId] = true\n\n // If dropping into pinned section, also pin the column\n if (isOverPinned) {\n const newPinningLeft = [...(newConfig.columnPinning.left || []), activeId]\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Update order to place it near the over column\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n\n // Add the column to order if not already there\n if (!allVisibleIds.includes(activeId)) {\n const overIndex = allVisibleIds.indexOf(overId)\n allVisibleIds.splice(overIndex, 0, activeId)\n }\n\n newConfig.columnOrder = allVisibleIds\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from visible to hidden\n else if (isActiveVisible && isOverHidden) {\n // Make the active column hidden\n newConfig.columnVisibility[activeId] = false\n\n // If the column was pinned, remove it from pinned\n if (isActivePinned) {\n const newPinningLeft = (newConfig.columnPinning.left || []).filter(\n (id) => id !== activeId,\n )\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n }\n }\n\n setActiveId(null)\n }\n\n // Find the active column for the drag overlay\n const activeColumn = activeId\n ? [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find((col) => col.value === activeId)\n : null\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ColumnsContainer>\n {/* Pinned Columns Section */}\n {pinnedColumns.length > 0 && (\n <Section className={isDraggingOverPinned && !isDraggingFromPinned ? 'drop-target' : ''}>\n <SectionTitle>Pinned Columns</SectionTitle>\n <SortableContext\n items={sortedPinnedColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Menu>\n {sortedPinnedColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={true}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Menu>\n </SortableContext>\n </Section>\n )}\n\n {/* Visible Columns Section */}\n <Section\n className={\n isHiddenOverVisible || (isDraggingFromPinned && isHoveringVisibleSection)\n ? 'drop-target'\n : ''\n }\n >\n <SectionTitle>Visible Columns</SectionTitle>\n <SortableContext\n items={sortedVisibleColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Menu>\n {sortedVisibleColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={false}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Menu>\n </SortableContext>\n </Section>\n\n {/* Hidden Columns Section */}\n {hiddenColumns.length > 0 && (\n <Section className={isDraggingOverHidden ? 'drop-target' : ''}>\n <SectionTitle>Hidden Columns</SectionTitle>\n <Menu ref={menuRef}>\n {hiddenColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={columnPinning.left?.includes(column.value) || false}\n isHidden={true}\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Menu>\n </Section>\n )}\n\n {/* Drag Overlay */}\n <DragOverlay>\n {activeColumn && (\n <ColumnItem\n column={activeColumn}\n isPinned={columnPinning.left?.includes(activeColumn.value) || false}\n isHidden={columnVisibility[activeColumn.value] === false}\n isHighlighted={highlighted === activeColumn.value}\n dragOverlay={true}\n />\n )}\n </DragOverlay>\n </ColumnsContainer>\n </DndContext>\n )\n}\n\n// Styled components\nconst ColumnsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n`\n\nconst Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: background-color 0.2s ease;\n border-radius: 4px;\n\n &.drop-target {\n background-color: var(--md-sys-color-surface-container);\n box-shadow: 0 0 0 1px var(--md-sys-color-outline);\n }\n`\n\nconst SectionTitle = styled.div`\n font-weight: 500;\n color: var(--md-sys-color-outline);\n padding: 4px 0;\n`\n\nconst Menu = styled.ul`\n display: flex;\n flex-direction: column;\n list-style-type: none;\n margin: 0;\n padding: 0;\n`\n\nexport default ColumnsSettings\n"],"names":["_a","activeColumn","activeId","jsx","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnsSettings.es.js","sources":["../../../../../src/components/ProjectTableSettings/ColumnsSettings.tsx"],"sourcesContent":["// React and Styling imports\nimport { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport styled from 'styled-components'\nimport * as Styled from './TableSettings.styled'\n\n// Context and Components imports\nimport {\n ColumnsConfig,\n useColumnSettingsContext,\n} from '@shared/containers/ProjectTreeTable/context/ColumnSettingsContext'\nimport ColumnItem from './ColumnItem'\nimport SortableColumnItem from './SortableColumnItem'\n\n// DND (Drag and Drop) imports\nimport {\n DndContext,\n closestCenter,\n DragEndEvent,\n DragStartEvent,\n useSensor,\n useSensors,\n PointerSensor,\n DragOverlay,\n DragOverEvent,\n} from '@dnd-kit/core'\nimport { SortableContext, verticalListSortingStrategy, arrayMove } from '@dnd-kit/sortable'\n\n// Notification imports\nimport { toast } from 'react-toastify'\nimport { SettingsPanelItem } from '../SettingsPanel/SettingsPanelItemTemplate'\nimport { SettingHighlightedId } from '@shared/context'\n\ninterface ColumnsSettingsProps {\n columns: SettingsPanelItem[]\n highlighted?: SettingHighlightedId\n}\n\nconst ColumnsSettings: FC<ColumnsSettingsProps> = ({ columns, highlighted }) => {\n const {\n columnVisibility,\n updateColumnVisibility,\n columnPinning,\n updateColumnPinning,\n columnOrder,\n setColumnsConfig,\n columnSizing,\n } = useColumnSettingsContext()\n\n // State for the currently dragged column\n const [activeId, setActiveId] = useState<string | null>(null)\n const [isHiddenOverVisible, setIsHiddenOverVisible] = useState(false)\n const [isDraggingOverPinned, setIsDraggingOverPinned] = useState(false)\n const [isDraggingFromPinned, setIsDraggingFromPinned] = useState(false)\n // Add a new state to track if we're hovering over the visible section\n const [isHoveringVisibleSection, setIsHoveringVisibleSection] = useState(false)\n // Add state to track if dragging over the hidden section\n const [isDraggingOverHidden, setIsDraggingOverHidden] = useState(false)\n\n // Setup sensors for dnd-kit\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 5,\n },\n }),\n )\n\n const menuRef = useRef<HTMLUListElement | null>(null)\n\n // if highlighted is set, scroll to the highlighted column\n useEffect(() => {\n if (menuRef.current && highlighted) {\n const highlightedElement = menuRef.current.querySelector(`#column-settings-${highlighted}`)\n if (highlightedElement) {\n highlightedElement.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n })\n }\n }\n }, [highlighted])\n\n // Separate columns into visible, hidden, and pinned\n const { visibleColumns, hiddenColumns, pinnedColumns } = useMemo(() => {\n // First filter columns by visibility\n const visible = columns.filter((col) => columnVisibility[col.value] !== false)\n const hidden = columns.filter((col) => columnVisibility[col.value] === false)\n\n // Then separate out pinned columns from visible\n const pinned = visible.filter((col) => columnPinning.left?.includes(col.value))\n const unpinnedVisible = visible.filter((col) => !columnPinning.left?.includes(col.value))\n\n return {\n visibleColumns: unpinnedVisible,\n hiddenColumns: hidden,\n pinnedColumns: pinned,\n }\n }, [columns, columnVisibility, columnPinning])\n\n // Sort columns based on columnOrder\n const sortedVisibleColumns = useMemo(() => {\n // Create a copy of visible columns\n const visibleCopy = [...visibleColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n visibleCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return visibleCopy\n }, [visibleColumns, columnOrder])\n\n // Sort pinned columns based on columnOrder\n const sortedPinnedColumns = useMemo(() => {\n // Create a copy of pinned columns\n const pinnedCopy = [...pinnedColumns]\n\n // If we have a column order, use it to sort\n if (columnOrder.length > 0) {\n pinnedCopy.sort((a, b) => {\n const indexA = columnOrder.indexOf(a.value)\n const indexB = columnOrder.indexOf(b.value)\n\n // If column is not in order array, place at end\n if (indexA === -1) return 1\n if (indexB === -1) return -1\n\n return indexA - indexB\n })\n }\n\n return pinnedCopy\n }, [pinnedColumns, columnOrder])\n\n const sortedVisibleColumnsIds = useMemo(\n () => sortedVisibleColumns.map((col) => col.value),\n [sortedVisibleColumns],\n )\n\n const sortedPinnedColumnsIds = useMemo(\n () => sortedPinnedColumns.map((col) => col.value),\n [sortedPinnedColumns],\n )\n\n // Toggle column visibility\n const toggleVisibility = (columnId: string) => {\n const newState = { ...columnVisibility }\n // If column is currently visible, hide it\n if (newState[columnId] !== false) {\n newState[columnId] = false\n } else {\n // If column is currently hidden, show it\n newState[columnId] = true\n }\n updateColumnVisibility(newState)\n }\n\n // Toggle column pinning\n const togglePinning = (columnId: string) => {\n const newState = { ...columnPinning }\n const newVisibility = { ...columnVisibility }\n\n // If column is currently pinned, unpin it\n if (newState.left?.includes(columnId)) {\n newState.left = newState.left.filter((id) => id !== columnId)\n } else {\n // If column is currently unpinned, pin it\n newState.left = [...(newState.left || []), columnId]\n // If column is hidden, show it\n if (newVisibility[columnId] === false) {\n newVisibility[columnId] = true\n updateColumnVisibility(newVisibility)\n }\n }\n updateColumnPinning(newState)\n }\n\n // When drag starts\n const handleDragStart = (event: DragStartEvent) => {\n const id = event.active.id as string\n setActiveId(id)\n setIsDraggingFromPinned(columnPinning.left?.includes(id) || false)\n }\n\n // Track when dragging over different sections\n const handleDragOver = (event: DragOverEvent) => {\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Check if we're dragging a hidden column over a visible column\n const isActiveHidden = columnVisibility[active.id as string] === false\n const isOverVisible = columnVisibility[over.id as string] !== false\n const isOverPinned = columnPinning.left?.includes(over.id as string) || false\n const isOverHidden = columnVisibility[over.id as string] === false\n\n setIsHiddenOverVisible(isActiveHidden && isOverVisible && !isOverPinned)\n setIsDraggingOverPinned(isOverVisible && isOverPinned)\n setIsDraggingOverHidden(isOverHidden)\n\n // Set if we're hovering over the visible (unpinned) section\n setIsHoveringVisibleSection(isOverVisible && !isOverPinned)\n } else {\n // Reset when not over any column\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n }\n }\n\n // When drag ends, reset all states\n const handleDragEnd = (event: DragEndEvent) => {\n // Reset states\n setIsHiddenOverVisible(false)\n setIsDraggingOverPinned(false)\n setIsDraggingFromPinned(false)\n setIsHoveringVisibleSection(false)\n setIsDraggingOverHidden(false)\n\n const { active, over } = event\n\n if (over && active.id !== over.id) {\n // Find the dragged column and target column\n const activeColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === active.id,\n )\n const overColumn = [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find(\n (col) => col.value === over.id,\n )\n\n if (activeColumn && overColumn) {\n const activeId = active.id as string\n const overId = over.id as string\n const isActiveVisible = columnVisibility[activeId] !== false\n const isOverVisible = columnVisibility[overId] !== false\n const isActivePinned = columnPinning.left?.includes(activeId) || false\n const isOverPinned = columnPinning.left?.includes(overId) || false\n const isOverHidden = columnVisibility[overId] === false\n\n // Create a new config object that we'll update and apply at the end\n const newConfig: ColumnsConfig = {\n columnVisibility: { ...columnVisibility },\n columnOrder: [...columnOrder],\n columnPinning: { ...columnPinning },\n columnSizing: { ...columnSizing },\n }\n\n // If we're moving a column between visible columns (including pinned)\n if (isActiveVisible && isOverVisible) {\n let newPinningLeft = [...(newConfig.columnPinning.left || [])]\n\n // Handle pinning/unpinning based on target section\n if (isActivePinned !== isOverPinned) {\n if (isActivePinned && !isOverPinned) {\n // Moving from pinned to unpinned section\n newPinningLeft = newPinningLeft.filter((id) => id !== activeId)\n } else if (!isActivePinned && isOverPinned) {\n // Moving from unpinned to pinned section\n newPinningLeft = [...newPinningLeft, activeId]\n }\n }\n\n // Update order within the appropriate section\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n const oldIndex = allVisibleIds.indexOf(activeId)\n const newIndex = allVisibleIds.indexOf(overId)\n\n if (oldIndex === -1 || newIndex === -1) {\n console.error('Invalid column order state')\n toast.error('Invalid column order state')\n return\n }\n\n const newOrder = arrayMove(allVisibleIds, oldIndex, newIndex)\n\n // new pinning left should be ordered by the new order\n const newPinningLeftOrdered = newOrder.filter((id) => newPinningLeft.includes(id))\n\n // Update config object\n newConfig.columnOrder = newOrder\n newConfig.columnPinning = {\n ...newConfig.columnPinning,\n left: newPinningLeftOrdered,\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from hidden to visible\n else if (!isActiveVisible && isOverVisible) {\n // Make the column visible\n newConfig.columnVisibility[activeId] = true\n\n // If dropping into pinned section, also pin the column\n if (isOverPinned) {\n const newPinningLeft = [...(newConfig.columnPinning.left || []), activeId]\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Update order to place it near the over column\n const allVisibleIds = [...sortedPinnedColumnsIds, ...sortedVisibleColumnsIds]\n\n // Add the column to order if not already there\n if (!allVisibleIds.includes(activeId)) {\n const overIndex = allVisibleIds.indexOf(overId)\n allVisibleIds.splice(overIndex, 0, activeId)\n }\n\n newConfig.columnOrder = allVisibleIds\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n\n // If we're dragging from visible to hidden\n else if (isActiveVisible && isOverHidden) {\n // Make the active column hidden\n newConfig.columnVisibility[activeId] = false\n\n // If the column was pinned, remove it from pinned\n if (isActivePinned) {\n const newPinningLeft = (newConfig.columnPinning.left || []).filter(\n (id) => id !== activeId,\n )\n newConfig.columnPinning.left = newPinningLeft\n }\n\n // Apply all changes at once\n setColumnsConfig(newConfig)\n }\n }\n }\n\n setActiveId(null)\n }\n\n // Find the active column for the drag overlay\n const activeColumn = activeId\n ? [...visibleColumns, ...hiddenColumns, ...pinnedColumns].find((col) => col.value === activeId)\n : null\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ColumnsContainer>\n {/* Pinned Columns Section */}\n {pinnedColumns.length > 0 && (\n <Section className={isDraggingOverPinned && !isDraggingFromPinned ? 'drop-target' : ''}>\n <SectionTitle>Pinned Columns</SectionTitle>\n <SortableContext\n items={sortedPinnedColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedPinnedColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={true}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n )}\n\n {/* Visible Columns Section */}\n <Section\n className={\n isHiddenOverVisible || (isDraggingFromPinned && isHoveringVisibleSection)\n ? 'drop-target'\n : ''\n }\n >\n <SectionTitle>Visible Columns</SectionTitle>\n <SortableContext\n items={sortedVisibleColumns.map((col) => col.value)}\n strategy={verticalListSortingStrategy}\n >\n <Styled.Menu>\n {sortedVisibleColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={false}\n isHidden={false}\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </SortableContext>\n </Section>\n\n {/* Hidden Columns Section */}\n {hiddenColumns.length > 0 && (\n <Section className={isDraggingOverHidden ? 'drop-target' : ''}>\n <SectionTitle>Hidden Columns</SectionTitle>\n <Styled.Menu ref={menuRef}>\n {hiddenColumns.map((column) => (\n <SortableColumnItem\n key={column.value}\n id={column.value}\n column={column}\n isPinned={columnPinning.left?.includes(column.value) || false}\n isHidden={true}\n isHighlighted={highlighted === column.value}\n onTogglePinning={togglePinning}\n onToggleVisibility={toggleVisibility}\n />\n ))}\n </Styled.Menu>\n </Section>\n )}\n\n {/* Drag Overlay */}\n <DragOverlay>\n {activeColumn && (\n <ColumnItem\n column={activeColumn}\n isPinned={columnPinning.left?.includes(activeColumn.value) || false}\n isHidden={columnVisibility[activeColumn.value] === false}\n isHighlighted={highlighted === activeColumn.value}\n dragOverlay={true}\n />\n )}\n </DragOverlay>\n </ColumnsContainer>\n </DndContext>\n )\n}\n\n// Styled components\nconst ColumnsContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: var(--base-gap-large);\n`\n\nconst Section = styled.section`\n position: relative;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n transition: background-color 0.2s ease;\n border-radius: 4px;\n\n &.drop-target {\n background-color: var(--md-sys-color-surface-container);\n box-shadow: 0 0 0 1px var(--md-sys-color-outline);\n }\n`\n\nconst SectionTitle = styled.div`\n font-weight: 500;\n color: var(--md-sys-color-outline);\n padding: 4px 0;\n`\n\nexport default ColumnsSettings\n"],"names":["_a","activeColumn","activeId","jsx","jsxs","Styled.Menu"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
|
15
15
|
require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
16
16
|
require("../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js");
|
|
17
17
|
require("../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");
|
|
18
|
+
require("../../containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js");
|
|
18
19
|
require("@tanstack/react-table");
|
|
19
20
|
require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");
|
|
20
21
|
require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");
|
|
@@ -23,12 +24,14 @@ require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");
|
|
|
23
24
|
require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");
|
|
24
25
|
require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");
|
|
25
26
|
require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");
|
|
27
|
+
require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");
|
|
26
28
|
require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");
|
|
27
29
|
require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");
|
|
28
30
|
require("clsx");
|
|
29
31
|
require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");
|
|
30
32
|
require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");
|
|
31
33
|
require("react");
|
|
34
|
+
require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");
|
|
32
35
|
;/* empty css */
|
|
33
36
|
require("../../containers/ContextMenu/ContextMenuContext.cjs.js");
|
|
34
37
|
const styled = require("styled-components");
|
|
@@ -41,13 +44,14 @@ require("react-dom");
|
|
|
41
44
|
require("../../context/pip/PiPWrapper.cjs.js");
|
|
42
45
|
require("../../context/AddonProjectContext.cjs.js");
|
|
43
46
|
require("../../context/AddonContext.cjs.js");
|
|
47
|
+
require("../../context/PowerpackContext.cjs.js");
|
|
44
48
|
const SettingsPanel = require("../SettingsPanel/SettingsPanel.cjs.js");
|
|
45
49
|
require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");
|
|
46
50
|
const ColumnsSettings = require("./ColumnsSettings.cjs.js");
|
|
47
51
|
const StyledCustomizeButton = styled(ayonReactComponents.Button)`
|
|
48
52
|
min-width: 120px;
|
|
49
53
|
`;
|
|
50
|
-
const CustomizeButton = ({ defaultSelected
|
|
54
|
+
const CustomizeButton = ({ defaultSelected, ...props }) => {
|
|
51
55
|
const { togglePanel, isPanelOpen } = SettingsPanelContext.useSettingsPanel();
|
|
52
56
|
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
53
57
|
StyledCustomizeButton,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTableSettings.cjs.js","sources":["../../../../../src/components/ProjectTableSettings/ProjectTableSettings.tsx"],"sourcesContent":["import {\n useColumnSettingsContext,\n useProjectTableContext,\n} from '@shared/containers/ProjectTreeTable'\nimport { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled from 'styled-components'\nimport { SettingHighlightedId, useSettingsPanel } from '@shared/context'\nimport { SettingsPanel, SettingConfig } from '@shared/components/SettingsPanel'\nimport ColumnsSettings from './ColumnsSettings'\n\nconst StyledCustomizeButton = styled(Button)`\n min-width: 120px;\n`\n\ninterface Props extends ButtonProps {\n defaultSelected?: string | null\n}\n\nexport const CustomizeButton = ({ defaultSelected
|
|
1
|
+
{"version":3,"file":"ProjectTableSettings.cjs.js","sources":["../../../../../src/components/ProjectTableSettings/ProjectTableSettings.tsx"],"sourcesContent":["import {\n useColumnSettingsContext,\n useProjectTableContext,\n useProjectTableModuleContext,\n} from '@shared/containers/ProjectTreeTable'\nimport { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled from 'styled-components'\nimport { SettingHighlightedId, useSettingsPanel } from '@shared/context'\nimport { SettingsPanel, SettingConfig } from '@shared/components/SettingsPanel'\nimport ColumnsSettings from './ColumnsSettings'\n\nconst StyledCustomizeButton = styled(Button)`\n min-width: 120px;\n`\n\ninterface Props extends ButtonProps {\n defaultSelected?: string | null\n}\n\nexport const CustomizeButton = ({ defaultSelected, ...props }: Props) => {\n const { togglePanel, isPanelOpen } = useSettingsPanel()\n\n return (\n <StyledCustomizeButton\n onClick={() => togglePanel(defaultSelected)}\n icon=\"settings\"\n selected={isPanelOpen}\n {...props}\n >\n Customize\n </StyledCustomizeButton>\n )\n}\n\nexport type OverviewSettingsChange = (setting: 'columns' | 'group-by', value: any) => void\n\nexport type ProjectTableSettingsProps = {\n settings?: SettingConfig[]\n extraColumns?: { value: string; label: string }[]\n highlighted?: SettingHighlightedId\n}\n\nexport const ProjectTableSettings: FC<ProjectTableSettingsProps> = ({\n settings = [],\n extraColumns = [],\n highlighted,\n}) => {\n const { attribFields } = useProjectTableContext()\n const { columnVisibility } = useColumnSettingsContext()\n\n const columns = [\n {\n value: 'thumbnail',\n label: 'Thumbnail',\n },\n {\n value: 'name',\n label: 'Folder / Task',\n },\n {\n value: 'status',\n label: 'Status',\n },\n {\n value: 'subType',\n label: 'Type',\n },\n {\n value: 'assignees',\n label: 'Assignees',\n },\n {\n value: 'tags',\n label: 'Tags',\n },\n ...attribFields.map((field) => ({\n value: 'attrib_' + field.name,\n label: field.data.title || field.name,\n })),\n ...extraColumns,\n ]\n\n const visibleCount = columns.filter(\n (column) => !(column.value in columnVisibility) || columnVisibility[column.value],\n ).length\n\n const defaultSettings: SettingConfig[] = [\n {\n id: 'columns',\n title: 'Columns',\n icon: 'view_column',\n preview: `${visibleCount}/${columns.length}`,\n component: <ColumnsSettings columns={columns} highlighted={highlighted} />,\n },\n ]\n\n settings.forEach((setting) => defaultSettings.push(setting))\n\n return <SettingsPanel settings={defaultSettings} />\n}\n"],"names":["Button","useSettingsPanel","jsx","useProjectTableContext","useColumnSettingsContext","SettingsPanel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,wBAAwB,OAAOA,0BAAM;AAAA;AAAA;AAQpC,MAAM,kBAAkB,CAAC,EAAE,iBAAiB,GAAG,YAAmB;AACvE,QAAM,EAAE,aAAa,YAAY,IAAIC,sCAAiB;AAGpD,SAAAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM,YAAY,eAAe;AAAA,MAC1C,MAAK;AAAA,MACL,UAAU;AAAA,MACT,GAAG;AAAA,MACL,UAAA;AAAA,IAAA;AAAA,EAED;AAEJ;AAUO,MAAM,uBAAsD,CAAC;AAAA,EAClE,WAAW,CAAC;AAAA,EACZ,eAAe,CAAC;AAAA,EAChB;AACF,MAAM;AACE,QAAA,EAAE,aAAa,IAAIC,2CAAuB;AAC1C,QAAA,EAAE,iBAAiB,IAAIC,+CAAyB;AAEtD,QAAM,UAAU;AAAA,IACd;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,GAAG,aAAa,IAAI,CAAC,WAAW;AAAA,MAC9B,OAAO,YAAY,MAAM;AAAA,MACzB,OAAO,MAAM,KAAK,SAAS,MAAM;AAAA,IAAA,EACjC;AAAA,IACF,GAAG;AAAA,EACL;AAEA,QAAM,eAAe,QAAQ;AAAA,IAC3B,CAAC,WAAW,EAAE,OAAO,SAAS,qBAAqB,iBAAiB,OAAO,KAAK;AAAA,EAAA,EAChF;AAEF,QAAM,kBAAmC;AAAA,IACvC;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,GAAG,YAAY,IAAI,QAAQ,MAAM;AAAA,MAC1C,WAAWF,2BAAAA,kBAAAA,IAAC,iBAAgB,EAAA,SAAkB,YAA0B,CAAA;AAAA,IAAA;AAAA,EAE5E;AAEA,WAAS,QAAQ,CAAC,YAAY,gBAAgB,KAAK,OAAO,CAAC;AAEpD,SAAAA,2BAAA,kBAAA,IAACG,cAAc,eAAA,EAAA,UAAU,gBAAiB,CAAA;AACnD;;;"}
|
|
@@ -13,6 +13,7 @@ import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
|
|
|
13
13
|
import "../../containers/ProjectTreeTable/context/ClipboardContext.es.js";
|
|
14
14
|
import "../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
15
15
|
import "../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
16
|
+
import "../../containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js";
|
|
16
17
|
import "@tanstack/react-table";
|
|
17
18
|
import "../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
18
19
|
import "../../containers/ProjectTreeTable/widgets/DateWidget.es.js";
|
|
@@ -21,12 +22,14 @@ import "../../containers/ProjectTreeTable/widgets/TextWidget.es.js";
|
|
|
21
22
|
import "../../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
22
23
|
import "../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
|
|
23
24
|
import "../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
25
|
+
import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
24
26
|
import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
25
27
|
import "../../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
26
28
|
import "clsx";
|
|
27
29
|
import "../../containers/ProjectTreeTable/components/SelectionCell.es.js";
|
|
28
30
|
import "../../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
29
31
|
import "react";
|
|
32
|
+
import "../../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
30
33
|
/* empty css */
|
|
31
34
|
import "../../containers/ContextMenu/ContextMenuContext.es.js";
|
|
32
35
|
import styled from "styled-components";
|
|
@@ -39,13 +42,14 @@ import "react-dom";
|
|
|
39
42
|
import "../../context/pip/PiPWrapper.es.js";
|
|
40
43
|
import "../../context/AddonProjectContext.es.js";
|
|
41
44
|
import "../../context/AddonContext.es.js";
|
|
45
|
+
import "../../context/PowerpackContext.es.js";
|
|
42
46
|
import { SettingsPanel } from "../SettingsPanel/SettingsPanel.es.js";
|
|
43
47
|
import "../SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
44
48
|
import ColumnsSettings from "./ColumnsSettings.es.js";
|
|
45
49
|
const StyledCustomizeButton = styled(Button)`
|
|
46
50
|
min-width: 120px;
|
|
47
51
|
`;
|
|
48
|
-
const CustomizeButton = ({ defaultSelected
|
|
52
|
+
const CustomizeButton = ({ defaultSelected, ...props }) => {
|
|
49
53
|
const { togglePanel, isPanelOpen } = useSettingsPanel();
|
|
50
54
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51
55
|
StyledCustomizeButton,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTableSettings.es.js","sources":["../../../../../src/components/ProjectTableSettings/ProjectTableSettings.tsx"],"sourcesContent":["import {\n useColumnSettingsContext,\n useProjectTableContext,\n} from '@shared/containers/ProjectTreeTable'\nimport { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled from 'styled-components'\nimport { SettingHighlightedId, useSettingsPanel } from '@shared/context'\nimport { SettingsPanel, SettingConfig } from '@shared/components/SettingsPanel'\nimport ColumnsSettings from './ColumnsSettings'\n\nconst StyledCustomizeButton = styled(Button)`\n min-width: 120px;\n`\n\ninterface Props extends ButtonProps {\n defaultSelected?: string | null\n}\n\nexport const CustomizeButton = ({ defaultSelected
|
|
1
|
+
{"version":3,"file":"ProjectTableSettings.es.js","sources":["../../../../../src/components/ProjectTableSettings/ProjectTableSettings.tsx"],"sourcesContent":["import {\n useColumnSettingsContext,\n useProjectTableContext,\n useProjectTableModuleContext,\n} from '@shared/containers/ProjectTreeTable'\nimport { Button, ButtonProps } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled from 'styled-components'\nimport { SettingHighlightedId, useSettingsPanel } from '@shared/context'\nimport { SettingsPanel, SettingConfig } from '@shared/components/SettingsPanel'\nimport ColumnsSettings from './ColumnsSettings'\n\nconst StyledCustomizeButton = styled(Button)`\n min-width: 120px;\n`\n\ninterface Props extends ButtonProps {\n defaultSelected?: string | null\n}\n\nexport const CustomizeButton = ({ defaultSelected, ...props }: Props) => {\n const { togglePanel, isPanelOpen } = useSettingsPanel()\n\n return (\n <StyledCustomizeButton\n onClick={() => togglePanel(defaultSelected)}\n icon=\"settings\"\n selected={isPanelOpen}\n {...props}\n >\n Customize\n </StyledCustomizeButton>\n )\n}\n\nexport type OverviewSettingsChange = (setting: 'columns' | 'group-by', value: any) => void\n\nexport type ProjectTableSettingsProps = {\n settings?: SettingConfig[]\n extraColumns?: { value: string; label: string }[]\n highlighted?: SettingHighlightedId\n}\n\nexport const ProjectTableSettings: FC<ProjectTableSettingsProps> = ({\n settings = [],\n extraColumns = [],\n highlighted,\n}) => {\n const { attribFields } = useProjectTableContext()\n const { columnVisibility } = useColumnSettingsContext()\n\n const columns = [\n {\n value: 'thumbnail',\n label: 'Thumbnail',\n },\n {\n value: 'name',\n label: 'Folder / Task',\n },\n {\n value: 'status',\n label: 'Status',\n },\n {\n value: 'subType',\n label: 'Type',\n },\n {\n value: 'assignees',\n label: 'Assignees',\n },\n {\n value: 'tags',\n label: 'Tags',\n },\n ...attribFields.map((field) => ({\n value: 'attrib_' + field.name,\n label: field.data.title || field.name,\n })),\n ...extraColumns,\n ]\n\n const visibleCount = columns.filter(\n (column) => !(column.value in columnVisibility) || columnVisibility[column.value],\n ).length\n\n const defaultSettings: SettingConfig[] = [\n {\n id: 'columns',\n title: 'Columns',\n icon: 'view_column',\n preview: `${visibleCount}/${columns.length}`,\n component: <ColumnsSettings columns={columns} highlighted={highlighted} />,\n },\n ]\n\n settings.forEach((setting) => defaultSettings.push(setting))\n\n return <SettingsPanel settings={defaultSettings} />\n}\n"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,wBAAwB,OAAO,MAAM;AAAA;AAAA;AAQpC,MAAM,kBAAkB,CAAC,EAAE,iBAAiB,GAAG,YAAmB;AACvE,QAAM,EAAE,aAAa,YAAY,IAAI,iBAAiB;AAGpD,SAAAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM,YAAY,eAAe;AAAA,MAC1C,MAAK;AAAA,MACL,UAAU;AAAA,MACT,GAAG;AAAA,MACL,UAAA;AAAA,IAAA;AAAA,EAED;AAEJ;AAUO,MAAM,uBAAsD,CAAC;AAAA,EAClE,WAAW,CAAC;AAAA,EACZ,eAAe,CAAC;AAAA,EAChB;AACF,MAAM;AACE,QAAA,EAAE,aAAa,IAAI,uBAAuB;AAC1C,QAAA,EAAE,iBAAiB,IAAI,yBAAyB;AAEtD,QAAM,UAAU;AAAA,IACd;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,GAAG,aAAa,IAAI,CAAC,WAAW;AAAA,MAC9B,OAAO,YAAY,MAAM;AAAA,MACzB,OAAO,MAAM,KAAK,SAAS,MAAM;AAAA,IAAA,EACjC;AAAA,IACF,GAAG;AAAA,EACL;AAEA,QAAM,eAAe,QAAQ;AAAA,IAC3B,CAAC,WAAW,EAAE,OAAO,SAAS,qBAAqB,iBAAiB,OAAO,KAAK;AAAA,EAAA,EAChF;AAEF,QAAM,kBAAmC;AAAA,IACvC;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS,GAAG,YAAY,IAAI,QAAQ,MAAM;AAAA,MAC1C,WAAWA,kCAAAA,IAAC,iBAAgB,EAAA,SAAkB,YAA0B,CAAA;AAAA,IAAA;AAAA,EAE5E;AAEA,WAAS,QAAQ,CAAC,YAAY,gBAAgB,KAAK,OAAO,CAAC;AAEpD,SAAAA,kCAAA,IAAC,eAAc,EAAA,UAAU,gBAAiB,CAAA;AACnD;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const styled = require("styled-components");
|
|
4
|
+
const Menu = styled.ul`
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: 2px;
|
|
8
|
+
list-style-type: none;
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
`;
|
|
12
|
+
exports.Menu = Menu;
|
|
13
|
+
//# sourceMappingURL=TableSettings.styled.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettings.styled.cjs.js","sources":["../../../../../src/components/ProjectTableSettings/TableSettings.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const Menu = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 2px;\n list-style-type: none;\n margin: 0;\n padding: 0;\n`\n"],"names":[],"mappings":";;;AAEO,MAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
const Menu = styled.ul`
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
gap: 2px;
|
|
6
|
+
list-style-type: none;
|
|
7
|
+
margin: 0;
|
|
8
|
+
padding: 0;
|
|
9
|
+
`;
|
|
10
|
+
export {
|
|
11
|
+
Menu
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=TableSettings.styled.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettings.styled.es.js","sources":["../../../../../src/components/ProjectTableSettings/TableSettings.styled.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const Menu = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 2px;\n list-style-type: none;\n margin: 0;\n padding: 0;\n`\n"],"names":[],"mappings":";AAEO,MAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("../../../../_virtual/jsx-runtime.cjs.js");
|
|
4
|
+
const ayonReactComponents = require("@ynput/ayon-react-components");
|
|
5
|
+
const reactRouterDom = require("react-router-dom");
|
|
6
|
+
const PowerpackButton = require("../Powerpack/PowerpackButton.cjs.js");
|
|
7
|
+
require("../Powerpack/PricingLink.cjs.js");
|
|
8
|
+
require("../Powerpack/PowerpackDialog.styled.cjs.js");
|
|
9
|
+
require("../../context/RemoteModulesContext.cjs.js");
|
|
10
|
+
require("../../context/DetailsPanelContext.cjs.js");
|
|
11
|
+
require("../../context/ThumbnailUploaderContext.cjs.js");
|
|
12
|
+
require("../../context/SettingsPanelContext.cjs.js");
|
|
13
|
+
require("../../context/pip/PiPProvider.cjs.js");
|
|
14
|
+
require("react-dom");
|
|
15
|
+
require("../../context/pip/PiPWrapper.cjs.js");
|
|
16
|
+
require("../../context/AddonProjectContext.cjs.js");
|
|
17
|
+
require("../../context/AddonContext.cjs.js");
|
|
18
|
+
const PowerpackContext = require("../../context/PowerpackContext.cjs.js");
|
|
19
|
+
const TableSettingsFallback = ({
|
|
20
|
+
requiredVersion,
|
|
21
|
+
feature,
|
|
22
|
+
button,
|
|
23
|
+
children
|
|
24
|
+
}) => {
|
|
25
|
+
const { setPowerpackDialog } = PowerpackContext.usePowerpack();
|
|
26
|
+
if (requiredVersion) {
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
|
|
28
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { children: `Powerpack version ${requiredVersion} is required to use this feature.` }),
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(reactRouterDom.Link, { to: `/market?selected=powerpack`, style: { marginLeft: "8px" }, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(ayonReactComponents.Button, { variant: "tertiary", children: [
|
|
30
|
+
"Install Powerpack ",
|
|
31
|
+
requiredVersion
|
|
32
|
+
] }) })
|
|
33
|
+
] });
|
|
34
|
+
}
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
|
|
36
|
+
!!button && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
37
|
+
PowerpackButton.PowerpackButton,
|
|
38
|
+
{
|
|
39
|
+
style: { width: "100%" },
|
|
40
|
+
icon: "add",
|
|
41
|
+
filled: true,
|
|
42
|
+
...button,
|
|
43
|
+
feature
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { onClick: () => setPowerpackDialog(feature), children })
|
|
47
|
+
] });
|
|
48
|
+
};
|
|
49
|
+
exports.TableSettingsFallback = TableSettingsFallback;
|
|
50
|
+
//# sourceMappingURL=TableSettingsFallback.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettingsFallback.cjs.js","sources":["../../../../../src/components/ProjectTableSettings/TableSettingsFallback.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport { Link } from 'react-router-dom'\nimport { PowerpackButton, PowerpackButtonProps } from '../Powerpack'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\n\nexport interface TableSettingsFallbackProps {\n requiredVersion: string | undefined\n feature: PowerpackFeature\n button?: Omit<PowerpackButtonProps, 'feature'>\n children?: React.ReactNode\n}\n\nexport const TableSettingsFallback: FC<TableSettingsFallbackProps> = ({\n requiredVersion,\n feature,\n button,\n children,\n}) => {\n const { setPowerpackDialog } = usePowerpack()\n if (requiredVersion) {\n return (\n <>\n <span>{`Powerpack version ${requiredVersion} is required to use this feature.`}</span>\n <Link to={`/market?selected=powerpack`} style={{ marginLeft: '8px' }}>\n <Button variant=\"tertiary\">Install Powerpack {requiredVersion}</Button>\n </Link>\n </>\n )\n }\n\n return (\n <>\n {!!button && (\n <PowerpackButton\n style={{ width: '100%' }}\n icon={'add'}\n filled\n {...button}\n feature={feature}\n />\n )}\n {/* press anything inside children and we get powerpack popup */}\n <div onClick={() => setPowerpackDialog(feature)}>{children}</div>\n </>\n )\n}\n"],"names":["usePowerpack","jsxs","Fragment","jsx","Link","Button","PowerpackButton"],"mappings":";;;;;;;;;;;;;;;;;;AAaO,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,EAAE,mBAAmB,IAAIA,8BAAa;AAC5C,MAAI,iBAAiB;AACnB,WAEIC,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,MAACC,2BAAA,kBAAA,IAAA,QAAA,EAAM,UAAqB,qBAAA,eAAe,qCAAoC;AAAA,MAC9EA,2BAAA,kBAAA,IAAAC,eAAA,MAAA,EAAK,IAAI,8BAA8B,OAAO,EAAE,YAAY,MAC3D,GAAA,UAAAH,kDAACI,oBAAAA,QAAO,EAAA,SAAQ,YAAW,UAAA;AAAA,QAAA;AAAA,QAAmB;AAAA,MAAA,EAAA,CAAgB,EAChE,CAAA;AAAA,IAAA,GACF;AAAA,EAAA;AAIJ,SAEKJ,2BAAA,kBAAA,KAAAC,uCAAA,EAAA,UAAA;AAAA,IAAA,CAAC,CAAC,UACDC,2BAAA,kBAAA;AAAA,MAACG,gBAAA;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,OAAO,OAAO;AAAA,QACvB,MAAM;AAAA,QACN,QAAM;AAAA,QACL,GAAG;AAAA,QACJ;AAAA,MAAA;AAAA,IACF;AAAA,qDAGD,OAAI,EAAA,SAAS,MAAM,mBAAmB,OAAO,GAAI,SAAS,CAAA;AAAA,EAAA,GAC7D;AAEJ;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../../../../_virtual/jsx-runtime.es.js";
|
|
2
|
+
import { Button } from "@ynput/ayon-react-components";
|
|
3
|
+
import { Link } from "react-router-dom";
|
|
4
|
+
import { PowerpackButton } from "../Powerpack/PowerpackButton.es.js";
|
|
5
|
+
import "../Powerpack/PricingLink.es.js";
|
|
6
|
+
import "../Powerpack/PowerpackDialog.styled.es.js";
|
|
7
|
+
import "../../context/RemoteModulesContext.es.js";
|
|
8
|
+
import "../../context/DetailsPanelContext.es.js";
|
|
9
|
+
import "../../context/ThumbnailUploaderContext.es.js";
|
|
10
|
+
import "../../context/SettingsPanelContext.es.js";
|
|
11
|
+
import "../../context/pip/PiPProvider.es.js";
|
|
12
|
+
import "react-dom";
|
|
13
|
+
import "../../context/pip/PiPWrapper.es.js";
|
|
14
|
+
import "../../context/AddonProjectContext.es.js";
|
|
15
|
+
import "../../context/AddonContext.es.js";
|
|
16
|
+
import { usePowerpack } from "../../context/PowerpackContext.es.js";
|
|
17
|
+
const TableSettingsFallback = ({
|
|
18
|
+
requiredVersion,
|
|
19
|
+
feature,
|
|
20
|
+
button,
|
|
21
|
+
children
|
|
22
|
+
}) => {
|
|
23
|
+
const { setPowerpackDialog } = usePowerpack();
|
|
24
|
+
if (requiredVersion) {
|
|
25
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
26
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: `Powerpack version ${requiredVersion} is required to use this feature.` }),
|
|
27
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Link, { to: `/market?selected=powerpack`, style: { marginLeft: "8px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Button, { variant: "tertiary", children: [
|
|
28
|
+
"Install Powerpack ",
|
|
29
|
+
requiredVersion
|
|
30
|
+
] }) })
|
|
31
|
+
] });
|
|
32
|
+
}
|
|
33
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
34
|
+
!!button && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
35
|
+
PowerpackButton,
|
|
36
|
+
{
|
|
37
|
+
style: { width: "100%" },
|
|
38
|
+
icon: "add",
|
|
39
|
+
filled: true,
|
|
40
|
+
...button,
|
|
41
|
+
feature
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { onClick: () => setPowerpackDialog(feature), children })
|
|
45
|
+
] });
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
TableSettingsFallback
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=TableSettingsFallback.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSettingsFallback.es.js","sources":["../../../../../src/components/ProjectTableSettings/TableSettingsFallback.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport { Link } from 'react-router-dom'\nimport { PowerpackButton, PowerpackButtonProps } from '../Powerpack'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\n\nexport interface TableSettingsFallbackProps {\n requiredVersion: string | undefined\n feature: PowerpackFeature\n button?: Omit<PowerpackButtonProps, 'feature'>\n children?: React.ReactNode\n}\n\nexport const TableSettingsFallback: FC<TableSettingsFallbackProps> = ({\n requiredVersion,\n feature,\n button,\n children,\n}) => {\n const { setPowerpackDialog } = usePowerpack()\n if (requiredVersion) {\n return (\n <>\n <span>{`Powerpack version ${requiredVersion} is required to use this feature.`}</span>\n <Link to={`/market?selected=powerpack`} style={{ marginLeft: '8px' }}>\n <Button variant=\"tertiary\">Install Powerpack {requiredVersion}</Button>\n </Link>\n </>\n )\n }\n\n return (\n <>\n {!!button && (\n <PowerpackButton\n style={{ width: '100%' }}\n icon={'add'}\n filled\n {...button}\n feature={feature}\n />\n )}\n {/* press anything inside children and we get powerpack popup */}\n <div onClick={() => setPowerpackDialog(feature)}>{children}</div>\n </>\n )\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;;;;;;;;;;;;;AAaO,MAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACE,QAAA,EAAE,mBAAmB,IAAI,aAAa;AAC5C,MAAI,iBAAiB;AACnB,WAEIA,kCAAA,KAAAC,4BAAA,EAAA,UAAA;AAAA,MAACC,kCAAA,IAAA,QAAA,EAAM,UAAqB,qBAAA,eAAe,qCAAoC;AAAA,MAC9EA,kCAAA,IAAA,MAAA,EAAK,IAAI,8BAA8B,OAAO,EAAE,YAAY,MAC3D,GAAA,UAAAF,uCAAC,QAAO,EAAA,SAAQ,YAAW,UAAA;AAAA,QAAA;AAAA,QAAmB;AAAA,MAAA,EAAA,CAAgB,EAChE,CAAA;AAAA,IAAA,GACF;AAAA,EAAA;AAIJ,SAEKA,kCAAA,KAAAC,4BAAA,EAAA,UAAA;AAAA,IAAA,CAAC,CAAC,UACDC,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAO,EAAE,OAAO,OAAO;AAAA,QACvB,MAAM;AAAA,QACN,QAAM;AAAA,QACL,GAAG;AAAA,QACJ;AAAA,MAAA;AAAA,IACF;AAAA,0CAGD,OAAI,EAAA,SAAS,MAAM,mBAAmB,OAAO,GAAI,SAAS,CAAA;AAAA,EAAA,GAC7D;AAEJ;"}
|
|
@@ -93,6 +93,7 @@ require("react-dom");
|
|
|
93
93
|
require("../../context/pip/PiPWrapper.cjs.js");
|
|
94
94
|
require("../../context/AddonProjectContext.cjs.js");
|
|
95
95
|
require("../../context/AddonContext.cjs.js");
|
|
96
|
+
require("../../context/PowerpackContext.cjs.js");
|
|
96
97
|
const ReviewableCard = require("../ReviewableCard/ReviewableCard.cjs.js");
|
|
97
98
|
const ReviewableProgressCard = require("../ReviewableProgressCard/ReviewableProgressCard.cjs.js");
|
|
98
99
|
require("../FileThumbnail/FileThumbnail.cjs.js");
|
|
@@ -137,6 +138,7 @@ require("../../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");
|
|
|
137
138
|
require("../../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");
|
|
138
139
|
require("../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.cjs.js");
|
|
139
140
|
require("../../containers/ProjectTreeTable/context/ProjectDataContext.cjs.js");
|
|
141
|
+
require("../../containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js");
|
|
140
142
|
require("@tanstack/react-table");
|
|
141
143
|
require("../../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");
|
|
142
144
|
require("../../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");
|
|
@@ -145,10 +147,12 @@ require("../../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");
|
|
|
145
147
|
require("../../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");
|
|
146
148
|
require("../../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");
|
|
147
149
|
require("../../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");
|
|
150
|
+
require("../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");
|
|
148
151
|
require("../../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");
|
|
149
152
|
require("../../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");
|
|
150
153
|
require("../../containers/ProjectTreeTable/components/SelectionCell.cjs.js");
|
|
151
154
|
require("../../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");
|
|
155
|
+
require("../../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");
|
|
152
156
|
require("../../containers/DetailsPanel/DetailsPanel.styled.cjs.js");
|
|
153
157
|
require("../../../../_virtual/runtime.cjs.js");
|
|
154
158
|
require("../../../../_virtual/semver.cjs.js");
|
|
@@ -171,6 +175,9 @@ require("../EntityPath/SegmentProvider.cjs.js");
|
|
|
171
175
|
require("../DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");
|
|
172
176
|
require("../Watchers/Watchers.cjs.js");
|
|
173
177
|
require("../ProjectTableSettings/ProjectTableSettings.cjs.js");
|
|
178
|
+
require("../Powerpack/PowerpackButton.cjs.js");
|
|
179
|
+
require("../Powerpack/PricingLink.cjs.js");
|
|
180
|
+
require("../Powerpack/PowerpackDialog.styled.cjs.js");
|
|
174
181
|
require("../SettingsPanel/SettingsPanel.cjs.js");
|
|
175
182
|
require("../SettingsPanel/SettingsPanelItemTemplate.cjs.js");
|
|
176
183
|
require("../AttributeEditor/components/MinMaxField.cjs.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewablesList.cjs.js","sources":["../../../../../src/components/ReviewablesList/ReviewablesList.tsx"],"sourcesContent":["import { FC, MouseEvent, useState } from 'react'\n// queries\nimport { useGetReviewablesForVersionQuery, useHasTranscoderQuery } from '@shared/api'\nimport { useDeleteReviewableMutation, useSortVersionReviewablesMutation } from '@shared/api'\n\n// DND\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n UniqueIdentifier,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\n\n// components\nimport { ReviewableCard, ReviewableProgressCard } from '@shared/components'\nimport SortableReviewableCard from './SortableReviewableCard'\nimport * as Styled from './ReviewablesList.styled'\nimport { toast } from 'react-toastify'\n\n// utils\nimport { getGroupedReviewables } from './getGroupedReviewables'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { confirmDelete } from '@shared/util'\nimport EditReviewableDialog from './EditReviewableDialog'\nimport ReviewableUpload from './ReviewablesUpload'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface ReviewablesListProps {\n projectName: string\n versionId: string\n productId: string\n isLoadingVersion: boolean\n scope: string\n}\n\nconst ReviewablesList: FC<ReviewablesListProps> = ({\n projectName,\n versionId,\n productId,\n isLoadingVersion,\n scope,\n}) => {\n const { onOpenViewer, user, viewer } = useDetailsPanelContext()\n // returns all reviewables for a product\n const {\n data: versionReviewables,\n isFetching: isFetchingReviewables,\n currentData,\n } = useGetReviewablesForVersionQuery(\n { projectName, versionId: versionId },\n { skip: !versionId || !projectName },\n )\n\n // do we have the premium transcoder?\n const { data: hasTranscoder } = useHasTranscoderQuery(undefined)\n\n // are we currently looking at review? (is it selected in the viewer)\n const reviewableIds = viewer?.reviewableIds || []\n const userName = user.name\n const currentIsUser = user.data?.isUser\n\n // either null or the reviewable id we are editing\n const [editActivityId, setEditActivityId] = useState<null | string>(null)\n\n // dragging activeId\n const [activeId, setActiveId] = useState<null | string>(null)\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const reviewables = versionReviewables?.reviewables || []\n const draggingReview = reviewables.find((reviewable) => reviewable.fileId === activeId)\n\n const currentVersionId = currentData?.id\n const queryingNewVersion = versionId !== currentVersionId\n\n const isLoading = (isFetchingReviewables && queryingNewVersion) || isLoadingVersion\n\n const handleReviewableClick = (event: MouseEvent<HTMLDivElement>) => {\n // check are not dragging\n if (activeId) return console.log('Dragging, cannot open review')\n\n // get the reviewable id\n const id = event.currentTarget.id\n if (!id || !productId) return console.error('No reviewable id or product id')\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n console.debug(reviewable)\n console.debug(reviewable?.mediaInfo)\n\n // open the reviewable dialog\n onOpenViewer?.({\n projectName: projectName,\n productId: productId,\n versionIds: [versionId],\n reviewableIds: [id],\n })\n }\n\n const { optimized, unoptimized, incompatible, processing, queued } = getGroupedReviewables(\n reviewables,\n hasTranscoder,\n )\n\n const sortableReviewables = [...optimized, ...unoptimized]\n\n function handleDragStart(event: DragStartEvent) {\n const { active } = event\n\n setActiveId(active.id as string)\n }\n\n const [sortVersionReviewables] = useSortVersionReviewablesMutation()\n\n const handleDragEnd = async (event: DragEndEvent) => {\n const { active, over } = event\n\n if (over?.id && active.id !== over.id) {\n console.log('update review position')\n\n const oldIndex = sortableReviewables.findIndex(\n (reviewable) => reviewable.fileId === active.id,\n )\n const newIndex = sortableReviewables.findIndex((reviewable) => reviewable.fileId === over.id)\n\n // resort the reviewables\n const newReviewables = arrayMove(sortableReviewables, oldIndex, newIndex)\n\n const newOrder = newReviewables.map((reviewable) => reviewable.activityId)\n\n try {\n // update the reviewables\n sortVersionReviewables({\n projectName,\n versionId,\n sortReviewablesRequest: { sort: newOrder },\n }).unwrap()\n } catch (error) {\n toast.error('Error sorting reviewables')\n }\n }\n setActiveId(null)\n }\n\n const overlayModifiers = []\n // hack to make the dnd overlay pos work inside dialog\n if (scope === 'review') {\n overlayModifiers.push((args: any) => ({\n ...args.transform,\n x: args.transform.x - 32,\n y: args.transform.y - 32,\n }))\n }\n\n let incompatibleMessage = ''\n if (!hasTranscoder) {\n incompatibleMessage = `The conversion transcoder is only supported on [**Ynput Cloud**](https://ynput.cloud/subscribe/ayon). Please subscribe or [contact support](https://ynput.io/services/) for more information.`\n } else {\n incompatibleMessage = 'The file is not supported by the transcoder'\n }\n\n const handleDownloadFile = (fileId: string, fileName: string = '') => {\n let url = `/api/projects/${projectName}/files/${fileId}`\n\n // if (codec) url += `.${codec}`\n\n // Create an invisible anchor element\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n\n // Trigger a click event on the anchor element\n a.click()\n\n // Remove the anchor element from the document\n document.body.removeChild(a)\n }\n\n const [deleteReviewable] = useDeleteReviewableMutation()\n\n const handleDelete = async (activityId: string, label: string) => {\n // @ts-ignore\n confirmDelete({\n header: 'Delete ' + label,\n message: 'Are you sure you want to delete this reviewable?',\n accept: async () => {\n try {\n await deleteReviewable({ activityId, projectName }).unwrap()\n } catch (error) {\n toast.error('Failed to delete reviewable')\n }\n },\n })\n }\n\n // create the ref and model\n const [ctxMenuShow] = useCreateContextMenu()\n\n const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {\n // get the reviewable by id\n const id = event.currentTarget.id\n\n if (!id) return\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n\n if (!reviewable) return\n\n const originalFileId = reviewable.createdFrom || reviewable.fileId\n const originalReviewable = reviewables.find(\n (reviewable) => reviewable.fileId === originalFileId,\n )\n\n const items: {\n label: string\n icon: string\n onClick?: () => void\n disabled?: boolean\n danger?: boolean\n }[] = [\n {\n label: 'Download original',\n icon: 'download',\n onClick: () => handleDownloadFile(originalFileId, originalReviewable?.filename),\n disabled: !originalReviewable,\n },\n ]\n\n if (userName === reviewable.author.name || !currentIsUser) {\n items.push({\n label: 'Delete',\n icon: 'delete',\n onClick: () => handleDelete(reviewable.activityId, reviewable.label || reviewable.filename),\n danger: true,\n })\n }\n\n // add author\n items.push({\n label: `Author: ${reviewable.author.fullName || reviewable.author.name}`,\n icon: 'person',\n disabled: true,\n })\n\n ctxMenuShow(event, items)\n }\n\n return (\n <>\n <ReviewableUpload projectName={projectName} versionId={versionId} productId={productId}>\n {isLoading ? (\n Array.from({ length: 3 }).map((_, index) => (\n <Styled.LoadingCard key={index} className=\"loading\" />\n ))\n ) : (\n <>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext\n items={reviewables.map(({ fileId }) => fileId as UniqueIdentifier)}\n strategy={verticalListSortingStrategy}\n >\n {sortableReviewables.map((reviewable) => (\n <SortableReviewableCard\n key={reviewable.fileId}\n projectName={projectName}\n onClick={handleReviewableClick}\n isSelected={reviewableIds.includes(reviewable.fileId)}\n isDragging={!!activeId}\n onContextMenu={handleContextMenu}\n onEdit={(e) => {\n e.stopPropagation()\n setEditActivityId(reviewable.activityId)\n }}\n {...reviewable}\n />\n ))}\n </SortableContext>\n\n {/* drag overlay */}\n <DragOverlay modifiers={overlayModifiers}>\n {draggingReview ? (\n <ReviewableCard\n {...draggingReview}\n projectName={projectName}\n isDragOverlay\n isDragging\n isSelected={reviewableIds.includes(draggingReview.fileId)}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n {processing.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'processing'}\n progress={reviewable.processing?.progress}\n fileId={reviewable.fileId}\n />\n ))}\n\n {queued.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'queued'}\n fileId={reviewable.fileId}\n />\n ))}\n\n {incompatible.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'unsupported'}\n tooltip={incompatibleMessage}\n src={`/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`}\n onContextMenu={handleContextMenu}\n fileId={reviewable.fileId}\n />\n ))}\n </>\n )}\n </ReviewableUpload>\n\n {editActivityId && (\n <EditReviewableDialog\n isOpen\n onClose={() => setEditActivityId(null)}\n label={\n reviewables.find((reviewable) => reviewable.activityId === editActivityId)?.label || ''\n }\n projectName={projectName}\n versionId={versionId}\n activityId={editActivityId}\n />\n )}\n </>\n )\n}\n\nexport default ReviewablesList\n"],"names":["useDetailsPanelContext","useGetReviewablesForVersionQuery","useHasTranscoderQuery","useState","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","reviewable","getGroupedReviewables","useSortVersionReviewablesMutation","arrayMove","toast","useDeleteReviewableMutation","confirmDelete","useCreateContextMenu","jsxs","Fragment","jsx","ReviewableUpload","Styled.LoadingCard","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","DragOverlay","ReviewableCard","ReviewableProgressCard","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReviewablesList.cjs.js","sources":["../../../../../src/components/ReviewablesList/ReviewablesList.tsx"],"sourcesContent":["import { FC, MouseEvent, useState } from 'react'\n// queries\nimport { useGetReviewablesForVersionQuery, useHasTranscoderQuery } from '@shared/api'\nimport { useDeleteReviewableMutation, useSortVersionReviewablesMutation } from '@shared/api'\n\n// DND\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n UniqueIdentifier,\n DragEndEvent,\n DragOverlay,\n DragStartEvent,\n} from '@dnd-kit/core'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\n\n// components\nimport { ReviewableCard, ReviewableProgressCard } from '@shared/components'\nimport SortableReviewableCard from './SortableReviewableCard'\nimport * as Styled from './ReviewablesList.styled'\nimport { toast } from 'react-toastify'\n\n// utils\nimport { getGroupedReviewables } from './getGroupedReviewables'\nimport { useCreateContextMenu } from '@shared/containers/ContextMenu'\nimport { confirmDelete } from '@shared/util'\nimport EditReviewableDialog from './EditReviewableDialog'\nimport ReviewableUpload from './ReviewablesUpload'\nimport { useDetailsPanelContext } from '@shared/context'\n\ninterface ReviewablesListProps {\n projectName: string\n versionId: string\n productId: string\n isLoadingVersion: boolean\n scope: string\n}\n\nconst ReviewablesList: FC<ReviewablesListProps> = ({\n projectName,\n versionId,\n productId,\n isLoadingVersion,\n scope,\n}) => {\n const { onOpenViewer, user, viewer } = useDetailsPanelContext()\n // returns all reviewables for a product\n const {\n data: versionReviewables,\n isFetching: isFetchingReviewables,\n currentData,\n } = useGetReviewablesForVersionQuery(\n { projectName, versionId: versionId },\n { skip: !versionId || !projectName },\n )\n\n // do we have the premium transcoder?\n const { data: hasTranscoder } = useHasTranscoderQuery(undefined)\n\n // are we currently looking at review? (is it selected in the viewer)\n const reviewableIds = viewer?.reviewableIds || []\n const userName = user.name\n const currentIsUser = user.data?.isUser\n\n // either null or the reviewable id we are editing\n const [editActivityId, setEditActivityId] = useState<null | string>(null)\n\n // dragging activeId\n const [activeId, setActiveId] = useState<null | string>(null)\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n )\n\n const reviewables = versionReviewables?.reviewables || []\n const draggingReview = reviewables.find((reviewable) => reviewable.fileId === activeId)\n\n const currentVersionId = currentData?.id\n const queryingNewVersion = versionId !== currentVersionId\n\n const isLoading = (isFetchingReviewables && queryingNewVersion) || isLoadingVersion\n\n const handleReviewableClick = (event: MouseEvent<HTMLDivElement>) => {\n // check are not dragging\n if (activeId) return console.log('Dragging, cannot open review')\n\n // get the reviewable id\n const id = event.currentTarget.id\n if (!id || !productId) return console.error('No reviewable id or product id')\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n console.debug(reviewable)\n console.debug(reviewable?.mediaInfo)\n\n // open the reviewable dialog\n onOpenViewer?.({\n projectName: projectName,\n productId: productId,\n versionIds: [versionId],\n reviewableIds: [id],\n })\n }\n\n const { optimized, unoptimized, incompatible, processing, queued } = getGroupedReviewables(\n reviewables,\n hasTranscoder,\n )\n\n const sortableReviewables = [...optimized, ...unoptimized]\n\n function handleDragStart(event: DragStartEvent) {\n const { active } = event\n\n setActiveId(active.id as string)\n }\n\n const [sortVersionReviewables] = useSortVersionReviewablesMutation()\n\n const handleDragEnd = async (event: DragEndEvent) => {\n const { active, over } = event\n\n if (over?.id && active.id !== over.id) {\n console.log('update review position')\n\n const oldIndex = sortableReviewables.findIndex(\n (reviewable) => reviewable.fileId === active.id,\n )\n const newIndex = sortableReviewables.findIndex((reviewable) => reviewable.fileId === over.id)\n\n // resort the reviewables\n const newReviewables = arrayMove(sortableReviewables, oldIndex, newIndex)\n\n const newOrder = newReviewables.map((reviewable) => reviewable.activityId)\n\n try {\n // update the reviewables\n sortVersionReviewables({\n projectName,\n versionId,\n sortReviewablesRequest: { sort: newOrder },\n }).unwrap()\n } catch (error) {\n toast.error('Error sorting reviewables')\n }\n }\n setActiveId(null)\n }\n\n const overlayModifiers = []\n // hack to make the dnd overlay pos work inside dialog\n if (scope === 'review') {\n overlayModifiers.push((args: any) => ({\n ...args.transform,\n x: args.transform.x - 32,\n y: args.transform.y - 32,\n }))\n }\n\n let incompatibleMessage = ''\n if (!hasTranscoder) {\n incompatibleMessage = `The conversion transcoder is only supported on [**Ynput Cloud**](https://ynput.cloud/subscribe/ayon). Please subscribe or [contact support](https://ynput.io/services/) for more information.`\n } else {\n incompatibleMessage = 'The file is not supported by the transcoder'\n }\n\n const handleDownloadFile = (fileId: string, fileName: string = '') => {\n let url = `/api/projects/${projectName}/files/${fileId}`\n\n // if (codec) url += `.${codec}`\n\n // Create an invisible anchor element\n const a = document.createElement('a')\n a.href = url\n a.download = fileName\n document.body.appendChild(a)\n\n // Trigger a click event on the anchor element\n a.click()\n\n // Remove the anchor element from the document\n document.body.removeChild(a)\n }\n\n const [deleteReviewable] = useDeleteReviewableMutation()\n\n const handleDelete = async (activityId: string, label: string) => {\n // @ts-ignore\n confirmDelete({\n header: 'Delete ' + label,\n message: 'Are you sure you want to delete this reviewable?',\n accept: async () => {\n try {\n await deleteReviewable({ activityId, projectName }).unwrap()\n } catch (error) {\n toast.error('Failed to delete reviewable')\n }\n },\n })\n }\n\n // create the ref and model\n const [ctxMenuShow] = useCreateContextMenu()\n\n const handleContextMenu = (event: MouseEvent<HTMLDivElement>) => {\n // get the reviewable by id\n const id = event.currentTarget.id\n\n if (!id) return\n\n const reviewable = reviewables.find((reviewable) => reviewable.fileId === id)\n\n if (!reviewable) return\n\n const originalFileId = reviewable.createdFrom || reviewable.fileId\n const originalReviewable = reviewables.find(\n (reviewable) => reviewable.fileId === originalFileId,\n )\n\n const items: {\n label: string\n icon: string\n onClick?: () => void\n disabled?: boolean\n danger?: boolean\n }[] = [\n {\n label: 'Download original',\n icon: 'download',\n onClick: () => handleDownloadFile(originalFileId, originalReviewable?.filename),\n disabled: !originalReviewable,\n },\n ]\n\n if (userName === reviewable.author.name || !currentIsUser) {\n items.push({\n label: 'Delete',\n icon: 'delete',\n onClick: () => handleDelete(reviewable.activityId, reviewable.label || reviewable.filename),\n danger: true,\n })\n }\n\n // add author\n items.push({\n label: `Author: ${reviewable.author.fullName || reviewable.author.name}`,\n icon: 'person',\n disabled: true,\n })\n\n ctxMenuShow(event, items)\n }\n\n return (\n <>\n <ReviewableUpload projectName={projectName} versionId={versionId} productId={productId}>\n {isLoading ? (\n Array.from({ length: 3 }).map((_, index) => (\n <Styled.LoadingCard key={index} className=\"loading\" />\n ))\n ) : (\n <>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={() => setActiveId(null)}\n >\n <SortableContext\n items={reviewables.map(({ fileId }) => fileId as UniqueIdentifier)}\n strategy={verticalListSortingStrategy}\n >\n {sortableReviewables.map((reviewable) => (\n <SortableReviewableCard\n key={reviewable.fileId}\n projectName={projectName}\n onClick={handleReviewableClick}\n isSelected={reviewableIds.includes(reviewable.fileId)}\n isDragging={!!activeId}\n onContextMenu={handleContextMenu}\n onEdit={(e) => {\n e.stopPropagation()\n setEditActivityId(reviewable.activityId)\n }}\n {...reviewable}\n />\n ))}\n </SortableContext>\n\n {/* drag overlay */}\n <DragOverlay modifiers={overlayModifiers}>\n {draggingReview ? (\n <ReviewableCard\n {...draggingReview}\n projectName={projectName}\n isDragOverlay\n isDragging\n isSelected={reviewableIds.includes(draggingReview.fileId)}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\n {processing.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'processing'}\n progress={reviewable.processing?.progress}\n fileId={reviewable.fileId}\n />\n ))}\n\n {queued.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'queued'}\n fileId={reviewable.fileId}\n />\n ))}\n\n {incompatible.map((reviewable) => (\n <ReviewableProgressCard\n key={reviewable.fileId}\n name={reviewable.filename}\n type={'unsupported'}\n tooltip={incompatibleMessage}\n src={`/api/projects/${projectName}/files/${reviewable.fileId}/thumbnail`}\n onContextMenu={handleContextMenu}\n fileId={reviewable.fileId}\n />\n ))}\n </>\n )}\n </ReviewableUpload>\n\n {editActivityId && (\n <EditReviewableDialog\n isOpen\n onClose={() => setEditActivityId(null)}\n label={\n reviewables.find((reviewable) => reviewable.activityId === editActivityId)?.label || ''\n }\n projectName={projectName}\n versionId={versionId}\n activityId={editActivityId}\n />\n )}\n </>\n )\n}\n\nexport default ReviewablesList\n"],"names":["useDetailsPanelContext","useGetReviewablesForVersionQuery","useHasTranscoderQuery","useState","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","reviewable","getGroupedReviewables","useSortVersionReviewablesMutation","arrayMove","toast","useDeleteReviewableMutation","confirmDelete","useCreateContextMenu","jsxs","Fragment","jsx","ReviewableUpload","Styled.LoadingCard","DndContext","closestCenter","SortableContext","verticalListSortingStrategy","DragOverlay","ReviewableCard","ReviewableProgressCard","_a"],"mappings":"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"}
|
|
@@ -92,6 +92,7 @@ import "react-dom";
|
|
|
92
92
|
import "../../context/pip/PiPWrapper.es.js";
|
|
93
93
|
import "../../context/AddonProjectContext.es.js";
|
|
94
94
|
import "../../context/AddonContext.es.js";
|
|
95
|
+
import "../../context/PowerpackContext.es.js";
|
|
95
96
|
import { ReviewableCard } from "../ReviewableCard/ReviewableCard.es.js";
|
|
96
97
|
import { ReviewableProgressCard } from "../ReviewableProgressCard/ReviewableProgressCard.es.js";
|
|
97
98
|
import "../FileThumbnail/FileThumbnail.es.js";
|
|
@@ -136,6 +137,7 @@ import "../../containers/ProjectTreeTable/context/CellEditingContext.es.js";
|
|
|
136
137
|
import "../../containers/ProjectTreeTable/context/ClipboardContext.es.js";
|
|
137
138
|
import "../../containers/ProjectTreeTable/context/ProjectTableSelectionContext.es.js";
|
|
138
139
|
import "../../containers/ProjectTreeTable/context/ProjectDataContext.es.js";
|
|
140
|
+
import "../../containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js";
|
|
139
141
|
import "@tanstack/react-table";
|
|
140
142
|
import "../../containers/ProjectTreeTable/widgets/CollapsedWidget.es.js";
|
|
141
143
|
import "../../containers/ProjectTreeTable/widgets/DateWidget.es.js";
|
|
@@ -144,10 +146,12 @@ import "../../containers/ProjectTreeTable/widgets/TextWidget.es.js";
|
|
|
144
146
|
import "../../containers/ProjectTreeTable/widgets/BooleanWidget.es.js";
|
|
145
147
|
import "../../containers/ProjectTreeTable/widgets/CellWidget.es.js";
|
|
146
148
|
import "../../containers/ProjectTreeTable/widgets/EntityNameWidget.es.js";
|
|
149
|
+
import "../../containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
|
|
147
150
|
import "../../containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js";
|
|
148
151
|
import "../../containers/ProjectTreeTable/ProjectTreeTable.styled.es.js";
|
|
149
152
|
import "../../containers/ProjectTreeTable/components/SelectionCell.es.js";
|
|
150
153
|
import "../../containers/ProjectTreeTable/components/RowSelectionHeader.es.js";
|
|
154
|
+
import "../../containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js";
|
|
151
155
|
import "../../containers/DetailsPanel/DetailsPanel.styled.es.js";
|
|
152
156
|
import "../../../../_virtual/runtime.es.js";
|
|
153
157
|
import "../../../../_virtual/semver.es.js";
|
|
@@ -170,6 +174,9 @@ import "../EntityPath/SegmentProvider.es.js";
|
|
|
170
174
|
import "../DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
|
|
171
175
|
import "../Watchers/Watchers.es.js";
|
|
172
176
|
import "../ProjectTableSettings/ProjectTableSettings.es.js";
|
|
177
|
+
import "../Powerpack/PowerpackButton.es.js";
|
|
178
|
+
import "../Powerpack/PricingLink.es.js";
|
|
179
|
+
import "../Powerpack/PowerpackDialog.styled.es.js";
|
|
173
180
|
import "../SettingsPanel/SettingsPanel.es.js";
|
|
174
181
|
import "../SettingsPanel/SettingsPanelItemTemplate.es.js";
|
|
175
182
|
import "../AttributeEditor/components/MinMaxField.es.js";
|